CE fails to insert data to issue_stats_by_rule_key table after upgrade to v2026.1

Issue Summary

After upgrading from Enterprise Edition v2025.5 (113872) to Enterprise Edition v2026.1 (119033) we noticed issue with CE inserting data to database.

Environment Details

  • Platform: OpenShift

  • Database: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.24.0.0.0

  • OJDBC Driver: ojdbc17-23.26.1.0.0 (previously ojdbc11 23.3.0.23.09)

Observations

The database migration during the upgrade was successful. However, error appeared after CE started and app was up:

2026.02.12 08:09:19 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
2026.02.12 08:09:19 INFO  app[][o.s.a.SchedulerImpl] SonarQube is operational

Simillar issue related same table, however it was on database migrations and was fixed:

Error Details

Syntax error:

2026.02.12 08:14:31 WARN  ce[f95a31c1-6777-4278-b780-89e8a859b37d][o.s.s.i.IssueStatsIndexer] Error ingesting issues for compliance reports
org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended

https://docs.oracle.com/error-help/db/ora-00933/
### The error may exist in org.sonar.db.report.IssueStatsByRuleKeyMapper
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: insert into issue_stats_by_rule_key (       aggregation_id,       aggregation_type,       rule_key,       issue_count,       rating,       mqr_rating,       hotspot_count,       hotspots_reviewed     ) values (                  ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?        ), (          ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?             )
### Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended

https://docs.oracle.com/error-help/db/ora-00933/
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:199)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
	at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
	at jdk.proxy2/jdk.proxy2.$Proxy102.insertIssueStats(Unknown Source)
	at org.sonar.db.report.IssueStatsByRuleKeyDaoImpl.deleteAndInsertIssueStats(IssueStatsByRuleKeyDaoImpl.java:58)
	at org.sonarsource.compliancereports.ingestion.IssueIngestionService.ingest(IssueIngestionService.java:47)
	at org.sonar.server.issue.IssueStatsIndexer.ingestForSingleBranch(IssueStatsIndexer.java:103)
	at org.sonar.server.issue.IssueStatsIndexer.indexOnAnalysis(IssueStatsIndexer.java:67)
	at org.sonar.ce.task.projectanalysis.step.IndexAnalysisStep.execute(IndexAnalysisStep.java:60)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeStep(ComputationStepExecutor.java:90)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:81)
	at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:68)
	at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:75)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:212)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:194)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:160)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:135)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:87)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:53)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:128)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended

https://docs.oracle.com/error-help/db/ora-00933/
	at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:718)
	at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:618)
	at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1372)
	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:975)
	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)
	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:524)
	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:298)
	at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1510)
	at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:2021)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1634)
	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3973)
	at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4447)
	at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4433)
	at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1032)
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75)
	at org.apache.ibatis.executor.ReuseExecutor.doUpdate(ReuseExecutor.java:52)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
	... 29 common frames omitted
Caused by: Error : 933, Position : 323, SQL = insert into issue_stats_by_rule_key (
      aggregation_id,
      aggregation_type,
      rule_key,
      issue_count,
      rating,
      mqr_rating,
      hotspot_count,
      hotspots_reviewed
    ) values (
        
        :1 ,
        :2 ,
        :3 ,
        :4 ,
        :5 ,
        :6 ,
        :7 ,
        :8 ), ( 
        :9 ,
        :10 ,
        :11 ,
        :12 ,
        :13 ,
        :14 ,
        :15 ,
        :16 ), ( 
        :17 ,
        :18 ,
        :19 ,
        :20 ,
        :21 ,
        :22 ,
        :23 ,
        :24 ), ( 
        :25 ,
        :26 ,
        :27 ,
        :28 ,
        :29 ,
        :30 ,
        :31 ,
        :32 ), ( 
        :33 ,
        :34 ,
        :35 ,
        :36 ,
        :37 ,
        :38 ,
        :39 ,
        :40 ), ( 
        :41 ,
        :42 ,
        :43 ,
        :44 ,
        :45 ,
        :46 ,
        :47 ,
        :48 ), ( 
        :49 ,
        :50 ,
        :51 ,
        :52 ,
        :53 ,
        :54 ,
        :55 ,
        :56 ), ( 
        :57 ,
        :58 ,
        :59 ,
        :60 ,
        :61 ,
        :62 ,
        :63 ,
        :64 ), ( 
        :65 ,
        :66 ,
        :67 ,
        :68 ,
        :69 ,
        :70 ,
        :71 ,
        :72 ), ( 
        :73 ,
        :74 ,
        :75 ,
        :76 ,
        :77 ,
        :78 ,
        :79 ,
        :80 ), ( 
        :81 ,
        :82 ,
        :83 ,
        :84 ,
        :85 ,
        :86 ,
        :87 ,
        :88 ), ( 
        :89 ,
        :90 ,
        :91 ,
        :92 ,
        :93 ,
        :94 ,
        :95 ,
        :96 ), ( 
        :97 ,
        :98 ,
        :99 ,
        :100 ,
        :101 ,
        :102 ,
        :103 ,
        :104 ), ( 
        :105 ,
        :106 ,
        :107 ,
        :108 ,
        :109 ,
        :110 ,
        :111 ,
        :112 ), ( 
        :113 ,
        :114 ,
        :115 ,
        :116 ,
        :117 ,
        :118 ,
        :119 ,
        :120 ), ( 
        :121 ,
        :122 ,
        :123 ,
        :124 ,
        :125 ,
        :126 ,
        :127 ,
        :128 ), ( 
        :129 ,
        :130 ,
        :131 ,
        :132 ,
        :133 ,
        :134 ,
        :135 ,
        :136 ), ( 
        :137 ,
        :138 ,
        :139 ,
        :140 ,
        :141 ,
        :142 ,
        :143 ,
        :144 ), ( 
        :145 ,
        :146 ,
        :147 ,
        :148 ,
        :149 ,
        :150 ,
        :151 ,
        :152 ), ( 
        :153 ,
        :154 ,
        :155 ,
        :156 ,
        :157 ,
        :158 ,
        :159 ,
        :160 ), ( 
        :161 ,
        :162 ,
        :163 ,
        :164 ,
        :165 ,
        :166 ,
        :167 ,
        :168 ), ( 
        :169 ,
        :170 ,
        :171 ,
        :172 ,
        :173 ,
        :174 ,
        :175 ,
        :176 ), Original SQL = insert into issue_stats_by_rule_key (
      aggregation_id,
      aggregation_type,
      rule_key,
      issue_count,
      rating,
      mqr_rating,
      hotspot_count,
      hotspots_reviewed
    ) values (
        
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       ), ( 
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
       
    ), Error Message = ORA-00933: SQL command not properly ended

	at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:726)
	... 50 common frames omitted

Request for Support

  • Has anyone else experienced similar issue?

  • Would love some insights of what this missing insert might impact if upgraded to production?

Hi @Tadas_Butkevicius ,

Thank you so much for reporting this bug and also linking the related post.

We are taking a close look at this issue.

Here’s the Jira ticket to track this issue:

Best,
Alex

We are seeing the same after upgrading from 24.12 to 26.1. Same version of Oracle and ojdbc driver.

Hi @May,

Skip to 2026.1.

 
HTH,
Ann

Thank you @ganncamp. We are heading into a couple of weeks when it will be very difficult to get any downtime approved. Do you know if this issue affects anything other than the compliance reports?

Regards, May

Hi May,

I don’t know off-hand.

 
Ann