I’m going to upgrade my instance from the current 9.9.3 to 10.6. My SQ is deployed (still) as docker compose:
version: '2'
services:
ldap01:
image: rancher/external-service
postgres-sonar-dev:
image: postgres:11.0
environment:
POSTGRES_DB: sonar
POSTGRES_PASSWORD: xxx
POSTGRES_USER: sonar
stdin_open: true
volumes:
- /srv/persistent/sonar-tks/postgres11:/var/lib/postgresql/data
tty: true
labels:
io.rancher.container.pull_image: always
io.rancher.scheduler.affinity:host_label: host=sonarqube-quality
sonar-trial:
image: sonarqube:9.9.3-community
environment:
sonar.jdbc.password: xxxx
sonar.jdbc.url: jdbc:postgresql://postgres-sonar-dev:5432/sonar
sonar.jdbc.username: sonar
sonar.jdbc.driverClassName: org.postgresql.Driver
volumes:
- /srv/persistent/sonar-tks/sonarqube_conf:/opt/sonarqube/conf
- /srv/persistent/sonar-tks/sonarqube_extensions:/opt/sonarqube/extensions
- /srv/persistent/sonar-tks/logs:/opt/sonarqube/logs
- /srv/persistent/sonar-tks/sonarqube_data:/opt/sonarqube/data
- /srv/persistent/sonar-tks/sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins
links:
- ldap01:ldap01.huuuge.in
ports:
- 9001:9000/tcp
- 10443:10443/tcp
- 10444:10444/tcp
- 10445:10445/tcp
labels:
io.rancher.scheduler.affinity:host_label: host=sonarqube-quality
io.rancher.container.start_once: 'true'
My DB connection looks like:
Database H2
Database Version. 2.1.214 (2022-06-13)
Username
URL jdbc:h2:tcp://127.0.0.1:9092/sonar
Driver H2 JDBC Driver
Driver Version 2.1.214 (2022-06-13)
Default transaction isolation TRANSACTION_READ_COMMITTED
During upgrade the image to 10.6-community I’m recieving errors:
2025.01.27 14:19:02 INFO web[][o.s.p.ProcessEntryPoint] Starting Web Server
2025.01.27 14:19:03 INFO web[][o.s.s.a.TomcatHttpConnectorFactory] Starting Tomcat on port 9000
2025.01.27 14:19:03 INFO web[][o.s.s.p.LogServerVersion] SonarQube Server / 10.6.0.92116 / 832b6f0491b9d7775943b0e7fcc09ef936d23007
2025.01.27 14:19:03 WARN web[][o.s.c.a.AnnotationConfigApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdk.internal.loader.ClassLoaders$AppClassLoader@7e38a7fe-org.sonar.server.platform.db.EmbeddedDatabaseFactory': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Unable to start database
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdk.internal.loader.ClassLoaders$AppClassLoader@7e38a7fe-org.sonar.server.platform.db.EmbeddedDatabaseFactory': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Unable to start database
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:929)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:225)
at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:80)
at org.sonar.server.platform.platformlevel.PlatformLevel1.start(PlatformLevel1.java:164)
at org.sonar.server.platform.PlatformImpl.start(PlatformImpl.java:214)
at org.sonar.server.platform.PlatformImpl.startLevel1Container(PlatformImpl.java:179)
at org.sonar.server.platform.PlatformImpl.init(PlatformImpl.java:79)
at org.sonar.server.platform.web.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4462)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4914)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:794)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:248)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:925)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:72)
at org.sonar.server.app.WebServer.start(WebServer.java:55)
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:104)
Caused by: java.lang.IllegalStateException: Unable to start database
at org.sonar.server.platform.db.EmbeddedDatabase.startServer(EmbeddedDatabase.java:88)
at org.sonar.server.platform.db.EmbeddedDatabase.start(EmbeddedDatabase.java:63)
at org.sonar.server.platform.db.EmbeddedDatabaseFactory.start(EmbeddedDatabaseFactory.java:49)
at org.sonar.core.platform.StartableBeanPostProcessor.postProcessBeforeInitialization(StartableBeanPostProcessor.java:33)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
... 44 common frames omitted
Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Unsupported database file version or invalid file header in file "/opt/sonarqube/data/sonar.mv.db" [90048-224]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
at org.h2.message.DbException.get(DbException.java:212)
at org.h2.mvstore.db.Store.convertMVStoreException(Store.java:158)
at org.h2.mvstore.db.Store.<init>(Store.java:142)
at org.h2.engine.Database.<init>(Database.java:326)
at org.h2.engine.Engine.openSession(Engine.java:92)
at org.h2.engine.Engine.openSession(Engine.java:222)
at org.h2.engine.Engine.createSession(Engine.java:201)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:125)
at org.h2.Driver.connect(Driver.java:59)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
at org.sonar.server.platform.db.EmbeddedDatabase.createDatabase(EmbeddedDatabase.java:115)
at org.sonar.server.platform.db.EmbeddedDatabase.startServer(EmbeddedDatabase.java:79)
... 50 common frames omitted
Caused by: org.h2.mvstore.MVStoreException: The write format 2 is smaller than the supported format 3 [2.2.224/5]
at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996)
at org.h2.mvstore.FileStore.getUnsupportedWriteFormatException(FileStore.java:943)
at org.h2.mvstore.FileStore.processCommonHeaderAttributes(FileStore.java:547)
at org.h2.mvstore.RandomAccessStore.readStoreHeader(RandomAccessStore.java:227)
at org.h2.mvstore.FileStore.start(FileStore.java:916)
at org.h2.mvstore.MVStore.<init>(MVStore.java:289)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035)
at org.h2.mvstore.db.Store.<init>(Store.java:133)
... 61 common frames omitted
Originaly my postgres was on 9.5 I’s hoping an upgrade to 11 will solve the issue but unfortunately it didn’t. Any clue - what am I doing wrong, what should be updated/changed?
Thanks,