diff options
-rw-r--r-- | server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java b/server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java index fa0e069319f..07ae9a9914b 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java +++ b/server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java @@ -88,6 +88,7 @@ public class IndexerStartupTask { private void setInitialized(IndexType indexType) { String index = indexType.getIndex(); + waitForIndexGreen(index); closeIndex(index); setIndexSetting(index, getInitializedSettingName(indexType), true); openIndex(index); @@ -115,6 +116,11 @@ public class IndexerStartupTask { ClusterHealthAction.INSTANCE.newRequestBuilder(nativeClient).setIndices(index).setWaitForYellowStatus().get(TimeValue.timeValueMinutes(10)); } + private void waitForIndexGreen(String index) { + Client nativeClient = esClient.nativeClient(); + ClusterHealthAction.INSTANCE.newRequestBuilder(nativeClient).setIndices(index).setWaitForGreenStatus().get(TimeValue.timeValueMinutes(10)); + } + private static String getInitializedSettingName(IndexType indexType) { return "index." + SETTING_PREFIX_INITIAL_INDEXING_FINISHED + indexType.getType(); } |