Upgrading developer edition from 2025.4.2.112048 to 2026.1.0.119033

Hi,

I’m trying to upgrade my sonarqube developer edition from v2025.4.2.112048 to 2026.1.0.119033 but I’ve run into problems.

Initially, I was trying to go straight from 2025.4.2.112048 to 2026.1.0.119033 but spotted into database schema related issues in the logs.

I then successfully upgraded from 2025.4.2.112048 to 2025.6.1.117629, and upgraded the database schema by visiting /setup and followed the onscreen steps in the WebGUI.

I then attempted again to upgrade to 2026.1.0.119033 (this time from 2025.6.1.117629).. I’m no longer getting schema related errors in the logs, but the service is still not starting. It seems to my untrained eye that elasticsearch is unable to start due to “Module jdk.attach not found”

2026.02.02 15:26:55 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2026.1.0.119033/temp
2026.02.02 15:26:55 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.02 15:26:56 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.02 15:26:56 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.02 15:26:59 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.02 15:26:59 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.02 15:26:59 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2026.02.02 15:27:01 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2026.1.0.119033/temp
2026.02.02 15:27:01 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.02 15:27:01 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.02 15:27:01 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.02 15:27:04 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.02 15:27:04 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.02 15:27:04 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2026.02.02 15:27:05 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2026.1.0.119033/temp
2026.02.02 15:27:05 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.02 15:27:06 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.02 15:27:06 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.02 15:27:09 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.02 15:27:09 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.02 15:27:09 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2026.02.02 15:27:10 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2026.1.0.119033/temp
2026.02.02 15:27:10 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.02 15:27:11 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.02 15:27:11 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.02 15:27:15 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.02 15:27:15 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.02 15:27:15 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2026.02.02 15:27:41 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2026.1.0.119033/temp
2026.02.02 15:27:41 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.02 15:27:41 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.02 15:27:41 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.02 15:27:45 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.02 15:27:45 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.02 15:27:45 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

I’ve reviewed the software requirements for 2026.1 and believe the server meets them.

Server host requirements | SonarQube Server | Sonar Documentation - https://docs.sonarsource.com/

  • Operating system: Debian GNU/Linux 12 (bookworm)
  • Java:
    openjdk 21.0.10 2026-01-20 LTS
    OpenJDK Runtime Environment Temurin-21.0.10+7 (build 21.0.10+7-LTS)
    OpenJDK 64-Bit Server VM Temurin-21.0.10+7 (build 21.0.10+7-LTS, mixed mode, sharing)

I’ve performed many sonarqube upgrades in the past with very few issues (normally they’re schema related!) but this one has me completely stumped. Any assistance gratefully received!

Thanks

Steve

1 Like

Hi Steve,

Please check your server logs and share the errors you see, with a few lines of context before each one.

 
Thx,
Ann

Hi @sscotter thanks for reporting this, and thanks for all the details you provided about the JDK.

By looking at the logs there is one thing I am not completely sure about, it looks like the ElasticSearch process is starting on a JRE instead of JDK.
Maybe there is a clash on the system with versions or paths?

2026.02.02 15:27:41 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher

Is there a way to validate this hypothesis?

I have same problem when upgrading from 2025.6 Developer Edition to 2026.1 Developer Edition:

2026.02.05 10:07:36 INFO  app[o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]2026.02.05 10:07:36 INFO  app[o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/elasticsearch]: /opt/java/openjdk/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/elasticsearch -Des.path.conf=/opt/sonarqube/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/elasticsearch/lib/:/opt/sonarqube/elasticsearch/lib/cli-launcher/ org.elasticsearch.launcher.CliToolLauncher
2026.02.05 10:07:36 INFO  app[o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.05 10:07:38 WARN  app[o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 74
2026.02.05 10:07:39 INFO  app[o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.05 10:07:39 INFO  app[o.s.a.SchedulerImpl] SonarQube is stopped
2026.02.05 10:12:46 INFO  app[o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp

In the es.log I see it tries to find some files which are not there:

java.nio.file.NoSuchFileException:
/opt/sonarqube/data/es8/indices/MWB5GHfDT0G4HWf1K4ljJQ/1/index/_9n6_3_Lucene90_0
.dvd
java.nio.file.NoSuchFileException: 
/opt/sonarqube/data/es8/indices/hP4VeeXYSyKizjhBSabxvg/1/index/_82_d_Lucene90_0.dvd

But instead we have: _9n6_5_Lucene90_0.dvd and _82_e_Lucene90_0.dvd.

I did a rollback to previous version 2025.6.0 and SonarQube started correctly.

Can you help me?

Hi

Thank you for taking the time to reply and apologies for taking so long to get back to you, this issue had slipped my mind.

RE: ganncamp

Please check your server logs and share the errors you see, with a few lines of context before each one.

I had reviewed my logs and provided the relevant bits.. much of the logs repeats the following lines every five seconds or so..

2026.02.06 09:42:04 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2026.1.0.119033/temp 
2026.02.06 09:42:04 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.06 09:42:04 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.06 09:42:04 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.06 09:42:08 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.06 09:42:08 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.06 09:42:08 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2026.02.06 09:42:10 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2026.1.0.119033/temp
2026.02.06 09:42:10 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.06 09:42:10 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.06 09:42:10 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.06 09:42:14 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.06 09:42:14 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.06 09:42:14 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2026.02.06 09:42:15 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2026.1.0.119033/temp
2026.02.06 09:42:15 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.06 09:42:15 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch]: /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.06 09:42:15 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.06 09:42:19 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.06 09:42:19 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped

I have nothing expect sonar.log to review

root@moana:~ # ll /opt/sonarqube/sonarqube-2026.1.0.119033/logs/
total 360K
drwxr-xr-x  2 sonarqube sonarqube 4.0K Feb  6 10:01 ./
drwxr-xr-x 13 root      root      4.0K Jan 27 18:07 ../
-rw-r--r--  1 sonarqube sonarqube   88 Jan 27 18:01 README.txt
-rw-r--r--  1 sonarqube sonarqube 341K Feb  6 10:05 sonar.log

If I run the command mentioned in the logs manually…

sudo -u sonarqube /usr/lib/jvm/temurin-21-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher

.. I get the following …

ERROR: Expected to find [apm] module in [/tmp/hsperfdata_sonarqube/modules/apm]! Installation is corrupt, with exit code 70

I have already deleted the directory holding 2026.1.0.119033 and started again, but still the installation is corrupt error persists.

When I revert back to 2025.6.1.117629 the service starts successfully and everything works as expected.

RE: Matteo_Mara

By looking at the logs there is one thing I am not completely sure about, it looks like the ElasticSearch process is starting on a JRE instead of JDK.
Maybe there is a clash on the system with versions or paths?

I don’t think so. As best I can tell I only have one version of java installed, and that is Temurin 21.0.10+7-LTS from Adoptium. According to the Software requirements section java 21 is supported

root@moana:~ # java --version
openjdk 21.0.10 2026-01-20 LTS
OpenJDK Runtime Environment Temurin-21.0.10+7 (build 21.0.10+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.10+7 (build 21.0.10+7-LTS, mixed mode, sharing)

root@moana:~ # which java
/usr/bin/java
root@moana:~ # ll /usr/bin/java
lrwxrwxrwx 1 root root 22 Jan 20 23:26 /usr/bin/java -> /etc/alternatives/java*

root@moana:~ # ll /etc/alternatives/java
lrwxrwxrwx 1 root root 42 Jan 20 23:26 /etc/alternatives/java -> /usr/lib/jvm/temurin-21-jre-amd64/bin/java*

root@moana:~ # ll /usr/lib/jvm/
total 16K
drwxr-xr-x  3 root root 4.0K Feb  1 03:15 ./
drwxr-xr-x 62 root root 4.0K Jan 13 03:15 ../
drwxr-xr-x  6 root root 4.0K Feb  1 03:15 temurin-21-jre-amd64/
-rw-r--r--  1 root root  435 Jan 22 18:38 .temurin-21-jre-amd64.jinfo

root@moana:~ # apt list --installed | grep -E "(jre|jdk|java)"

java-common/oldstable,now 0.74 all [installed,automatic]
javascript-common/oldstable,now 11+nmu1 all [installed,automatic]
temurin-21-jre/bookworm,now 21.0.10.0.0+7-1 amd64 [installed]

root@moana:~ # find / -name java
/opt/sonarqube/sonarqube-2025.6.1.117629/data/web/deploy/plugins/java
/etc/apparmor.d/abstractions/ubuntu-browsers.d/java
/etc/alternatives/java
/var/lib/dpkg/alternatives/java
/usr/lib/jvm/temurin-21-jre-amd64/bin/java
/usr/share/bash-completion/completions/java
/usr/share/java
/usr/bin/java

Do you think there is any value in trying v25?

Do you think there is any value in trying v25?

To answer my own question, it made no difference in regard to 2026.1.0.119033…

root@moana:~ # sudo -u sonarqube /usr/lib/jvm/temurin-25-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8/config -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/:/opt/sonarqube/sonarqube-2026.1.0.119033/elasticsearch/lib/cli-launcher/ org.elasticsearch.launcher.CliToolLauncher

ERROR: Expected to find [apm] module in [/tmp/hsperfdata_sonarqube/modules/apm]! Installation is corrupt, with exit code 70

It did however break 2025.6.1.117629.. with Java JRE 25 installed and set as default it failed to start for seemingly the same reason… elasticsearch related…

2026.02.06 10:30:04 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/sonarqube-2025.6.1.117629/temp
2026.02.06 10:30:04 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}]
2026.02.06 10:30:05 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/sonarqube-2025.6.1.117629/elasticsearch]: /usr/lib/jvm/temurin-25-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2025.6.1.117629/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2025.6.1.117629/temp/conf/es -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2025.6.1.117629/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2025.6.1.117629/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher
2026.02.06 10:30:05 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2026.02.06 10:30:08 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2026.02.06 10:30:08 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2026.02.06 10:30:08 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

Trying to start elasticsearch manually I received the following error

root@moana:~ # sudo -u sonarqube /usr/lib/jvm/temurin-25-jre-amd64/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=/opt/sonarqube/sonarqube-2025.6.1.117629/elasticsearch -Des.path.conf=/opt/sonarqube/sonarqube-2025.6.1.117629/temp/conf/es -Des.distribution.type=tar -cp /opt/sonarqube/sonarqube-2025.6.1.117629/elasticsearch/lib/*:/opt/sonarqube/sonarqube-2025.6.1.117629/elasticsearch/lib/cli-launcher/* org.elasticsearch.launcher.CliToolLauncher

Exception in thread "main" java.io.UncheckedIOException: java.nio.file.NoSuchFileException: /tmp/hsperfdata_sonarqube/lib/tools/server-cli
        at org.elasticsearch.cli.CliToolProvider.loadJars(CliToolProvider.java:87)
        at org.elasticsearch.cli.CliToolProvider.load(CliToolProvider.java:59)
        at org.elasticsearch.launcher.CliToolLauncher.main(CliToolLauncher.java:61)
Caused by: java.nio.file.NoSuchFileException: /tmp/hsperfdata_sonarqube/lib/tools/server-cli
        at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
        at java.base/sun.nio.fs.UnixException.asIOException(Unknown Source)
        at java.base/sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(Unknown Source)
        at java.base/java.nio.file.Files.newDirectoryStream(Unknown Source)
        at java.base/java.nio.file.Files.list(Unknown Source)
        at org.elasticsearch.cli.CliToolProvider.loadJars(CliToolProvider.java:78)
        ... 2 more

I sorta made some progress by switching to JRE 21 to JDK 21 and using 2026.1.0.119033. Sonarqube service started successfully.. the first time.. I get prompted to perform an database update.. which started… at which point the service died and started into it’s previous loop of “Waiting for Elasticsearch to be up and running”

java version SonarQube 2025.6.1.117629 SonarQube 2026.1.0.119033
jre 21 worked didn’t work
jre 25 didn’t work didn’t work
jdk 21 worked worked (explanation in next comment)
jdk 25 untested didn’t work

Success! I’ve got 2026.1.0.119033 working.

Now that I had a es.log a review of it revealed the following message…

2026.02.06 10:51:24 WARN  es[][o.e.c.r.a.DiskThresholdMonitor] high disk watermark [90%] exceeded on [O12LH-AWQz-vNqjtKMTlZQ][sonarqube][/opt/sonarqube/sonarqube-2026.1.0.119033/data/es8] free: 1.6gb[8.5%], shards will be relocated away from this node; currently relocati
ng away shards totalling [0] bytes; the node is expected to continue to exceed the high disk watermark when these relocations are complete

Once I deleted a few database backups to free up to some space and restarted the service it started successfully.

I don’t believe disk space was the root cause of my problems though. I think the root cause was JRE vs JDK related.

Now that I had 2026.1.0.119033 working I went back to jre 21 and the service wouldn’t start , with the same Waiting for Elasticsearch to be up and running loop. Switching back to jdk 21 and it started fine. Switching to jdk 25 and it continued to start successfully. I did not try jre 25.

1 Like

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