SonarQube Community to Developer Update: Issue with "duplicate key value violates unique constraint"

  • Current Version: Community Build v25.8.0.112029
  • Update Version: Developer 2025.5.0.113872
  • Scanner-Plugin: sonar-maven-plugin Version 7.3.0.5189
  • Deploy Stack: Docker
  • Database: Postgres 13.x

Hello Sonar Community,

I recently upgraded from Sonar Community Version “Community Build v25.8.0.112029” to “Developer 2025.5.0.113872”. We are using the sonar-maven-plugin in Version 7.3.0.5189. The upgrade itself completed without issues. I am using the following guide: Pre-update steps | SonarQube Server | Sonar Documentation. However, when Jenkins attempts to submit results, I encounter this error in the Sonar log:

2025.09.18 12:50:29 ERROR web[457a8a5b-8bda-4d6d-982d-41f6f12b99ef][o.s.s.w.WebServiceEngine] Fail to process request http://sonar-url/api/ce/submit?projectKey=xxxx%3Atest-result-listener&projectName=test-result-listener&characteristic=branch%3Ddevelop&characteristic=branchType%3DBRANCH
org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "idx_16621_projects_kee"
  Detail: Key (kee)=(xxxx:test-result-listener) already exists.
### The error may exist in org.sonar.db.component.ComponentMapper
### The error may involve org.sonar.db.component.ComponentMapper.insert-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO components (       kee,       uuid,       uuid_path,       branch_uuid,       name,       long_name,       qualifier,       scope,       language,       description,       private,       path,       copy_component_uuid,       enabled,       created_at,       b_changed,       deprecated_kee,       b_copy_component_uuid,       b_description,       b_enabled,       b_language,       b_long_name,       b_name,       b_path,       b_qualifier     )     VALUES (     ?,     ?,     ?,     ?,     ?,     ?,     ?,     ?,     ?,     ?,     ?,     ?,     ?,     ?,     ?,     false,     null,     null,     null,     false,     null,     null,     null,     null,     null     )
### Cause: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "idx_16621_projects_kee"
  Detail: Key (kee)=(xxxx:test-result-listener) already exists.
	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.$Proxy173.insert(Unknown Source)
	at org.sonar.db.component.ComponentDao.insert(ComponentDao.java:302)
	at com.sonarsource.h.I.createBranchComponent(Unknown Source)
	at org.sonar.server.ce.queue.BranchSupport.createBranchComponent(BranchSupport.java:65)
	at org.sonar.server.ce.queue.ReportSubmitter.lambda$submit$1(ReportSubmitter.java:110)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at org.sonar.server.ce.queue.ReportSubmitter.submit(ReportSubmitter.java:110)
	at org.sonar.server.ce.ws.SubmitAction.handle(SubmitAction.java:106)
	at org.sonar.server.ws.WebServiceEngine.execute(WebServiceEngine.java:114)
	at org.sonar.server.platform.web.WebServiceFilter.doFilter(WebServiceFilter.java:84)
	at org.sonar.server.platform.web.MasterServletFilter$JavaxFilterAdapter.doFilter(MasterServletFilter.java:194)
	at org.sonar.server.platform.web.MasterServletFilter$GodFilterChain.doFilter(MasterServletFilter.java:165)
	at org.sonar.server.platform.web.MasterServletFilter$HttpFilterChainAdapter.doFilter(MasterServletFilter.java:208)
	at org.sonar.server.platform.web.SonarQubeIdeConnectionFilter.doFilter(SonarQubeIdeConnectionFilter.java:62)
	at org.sonar.server.platform.web.MasterServletFilter$JavaxFilterAdapter.doFilter(MasterServletFilter.java:194)
	at org.sonar.server.platform.web.MasterServletFilter$GodFilterChain.doFilter(MasterServletFilter.java:165)
	at org.sonar.server.platform.web.MasterServletFilter.doFilter(MasterServletFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.sonar.server.platform.web.UserSessionFilter.doFilter(UserSessionFilter.java:83)
	at org.sonar.server.platform.web.UserSessionFilter.doFilter(UserSessionFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.sonar.server.platform.web.CspFilter.doFilter(CspFilter.java:67)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.sonar.server.platform.web.CacheControlFilter.doFilter(CacheControlFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.sonar.server.platform.web.SecurityServletFilter.doHttpFilter(SecurityServletFilter.java:60)
	at org.sonar.server.platform.web.SecurityServletFilter.doFilter(SecurityServletFilter.java:47)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.sonar.server.platform.web.RedirectFilter.doFilter(RedirectFilter.java:56)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.sonar.server.platform.web.EndpointPathFilter.doFilter(EndpointPathFilter.java:47)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.sonar.server.platform.web.RequestIdFilter.doFilter(RequestIdFilter.java:66)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.sonar.server.platform.web.RootFilter.doFilter(RootFilter.java:65)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:115)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:79)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)
	at ch.qos.logback.access.tomcat.LogbackValve.invoke(LogbackValve.java:268)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:396)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1773)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:59)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "idx_16621_projects_kee"
  Detail: Key (kee)=(xxxx:test-result-listener) already exists.
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2734)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2421)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:518)
	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:435)
	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:196)
	at org.postgresql.jdbc.PgPreparedStatement.execute(PgPreparedStatement.java:182)
	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)
	... 59 common frames omitted

Hi,

Welcome to the community and thanks for this report!

Are you seeing this for multiple projects, or just the one? And I suppose this is your first analysis of this particular project post-upgrade?

 
Thx,
Ann

Hi and thanks for the reply.

Yes, the error occurs for all projects analyzed after the upgrade with the Developer version. Even deleting projects via the GUI still triggers the error.

Hi,

Since technically only the latest version of Community Build is supported, could I get you to bump to 25.11 and see if that fixes it? If not, I’ll flag this for the team.

 
Ann

Hi, can I upgrade from 25.11.0.114957-community to 2025.5.0-developer, or do I have to wait for the next release of the developer version?

Hi,

25.11 was released after 2025.5, so you’ll need to wait. 2025.6 should be out in early December.

 
HTH,
Ann

Hi, thanks for letting us know. We will try the update again as soon as the new developer version is released.

1 Like