MessageException: Current version is too old. Please upgrade to Long Term Support version firstly

∥☆過路亽.° 提交于 2019-12-01 14:32:34

问题


I downloaded SonarQube 5.3, configured the sonar.properties file, downloaded the JDBC driver for MSSQL (I'm using SQL Server 2012 and SQL JDBC 4.2), created a user with all grants in my SQL Server 2012 instance with database sonar.

Then I execute startSonar.bat and this throws the following error:

2016.01.22 13:57:57 INFO  web[o.s.s.p.ServerImpl] SonarQube Server / 5.3 / 8db783e62b266eeb0d0b10dc050a7ca50e96c5d1
2016.01.22 13:57:57 INFO  web[o.sonar.db.Database] Create JDBC data source for jdbc:sqlserver://localhost;databaseName=sonar
2016.01.22 13:57:59 ERROR web[o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformServletContextListener
org.sonar.api.utils.MessageException: Current version is too old. Please upgrade to Long Term Support version firstly.
2016.01.22 13:57:59 INFO  web[jruby.rack] jruby 1.7.9 (ruby-1.8.7p370) 2013-12-06 87b108a on Java HotSpot(TM) 64-Bit Server VM 1.8.0_66-b18 [Windows 7-amd64]
2016.01.22 13:57:59 INFO  web[jruby.rack] using a shared (threadsafe!) runtime
2016.01.22 13:58:05 ERROR web[jruby.rack] initialization failed
org.jruby.rack.RackInitializationException: java.lang.NullPointerException
    at org.jruby.rack.RackInitializationException.wrap(RackInitializationException.java:31) ~[jruby-rack-1.1.13.2.jar:na]
    at org.jruby.rack.RackApplicationFactoryDecorator.init(RackApplicationFactoryDecorator.java:98) ~[jruby-rack-1.1.13.2.jar:na]
    at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:50) ~[jruby-rack-1.1.13.2.jar:na]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4720) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_66]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_66]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_66]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_66]
--- and then creates a cascade of errors ---

This is what's in the sonar.properties file:

# DATABASE
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

# Use the following connection string if you want to use SQL Auth while connecting to MS Sql Server.
# Set the sonar.jdbc.username and sonar.jdbc.password appropriately.
 sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar

 # TCP port for incoming HTTP connections. Disabled when value is -1.
sonar.web.port=4950

All I see is "Current version is too old. Please upgrade to Long Term Support version firstly." but... upgrade what?


回答1:


This has nothing to do with your database brand or version, but with the version of the SonarQube platform you're upgrading from. Starting with version 4.5, new versions of the platform only accumulate database upgrade scripts starting from the previous Long Term Support version. So the SonarQube platform version 3.2 knows how to upgrade all the way from 1.5, but 5.3 only knows how to update the database starting from version 4.5.x.

So you must first upgrade to 4.5.x - I'd recommend 4.5.7 - and then upgrade to 5.3.

Update

5.6.7 is the current a previous LTS, so the current upgrade path from a hypothetical 3.2 install would be:

3.2 -> 4.5.7 -> 5.6.6

Update 1 Dec 17

6.7 is the current LTS, so the current upgrade path from a hypothetical 3.2 install would be:

3.2 -> 4.5.7. -> 5.6.7 -> 6.7

Intermediate versions can be skipped.




回答2:


Just in case anyone has the same issue when installing a fresh SonarQube. Seems like you have to drop the tables every time when the installing process could not complete the creation of the database tables due to some other error.

I tried installing the latest version (7.0) facing this issue. I switched to the LTS version (6.7.3), but still the same error. Then I dropped all the tables that were created previously and then I had another issue with the binlog_format which had to be row-based. After correcting this issue, I had again the same error "version is too old".

Have a look in the logs/web.log file to find the error. After fixing the error drop the tables and let the process recreate the database.



来源:https://stackoverflow.com/questions/34947417/messageexception-current-version-is-too-old-please-upgrade-to-long-term-suppor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!