From 2cb85007b22eebc03340d7faebcbc60fce3385eb Mon Sep 17 00:00:00 2001 From: Stephane Gamard Date: Thu, 7 Aug 2014 10:03:05 +0200 Subject: [PATCH] SONAR-5483 - Added Cluster zone-awareness using rack_id --- .../src/main/java/org/sonar/search/SearchServer.java | 2 ++ .../main/java/org/sonar/server/search/ESNode.java | 12 ++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/server/sonar-search/src/main/java/org/sonar/search/SearchServer.java b/server/sonar-search/src/main/java/org/sonar/search/SearchServer.java index 9f2f09494f1..8ac70a0b7e4 100644 --- a/server/sonar-search/src/main/java/org/sonar/search/SearchServer.java +++ b/server/sonar-search/src/main/java/org/sonar/search/SearchServer.java @@ -118,6 +118,8 @@ public class SearchServer extends MonitoredProcess { // Set cluster coordinates esSettings.put("cluster.name", clusterName); + esSettings.put("node.rack_id", props.of(SONAR_NODE_NAME)); + esSettings.put("cluster.routing.allocation.awareness.attributes","rack_id"); if (props.contains(SONAR_NODE_NAME)) { esSettings.put("node.name", props.of(SONAR_NODE_NAME)); } else { diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/ESNode.java b/server/sonar-server/src/main/java/org/sonar/server/search/ESNode.java index f0dc7af8751..a39454f52d4 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/search/ESNode.java +++ b/server/sonar-server/src/main/java/org/sonar/server/search/ESNode.java @@ -49,7 +49,6 @@ import org.sonar.api.config.Settings; import org.sonar.core.profiling.Profiling; import org.sonar.core.profiling.StopWatch; import org.sonar.server.search.es.ListUpdate; -import org.sonar.server.search.es.ListUpdate.UpdateListScriptFactory; import javax.annotation.CheckForNull; @@ -101,10 +100,10 @@ public class ESNode implements Startable { .put("indices.store.throttle.type", "merge") .put("indices.store.throttle.max_bytes_per_sec", "200mb") - .put("script.default_lang", "native") - .put("script.native." + ListUpdate.NAME + ".type", UpdateListScriptFactory.class.getName()) - + // Set cluster coordinates .put("cluster.name", StringUtils.defaultIfBlank(settings.getString(IndexProperties.CLUSTER_NAME), "sonarqube")) + .put("node.rack_id", settings.hasKey(IndexProperties.NODE_NAME)) + .put("path.home", esHomeDir().getAbsolutePath()); @@ -234,6 +233,11 @@ public class ESNode implements Startable { .put("index.number_of_replicas", "0") .put("node.local", true) + // Initialize our own ListUpdate + .put("script.default_lang", "native") + .put("script.native." + ListUpdate.NAME + ".type", ListUpdate.UpdateListScriptFactory.class.getName()) + + .put("index.search.slowlog.threshold.query.warn", "10ms") // Cannot use anything else but warn .put("index.search.slowlog.threshold.query.info", "10ms") -- 2.39.5