sonarqube 6.6 升级:不可恢复的索引失败
sonarqube 6.6 upgrade : Unrecoverable indexation failures
sonarqube 6.5升级到6.6后(带Debian包),sonar无法启动。升级前我没有更新插件。我只是让标准的 Debian 软件包升级。我正在使用外部数据库 (Postgresql)。
我在 web.log 中发现了以下错误:
2017.10.24 18:12:34 错误 web[][o.s.s.es.BulkIndexer] 索引 [components],类型 [component],id [AVgpp1_-x6lKXwnU0BYQ],消息 [java.lang.IllegalArgumentException:无法指定parent 如果没有配置父字段]
2017.10.24 18:12:34 错误 web[][o.s.s.p.Platform] 后台初始化失败。停止 SonarQube
java.lang.IllegalStateException: 不可恢复的索引失败
在 org.sonar.server.es.IndexingListener$1.onFinish(IndexingListener.java:39)
在 org.sonar.server.es.BulkIndexer.stop(BulkIndexer.java:117)
在 org.sonar.server.component.index.ComponentIndexer.doIndexByProjectUuid(ComponentIndexer.java:149)
在 org.sonar.server.component.index.ComponentIndexer.indexOnStartup(ComponentIndexer.java:71)
在 org.sonar.server.es.IndexerStartupTask.indexUninitializedTypes(IndexerStartupTask.java:68)
在 java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
在 java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
在 org.sonar.server.es.IndexerStartupTask.execute(IndexerStartupTask.java:55)
在 java.util.Optional.ifPresent(Optional.java:159)
在 org.sonar.server.platform.platformlevel.PlatformLevelStartup$1.doPrivileged(PlatformLevelStartup.java:91)
在 org.sonar.server.user.DoPrivileged.execute(DoPrivileged.java:45)
在 org.sonar.server.platform.platformlevel.PlatformLevelStartup.start(PlatformLevelStartup.java:87)
在 org.sonar.server.platform.Platform.executeStartupTasks(Platform.java:196)
在 org.sonar.server.platform.Platform.access400 美元(Platform.java:46)
在 org.sonar.server.platform.Platform$1.lambda$doRun$1(Platform.java:121)
在 org.sonar.server.platform.Platform$AutoStarterRunnable.runIfNotAborted(Platform.java:371)
在 org.sonar.server.platform.Platform$1.doRun(Platform.java:121)
在 org.sonar.server.platform.Platform$AutoStarterRunnable.run(Platform.java:355)
在 java.lang.Thread.run(Thread.java:748)
任何线索或解决方法?
我通过尝试另一次升级(在恢复声纳 6.5 之后)设法克服了这个错误,并且:
- 升级前升级插件
- 删除 data/es5 文件夹
遇到同样的错误,重启sonar。
sonarqube 6.5升级到6.6后(带Debian包),sonar无法启动。升级前我没有更新插件。我只是让标准的 Debian 软件包升级。我正在使用外部数据库 (Postgresql)。 我在 web.log 中发现了以下错误:
2017.10.24 18:12:34 错误 web[][o.s.s.es.BulkIndexer] 索引 [components],类型 [component],id [AVgpp1_-x6lKXwnU0BYQ],消息 [java.lang.IllegalArgumentException:无法指定parent 如果没有配置父字段] 2017.10.24 18:12:34 错误 web[][o.s.s.p.Platform] 后台初始化失败。停止 SonarQube java.lang.IllegalStateException: 不可恢复的索引失败 在 org.sonar.server.es.IndexingListener$1.onFinish(IndexingListener.java:39) 在 org.sonar.server.es.BulkIndexer.stop(BulkIndexer.java:117) 在 org.sonar.server.component.index.ComponentIndexer.doIndexByProjectUuid(ComponentIndexer.java:149) 在 org.sonar.server.component.index.ComponentIndexer.indexOnStartup(ComponentIndexer.java:71) 在 org.sonar.server.es.IndexerStartupTask.indexUninitializedTypes(IndexerStartupTask.java:68) 在 java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) 在 java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) 在 org.sonar.server.es.IndexerStartupTask.execute(IndexerStartupTask.java:55) 在 java.util.Optional.ifPresent(Optional.java:159) 在 org.sonar.server.platform.platformlevel.PlatformLevelStartup$1.doPrivileged(PlatformLevelStartup.java:91) 在 org.sonar.server.user.DoPrivileged.execute(DoPrivileged.java:45) 在 org.sonar.server.platform.platformlevel.PlatformLevelStartup.start(PlatformLevelStartup.java:87) 在 org.sonar.server.platform.Platform.executeStartupTasks(Platform.java:196) 在 org.sonar.server.platform.Platform.access400 美元(Platform.java:46) 在 org.sonar.server.platform.Platform$1.lambda$doRun$1(Platform.java:121) 在 org.sonar.server.platform.Platform$AutoStarterRunnable.runIfNotAborted(Platform.java:371) 在 org.sonar.server.platform.Platform$1.doRun(Platform.java:121) 在 org.sonar.server.platform.Platform$AutoStarterRunnable.run(Platform.java:355) 在 java.lang.Thread.run(Thread.java:748)
任何线索或解决方法?
我通过尝试另一次升级(在恢复声纳 6.5 之后)设法克服了这个错误,并且:
- 升级前升级插件
- 删除 data/es5 文件夹 遇到同样的错误,重启sonar。