aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java6
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();
}