Not able to upgrade from 9.9.8 to 24.12.0.100206

  • which versions are you using (SonarQube Server / Community Build, Scanner, Plugin, and any relevant extension) - Community build 9.9.8
  • how is SonarQube deployed: zip, Docker, Helm - docker container
  • what are you trying to achieve - We are trying to upgrade from 9.9.8 to the latest version(25.5) for which we have to go to the intermediate version of 24.12. But when we try to upgrade it to the intermediate version, we face the below error.
> Caused by: java.lang.IllegalArgumentException: 
**An SPI class of type org.apache.lucene.codecs.Codec with name 'Lucene912' does not exist**.  You need to add the corresponding JAR file supporting this SPI to your classpath.  The current classpath supports the following names: [Elasticsearch814, Lucene99, Lucene70, Lucene80, Lucene84, Lucene86, Lucene87, Lucene90, Lucene91, Lucene92, Lucene94, Lucene95, BWCLucene70Codec, Lucene62, Lucene60]
> 	at org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:113) ~[lucene-core-9.10.0.jar:?]
> 	at org.apache.lucene.codecs.Codec.forName(Codec.java:118) ~[lucene-core-9.10.0.jar:?]
> 	at org.apache.lucene.index.SegmentInfos.readCodec(SegmentInfos.java:516) ~[lucene-core-9.10.0.jar:?]
> 	... 18 more
> ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log
> 
> ERROR: Elasticsearch died while starting up, with exit code 1
  • what have you tried so far to achieve this - I stopped sonarqube and deleted the es7 folder before starting it with the new version(24.12) but it did not work and returned the same issue

Hey there

Hey there!

The /es7/ folder shouldn’t have existed when you upgraded to v24.12. Did you move anything else over during the migration?

I recommend starting with a clean install of v24.12 (making sure not to preserve any old persisted volumes)

I did try doing a clean install of the 24.12 version but still returned the same error while elasticsearch was trying to start.

2025.05.26 06:16:43 ERROR es[o.e.b.Elasticsearch] fatal exception while booting Elasticsearch

java.lang.IllegalArgumentException: Could not load codec ‘Lucene912’. Did you forget to add lucene-backward-codecs.jar?

Is there any other solution I could try out?

Hi, i ran into the same issue. Are there any solutions on this topic?

I’ll be honest—I’m a bit stumped! The version of Elasticsearch (8.14.3) that ships with SonarQube v24.12 should not attempt to use Lucene912, as support for Lucene912 was only introduced in Elasticsearch 8.16.3, which in turn is bundled with SonarQube v25.1.

I did find another support case where this error appeared. If both of you (@hadiabdul and @gedlbauer) are running SonarQube via Docker and using persistent volumes (as recommended in the official documentation), I recommend removing those volumes or at least clearing their contents for now. It’s possible that data from a previous installation—perhaps from attempting to upgrade directly to the latest Community Build—is causing this issue.

I was able to get it running again. Indeed, deleting the sonarqube container volumes (NOT the DB volumes), especially „data“, solved the issue. As I did not delete the db volumes, everything worked fine afterwards.

Hopefully this helps somebody in the future.

2 Likes