]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5483 - Fails to start if no master available in cluster (mainly do to wrong...
authorStephane Gamard <stephane.gamard@searchbox.com>
Mon, 25 Aug 2014 12:35:35 +0000 (14:35 +0200)
committerStephane Gamard <stephane.gamard@searchbox.com>
Mon, 25 Aug 2014 12:35:35 +0000 (14:35 +0200)
fork.sh
server/process/sonar-process/src/main/java/org/sonar/process/MonitoredProcess.java
server/sonar-search/src/main/java/org/sonar/search/SearchServer.java

diff --git a/fork.sh b/fork.sh
index 1b9048266972a5eddbb1b961587fdd95c1544053..7e8e17f02c3bc06e0726510c33170b76b464e571 100755 (executable)
--- a/fork.sh
+++ b/fork.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-mvn clean install -DskipTests -pl :sonar-server,:sonar-search -amd
+mvn clean install -DskipTests -pl :sonar-server,:sonar-search,:sonar-process -amd
 
 if [[ "$OSTYPE" == "darwin"* ]]; then
   OS='macosx-universal-64'
@@ -18,7 +18,7 @@ touch logs/application.log
 touch logs/search.log
 touch logs/sonar.log
 
-tmux new-session "tmux split-window -v 'tail -f logs/sonar.log'; tmux split-window -h 'tail -f logs/search.log'; java -jar lib/sonar-application*.jar -Dsonar.node.name=forky"
+tmux new-session "tmux split-window -v 'tail -f logs/sonar.log'; tmux split-window -h 'tail -f logs/search.log'; java -jar lib/sonar-application*.jar -Dsonar.node.name=forky -Dsonar.cluster.master=10.0.1.1:2222"
 #tmux new-session "tmux split-window -h 'tail -f logs/search.log'; java -jar lib/sonar-application*.jar"
 
 #tmux new-session "tmux split-window -v 'tail -f logs/sonar.log'; tmux split-window -h 'tail -f logs/search.log'; tail -f logs/application.log"
index 3491bd31a0cf3d85294ec5d281f4d8448548381a..23cb5dfe3a00d4e87f2fc369a12728ad057c5b5d 100644 (file)
@@ -91,7 +91,12 @@ public abstract class MonitoredProcess implements ProcessMXBean {
     }
     LOGGER.debug("Process[{}] starting", name);
     scheduleAutokill(this.isMonitored);
-    doStart();
+    try {
+      doStart();
+    } catch (Exception e) {
+      LOGGER.error("Could not start process: {}", e);
+      this.terminate();
+    }
     LOGGER.debug("Process[{}] started", name);
   }
 
index 9995ba789d0c90ffb0e31dc1bb77ac4981684eab..fd65e3028375f4c7e3aeecb2f6256c689ab0d343 100644 (file)
@@ -119,12 +119,14 @@ public class SearchServer extends MonitoredProcess {
       .put("path.logs", esLogDir().getAbsolutePath());
 
     if (!nodes.isEmpty()) {
+
       LoggerFactory.getLogger(SearchServer.class).info("Joining ES cluster with masters: {}", nodes);
       esSettings.put("discovery.zen.ping.unicast.hosts", StringUtils.join(nodes, ","));
-
+      esSettings.put("node.master", false);
       // Enforce a N/2+1 number of masters in cluster
-      esSettings.put("discovery.zen.minimum_master_nodes",
-        (int) Math.floor(nodes.size() / 2.0) + 1);
+      esSettings.put("discovery.zen.minimum_master_nodes", 1);
+      // Change master pool requirement when in distributed mode
+      // esSettings.put("discovery.zen.minimum_master_nodes", (int) Math.floor(nodes.size() / 2.0) + 1);
     }
 
     // Set cluster coordinates