将数据库从 SonarQube 5.3 迁移到 5.6.2(和 5.5)时出现 IllegalStateException

IllegalStateException when migrating databases from SonarQube 5.3 to 5.6.2 (and 5.5)

在尝试将数据库从 SonarQube 5.3 升级到 SonarQube 5.6.2 时,我收到 "java.lang.IllegalStateException" 消息 "Fail to decompress and deserialize source data"(最初由 com.google.protobuf.InvalidProtocolBufferException 引起:流已损坏) .

我已经用几个不同的数据库(我们有大约 40 个团队使用 SonarQube 5.3 并且想要升级)以及 5.5(以防更小的步骤可行)和 5.6.2 进行了尝试。我得到同样的错误。

我已将所有插件升级到最新版本 - 除了 Jira 插件,因为它不再兼容而不得不删除。请注意,指标 table 中仍有一个条目,这会不会有问题?

任何人都可以告诉我可能导致此错误的原因以及如何解决它吗?

如果需要任何进一步的信息,请告诉我。

谢谢!!!!

罗伯特

5.6.2 安装了以下插件:

sonar-android-plugin-1.1.jar
sonar-build-breaker-plugin-2.1.jar
sonar-cobertura-plugin-1.7.jar
sonar-csharp-plugin-5.0.jar
sonar-findbugs-plugin-3.4.4.jar
sonar-generic-coverage-plugin-1.2.jar
sonar-groovy-plugin-1.4.jar
sonar-java-plugin-4.2.jar
sonar-javascript-plugin-2.16.0.2922.jar
sonar-pitest-plugin-0.6.jar
sonar-piwik-plugin-1.0.jar
sonar-python-plugin-1.6.jar
sonar-scm-git-plugin-1.2.jar
sonar-scm-svn-plugin-1.3.jar
sonar-timeline-plugin-1.5.jar
sonar-xml-plugin-1.4.1.jar

这些是在 5.3 上安装的:

sonar-android-plugin-1.1.jar
sonar-build-breaker-plugin-2.0.jar
sonar-cobertura-plugin-1.6.3.jar
sonar-findbugs-plugin-3.3.jar
sonar-generic-coverage-plugin-1.2.jar
sonar-groovy-plugin-1.3.1.jar
sonar-java-plugin-3.14.jar
sonar-javascript-plugin-2.13.jar
sonar-jira-plugin-1.2.jar
sonar-pitest-plugin-0.6.jar
sonar-piwik-plugin-1.0.jar
sonar-python-plugin-1.5.jar
sonar-timeline-plugin-1.5.jar
sonar-xml-plugin-1.4.1.jar

这是显示数据库迁移结束和异常的日志的一部分。

2016.09.25 12:46:31 INFO  web[DbMigration] ==  UpdateUsersExternalIdentityWhenEmpty: migrating ===========================
2016.09.25 12:46:31 INFO  web[o.s.d.v.MassUpdate] 0 users processed (0 items/sec)
2016.09.25 12:46:31 INFO  web[DbMigration] ==  UpdateUsersExternalIdentityWhenEmpty: migrated (0.0110s) ==================
2016.09.25 12:46:31 INFO  web[DbMigration] 
2016.09.25 12:46:32 INFO  web[o.s.s.p.UpdateCenterClient] Update center: https://update.sonarsource.org/update-center.properties (no proxy)
2016.09.25 12:46:34 INFO  web[o.s.s.n.NotificationService] Notification service started (delay 60 sec.)
2016.09.25 12:46:34 INFO  web[o.s.d.c.MysqlCharsetHandler] Repair case-insensitive database columns
2016.09.25 12:46:34 INFO  web[o.s.s.s.RegisterMetrics] Register metrics
2016.09.25 12:46:34 INFO  web[o.s.s.r.RegisterRules] Register rules
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1318
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:CycleBetweenPackages
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findsecbugs:WEAK_MESSAGE_DIGEST
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1724
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1701
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule fb-contrib:SC_SUSPICIOUS_COMPARATOR_RETURN_VALUES
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findbugs:UOE_USE_OBJECT_EQUALS
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule fb-contrib:JAO_JUNIT_ASSERTION_ODDITIES_INEXACT_DOUBLE
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1294
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule fb-contrib:JAO_JUNIT_ASSERTION_ODDITIES_BOOLEAN_ASSERT
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule fb-contrib:SMA_STUTTERED_METHOD_ARGUMENTS
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule fb-contrib:JAO_JUNIT_ASSERTION_ODDITIES_IMPOSSIBLE_NULL
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findbugs:SKIPPED_CLASS_TOO_BIG
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findsecbugs:XSS_JSP_PRINT
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findbugs:LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:StringEqualityComparisonCheck
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule fb-contrib:JAO_JUNIT_ASSERTION_ODDITIES_USE_ASSERT_EQUALS
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findbugs:OBL_UNSATISFIED_OBLIGATION
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule fb-contrib:JAO_JUNIT_ASSERTION_ODDITIES_ASSERT_USED
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findbugs:OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:LowerCaseLongSuffixCheck
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findbugs:RV_RETURN_VALUE_IGNORED2
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule fb-contrib:JAO_JUNIT_ASSERTION_ODDITIES_ACTUAL_CONSTANT
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1873
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:UnusedProtectedMethod
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1848
2016.09.25 12:46:40 INFO  web[o.s.s.r.RegisterRules] Disable rule findbugs:XSS_REQUEST_PARAMETER_TO_JSP_WRITER
2016.09.25 12:46:45 INFO  web[o.s.s.q.RegisterQualityProfiles] Register quality profiles
2016.09.25 12:46:50 INFO  ce[o.s.c.a.WebServerWatcherImpl] Still waiting for WebServer...
2016.09.25 12:46:51 INFO  web[o.s.s.q.RegisterQualityProfiles] Register profile {lang=cs, name=Sonar way}
2016.09.25 12:46:53 INFO  web[o.s.s.q.RegisterQualityProfiles] Set default cs profile: Sonar way
2016.09.25 12:46:53 INFO  web[o.s.s.q.RegisterQualityProfiles] Register profile {lang=java, name=FindBugs + FB-Contrib}
2016.09.25 12:47:03 INFO  web[o.s.s.q.RegisterQualityProfiles] Register profile {lang=jsp, name=FindBugs Security JSP}
2016.09.25 12:47:03 INFO  web[o.s.s.q.RegisterQualityProfiles] Set default jsp profile: FindBugs Security JSP
2016.09.25 12:47:04 INFO  web[o.s.s.s.RegisterNewMeasureFilters] Register measure filters
2016.09.25 12:47:04 INFO  web[o.s.s.s.RegisterDashboards] Register dashboards
2016.09.25 12:47:04 INFO  web[o.s.s.s.RegisterPermissionTemplates] Register permission templates
2016.09.25 12:47:04 INFO  web[o.s.s.s.RenameDeprecatedPropertyKeys] Rename deprecated property keys
2016.09.25 12:47:04 INFO  web[o.s.s.p.MasterServletFilter] Initializing servlet filter org.sonar.server.authentication.InitFilter@97f102c [pattern=/sessions/init/*]
2016.09.25 12:47:04 INFO  web[o.s.s.p.MasterServletFilter] Initializing servlet filter org.sonar.server.authentication.OAuth2CallbackFilter@7ba0646e [pattern=/oauth2/callback/*]
2016.09.25 12:47:04 INFO  web[o.s.s.e.IndexerStartupTask] Index activities
2016.09.25 12:47:05 INFO  web[o.s.s.e.IndexerStartupTask] Index issues
2016.09.25 12:47:07 INFO  web[o.s.s.e.IndexerStartupTask] Index tests
2016.09.25 12:47:07 INFO  web[o.s.s.d.m.PlatformDatabaseMigration] DB migration failed | time=45804ms
2016.09.25 12:47:07 ERROR web[o.s.s.d.m.PlatformDatabaseMigration] DB Migration or container restart failed. Process ended with an exception
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Fail to decompress and deserialize source data
    at com.google.common.base.Throwables.propagate(Throwables.java:160) ~[guava-17.0.jar:na]
    at org.sonar.server.es.BaseIndexer.index(BaseIndexer.java:82) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.es.BaseIndexer.index(BaseIndexer.java:88) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.es.IndexerStartupTask.execute(IndexerStartupTask.java:71) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.platform.platformlevel.PlatformLevelStartup.doPrivileged(PlatformLevelStartup.java:81) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.user.DoPrivileged.execute(DoPrivileged.java:44) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.platform.platformlevel.PlatformLevelStartup.start(PlatformLevelStartup.java:77) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.platform.Platform.executeStartupTasks(Platform.java:201) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.platform.Platform.doStart(Platform.java:114) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.platform.Platform.doStart(Platform.java:99) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.db.migrations.PlatformDatabaseMigration.doRestartContainer(PlatformDatabaseMigration.java:138) [sonar-server-5.6.2.jar:na]
    at org.sonar.server.db.migrations.PlatformDatabaseMigration.doDatabaseMigration(PlatformDatabaseMigration.java:114) [sonar-server-5.6.2.jar:na]
    at org.sonar.server.db.migrations.PlatformDatabaseMigration.access[=12=]0(PlatformDatabaseMigration.java:37) [sonar-server-5.6.2.jar:na]
    at org.sonar.server.db.migrations.PlatformDatabaseMigration.run(PlatformDatabaseMigration.java:101) [sonar-server-5.6.2.jar:na]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_92]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_92]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92]
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Fail to decompress and deserialize source data
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_92]
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_92]
    at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:135) ~[guava-17.0.jar:na]
    at org.sonar.server.es.BaseIndexer.index(BaseIndexer.java:80) ~[sonar-server-5.6.2.jar:na]
    ... 15 common frames omitted
Caused by: java.lang.IllegalStateException: Fail to decompress and deserialize source data
    at org.sonar.db.source.FileSourceDto.decodeTestData(FileSourceDto.java:167) ~[sonar-db-5.6.2.jar:na]
    at org.sonar.server.test.index.TestResultSetIterator.read(TestResultSetIterator.java:79) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.test.index.TestResultSetIterator.read(TestResultSetIterator.java:60) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.db.ResultSetIterator.next(ResultSetIterator.java:82) ~[sonar-db-5.6.2.jar:na]
    at org.sonar.server.test.index.TestIndexer.doIndex(TestIndexer.java:93) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.test.index.TestIndexer.doIndex(TestIndexer.java:80) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.test.index.TestIndexer.doIndex(TestIndexer.java:70) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.es.BaseIndexer.index(BaseIndexer.java:91) ~[sonar-server-5.6.2.jar:na]
    at org.sonar.server.es.BaseIndexer.run(BaseIndexer.java:73) ~[sonar-server-5.6.2.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_92]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_92]
    ... 3 common frames omitted
Caused by: com.google.protobuf.InvalidProtocolBufferException: Stream is corrupted
    at com.google.protobuf.AbstractParser.parsePartialDelimitedFrom(AbstractParser.java:230) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:246) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:251) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.AbstractParser.parseDelimitedFrom(AbstractParser.java:49) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at org.sonar.db.protobuf.DbFileSources$Test.parseDelimitedFrom(DbFileSources.java:4267) ~[sonar-db-5.6.2.jar:na]
    at org.sonar.db.source.FileSourceDto.decodeTestData(FileSourceDto.java:160) ~[sonar-db-5.6.2.jar:na]
    ... 13 common frames omitted

我现在没有任何提示。同时,已为 5.6.3 版创建票证 https://jira.sonarsource.com/browse/SONAR-8178