aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorStephane Gamard <stephane.gamard@searchbox.com>2014-08-07 10:03:05 +0200
committerStephane Gamard <stephane.gamard@searchbox.com>2014-08-07 10:03:26 +0200
commit2cb85007b22eebc03340d7faebcbc60fce3385eb (patch)
tree17ac49f2a84b951c07adf95d24b6891e8f4b19e1 /server
parentd320d2738d590e608c0e1eb32ae848634672149f (diff)
downloadsonarqube-2cb85007b22eebc03340d7faebcbc60fce3385eb.tar.gz
sonarqube-2cb85007b22eebc03340d7faebcbc60fce3385eb.zip
SONAR-5483 - Added Cluster zone-awareness using rack_id
Diffstat (limited to 'server')
-rw-r--r--server/sonar-search/src/main/java/org/sonar/search/SearchServer.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/search/ESNode.java12
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")