Issue upgrading to 2025.1 from previous 9.9 LTA

Must-share information (formatted with Markdown):

  • which versions are you using Developer editions SonarQube Server 9.9 LTA (previous), 2025.1 LTA (upgrading to)
  • how is SonarQube deployed: zip
  • Upgrade from previous LTA

I tried upgrading the sonarqube server from the previous LTA to the latest and encountered an issue in the upgrade process during the database migration step. I get a fail: Fail to execute CREATE UNIQUE INDEX uniq_scim_group_uuid ON scim_groups (group_uuid). After checking the database the scim_groups table does not exist. Logs are below

2025.01.27 12:10:06 INFO  web[][o.s.s.p.Platform] Database needs to be migrated. Please refer to https://docs.sonarsource.com/sonarqube-server/2025.1/server-upgrade-and-maintenance/upgrade/upgrade-the-server/roadmap
2025.01.27 12:10:06 INFO  web[][o.s.s.p.w.MasterServletFilter] Initializing servlet filter org.sonar.server.platform.web.WebServiceFilter@1aac0a47 [pattern=UrlPattern{inclusions=[/api/system/migrate_db.*, ...], exclusions=[/api/components/update_key, ...]}]
2025.01.27 12:10:08 DEBUG web[][_.s.w.s.H.Mappings] \n	o.s.w.a.MultipleOpenApiWebMvcResource:\n	{GET [/api-docs.yaml/{group}], produces [application/vnd.oai.openapi]}: openapiYaml(HttpServletRequest,String,String,Locale)\n	{GET [/api-docs/{group}], produces [application/json]}: openapiJson(HttpServletRequest,String,String,Locale)
2025.01.27 12:10:08 DEBUG web[][_.s.w.s.H.Mappings] \n	o.s.w.a.OpenApiWebMvcResource:\n	{GET [/api-docs.yaml], produces [application/vnd.oai.openapi]}: openapiYaml(HttpServletRequest,String,Locale)\n	{GET [/api-docs], produces [application/json]}: openapiJson(HttpServletRequest,String,Locale)
2025.01.27 12:10:08 DEBUG web[][_.s.w.s.H.Mappings] \n	o.s.s.v.a.s.c.LivenessController:\n	{GET [/system/liveness]}: livenessCheck(String)
2025.01.27 12:10:08 DEBUG web[][_.s.w.s.H.Mappings] \n	o.s.s.v.a.s.c.HealthController:\n	{GET [/system/health]}: getHealth(String)
2025.01.27 12:10:08 DEBUG web[][_.s.w.s.H.Mappings] \n	o.s.s.v.a.s.c.DatabaseMigrationsController:\n	{GET [/system/migrations-status]}: getStatus()
2025.01.27 12:10:08 DEBUG web[][_.s.w.s.H.Mappings] 'beanNameHandlerMapping' {}
2025.01.27 12:10:08 DEBUG web[][org.jboss.logging] Logging Provider: org.jboss.logging.Log4j2LoggerProvider
2025.01.27 12:10:08 INFO  web[][o.h.v.i.util.Version] HV000001: Hibernate Validator null
2025.01.27 12:10:08 DEBUG web[][o.h.v.m.ResourceBundleMessageInterpolator] Failed to load expression factory via classloader ParallelWebappClassLoader\r\n  context: ROOT\r\n  delegate: true\r\n----------> Parent Classloader:\r\njdk.internal.loader.ClassLoaders$AppClassLoader@659e0bfd\r\n
java.lang.NoClassDefFoundError: jakarta/el/ExpressionFactory
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.canLoadExpressionFactory(ResourceBundleMessageInterpolator.java:228)
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:173)
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:97)
	at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.getDefaultMessageInterpolator(AbstractConfigurationImpl.java:575)
	at org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:286)
	at org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean.afterPropertiesSet(OptionalValidatorFactoryBean.java:40)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:289)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1631)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1519)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1357)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1187)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:289)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1122)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1093)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1030)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
	at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:706)
	at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:583)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:537)
	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:169)
	at jakarta.servlet.GenericServlet.init(GenericServlet.java:143)
	at jakarta.servlet.http.HttpServlet.init(HttpServlet.java:121)
	at org.sonar.server.platform.web.ApiV2Servlet.init(ApiV2Servlet.java:75)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:837)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:701)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4183)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4470)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:870)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437)
	at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:72)
	at org.sonar.server.app.WebServer.start(WebServer.java:54)
	at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:97)
	at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:81)
	at org.sonar.server.app.WebServer.main(WebServer.java:102)
Caused by: java.lang.ClassNotFoundException: jakarta.el.ExpressionFactory
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 71 common frames omitted
2025.01.27 12:10:08 DEBUG web[][o.h.v.m.ResourceBundleMessageInterpolator] Failed to load expression factory via classloader jdk.internal.loader.ClassLoaders$AppClassLoader@659e0bfd
java.lang.NoClassDefFoundError: jakarta/el/ExpressionFactory
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.canLoadExpressionFactory(ResourceBundleMessageInterpolator.java:228)
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:186)
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:97)
	at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.getDefaultMessageInterpolator(AbstractConfigurationImpl.java:575)
	at org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:286)
	at org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean.afterPropertiesSet(OptionalValidatorFactoryBean.java:40)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:289)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1631)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1519)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1357)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1187)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:289)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1122)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1093)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1030)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
	at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:706)
	at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:583)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:537)
	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:169)
	at jakarta.servlet.GenericServlet.init(GenericServlet.java:143)
	at jakarta.servlet.http.HttpServlet.init(HttpServlet.java:121)
	at org.sonar.server.platform.web.ApiV2Servlet.init(ApiV2Servlet.java:75)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:837)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:701)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4183)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4470)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:870)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437)
	at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:72)
	at org.sonar.server.app.WebServer.start(WebServer.java:54)
	at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:97)
	at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:81)
	at org.sonar.server.app.WebServer.main(WebServer.java:102)
Caused by: java.lang.ClassNotFoundException: jakarta.el.ExpressionFactory
	... 71 common frames omitted
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.e.AbstractConfigurationImpl] Setting custom MessageInterpolator of type org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.x.c.ValidationXmlParser] Trying to load META-INF/validation.xml for XML based Validator configuration.
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.x.c.ResourceLoaderHelper] Trying to load META-INF/validation.xml via TCCL
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.x.c.ResourceLoaderHelper] Trying to load META-INF/validation.xml via Hibernate Validator's class loader
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.x.c.ValidationXmlParser] No META-INF/validation.xml found. Using annotation based configuration only.
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.e.r.TraversableResolvers] Cannot find jakarta.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.e.ValidatorFactoryConfigurationHelper] HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.e.ValidatorFactoryConfigurationHelper] HV000234: Using org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator as ValidatorFactory-scoped message interpolator.
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.e.ValidatorFactoryConfigurationHelper] HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.e.ValidatorFactoryConfigurationHelper] HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.e.ValidatorFactoryConfigurationHelper] HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
2025.01.27 12:10:08 DEBUG web[][o.h.v.i.e.ValidatorFactoryConfigurationHelper] HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
2025.01.27 12:10:08 DEBUG web[][o.s.s.a.TomcatAccessLog] Tomcat is started
2025.01.27 12:10:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:10:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:10:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.
2025.01.27 12:10:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:10:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:10:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.
2025.01.27 12:11:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:11:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:11:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.
2025.01.27 12:11:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:11:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:11:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.
2025.01.27 12:12:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:12:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:12:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.
2025.01.27 12:12:32 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:8 ClientConnectionId: b8f28c50-4678-458f-9d94-ca86ca09b978 is alive
2025.01.27 12:12:41 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:9 ClientConnectionId: 5edcabb0-7734-4c33-b63d-4d633bc29c3e is alive
2025.01.27 12:12:42 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:3 ClientConnectionId: 01cc217b-29b3-401c-aef3-4a1966215a25 is alive
2025.01.27 12:12:42 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:6 ClientConnectionId: 4fa768a5-79e6-4642-9a4c-3f865dc3d78b is alive
2025.01.27 12:12:43 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:7 ClientConnectionId: 3ed81445-07e0-4a3d-81ac-b563291097f7 is alive
2025.01.27 12:12:43 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:2 ClientConnectionId: 37bc2908-e993-4fc3-85f2-beeae100166a is alive
2025.01.27 12:12:46 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:4 ClientConnectionId: 9f5ec96e-2b0b-41b3-8d2a-0f92ed43aac8 is alive
2025.01.27 12:12:46 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:5 ClientConnectionId: 39e2f06c-2bd0-4674-b33e-684d33baee54 is alive
2025.01.27 12:12:48 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:10 ClientConnectionId: 2394aa97-344b-4b9b-bebb-608aafb61ced is alive
2025.01.27 12:12:48 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - keepalive: connection ConnectionID:1 ClientConnectionId: 9dc1d2f3-e66b-4f1c-9ae5-26f445287454 is alive
2025.01.27 12:12:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:12:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:12:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.
2025.01.27 12:13:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:13:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:13:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.
2025.01.27 12:13:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:13:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:13:49 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.
2025.01.27 12:13:51 INFO  web[][o.s.s.p.d.m.DatabaseMigrationImpl] Starting DB Migration and container restart
2025.01.27 12:13:52 INFO  web[][DbMigrations] Executing 175 DB migrations...
2025.01.27 12:13:52 INFO  web[][DbMigrations] 1/175 #100011 'Create unique index on scim_groups.group_uuid'...
2025.01.27 12:13:52 DEBUG web[][c.z.h.p.ProxyConnection] HikariPool-1 - Executed rollback on connection ConnectionID:1 ClientConnectionId: 9dc1d2f3-e66b-4f1c-9ae5-26f445287454 due to dirty commit state on close().
2025.01.27 12:13:52 DEBUG web[][c.z.h.pool.PoolBase] HikariPool-1 - Reset (autoCommit) on connection ConnectionID:1 ClientConnectionId: 9dc1d2f3-e66b-4f1c-9ae5-26f445287454
2025.01.27 12:13:52 ERROR web[][DbMigrations] 1/175 #100011 'Create unique index on scim_groups.group_uuid': failure | time=50ms
2025.01.27 12:13:52 ERROR web[][DbMigrations] Executed 0/175 DB migrations: failure | time=52ms
2025.01.27 12:13:52 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] DB migration failed | time=626ms
2025.01.27 12:13:52 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] DB migration ended with an exception
org.sonar.server.platform.db.migration.step.MigrationStepExecutionException: Execution of migration step #100011 'Create unique index on scim_groups.group_uuid' failed
	at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:105)
	at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:89)
	at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:66)
	at org.sonar.server.platform.db.migration.engine.MigrationEngineImpl.execute(MigrationEngineImpl.java:55)
	at org.sonar.server.platform.db.migration.DatabaseMigrationImpl.doUpgradeDb(DatabaseMigrationImpl.java:106)
	at org.sonar.server.platform.db.migration.DatabaseMigrationImpl.doDatabaseMigration(DatabaseMigrationImpl.java:81)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalStateException: Fail to execute CREATE UNIQUE INDEX uniq_scim_group_uuid ON scim_groups (group_uuid)
	at org.sonar.server.platform.db.migration.step.DdlChange$ContextImpl.execute(DdlChange.java:106)
	at org.sonar.server.platform.db.migration.step.DdlChange$ContextImpl.execute(DdlChange.java:86)
	at org.sonar.server.platform.db.migration.step.DdlChange$ContextImpl.execute(DdlChange.java:128)
	at org.sonar.server.platform.db.migration.version.v100.CreateUniqueIndexForScimGroupsUuid.createUserUuidUniqueIndex(CreateUniqueIndexForScimGroupsUuid.java:53)
	at org.sonar.server.platform.db.migration.version.v100.CreateUniqueIndexForScimGroupsUuid.execute(CreateUniqueIndexForScimGroupsUuid.java:47)
	at org.sonar.server.platform.db.migration.step.DdlChange.execute(DdlChange.java:45)
	at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:101)
	... 8 common frames omitted
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot find the object "scim_groups" because it does not exist or you do not have permissions.
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:270)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1735)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:929)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:823)
	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7745)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4391)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:276)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:246)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(SQLServerStatement.java:796)
	at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:95)
	at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
	at org.sonar.server.platform.db.migration.step.DdlChange$ContextImpl.execute(DdlChange.java:91)
	... 14 common frames omitted
2025.01.27 12:14:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Before cleanup stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:14:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - After cleanup  stats (total=10/60, idle=10/10, active=0, waiting=0)
2025.01.27 12:14:19 DEBUG web[][c.z.h.p.HikariPool] HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled.

Hey there.

Hm. This should happen right before the index is created.

Do you have any other logs about the database migration, starting from the very first migration (10_0_000)?

Hi,

Welcome to the community!

Can you confirm that the DB user SonarQube is using has full rights on the schema, including the ability to update the schema?

 
Thx,
Ann

The log above starts from the point it says to go to the setup page and then i started the update in the server\setup page. Could the initial error that appears in that log: “Failed to load expression factory via classloader ParallelWebappClassLoader” have any impact on the code to not perform the migration as per the code you linked?

Yes I can confirm the db user/service account has full rights on the schema

Hi,

Had you previously started the DB migration?

Because the migration that failed was the first one to run, but per Colin’s link, it should not have been.

 
Ann

Ah what I’d done was to run the sonarqube service under the wrong user initially (that didnt have the right access). So I corrected that by selecting the right user in the service and rerunning. Is there a way to restart the migration? I assumed restarting the service and following the setup steps again would restart the process

Hi,

The cleanest thing to do here would be to restore the backup you took before starting the upgrade and go from there. You took a backup, didn’t you? :smiley:

If not, then you’re going to have to do a little detective work. Check Colin’s link to see which migrations (if any!) ran successfully. Probably, none of them did. Then check the schema_migrations table and clean out the IDs of the migrations that ran unsuccessfully.

 
HTH,
Ann

1 Like

Restored to a backup and next time round the migration performed successfully. Thanks for your help @Colin and @ganncamp

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.