diff options
5 files changed, 23 insertions, 7 deletions
diff --git a/server/sonar-process/src/main/java/org/sonar/process/ProcessWrapper.java b/server/sonar-process/src/main/java/org/sonar/process/ProcessWrapper.java index 9e0495eafc3..428d85d42fb 100644 --- a/server/sonar-process/src/main/java/org/sonar/process/ProcessWrapper.java +++ b/server/sonar-process/src/main/java/org/sonar/process/ProcessWrapper.java @@ -173,6 +173,10 @@ public class ProcessWrapper extends Thread { for (Map.Entry<String, String> property : properties.entrySet()) { props.put(property.getKey(), property.getValue()); } + props.put(Process.SONAR_HOME, workDir); + props.put(Process.NAME_PROPERTY, this.getName()); + props.put(Process.PORT_PROPERTY, Integer.toString(port)); + OutputStream out = new FileOutputStream(propertyFile); props.store(out, "Temporary properties file for Process [" + getName() + "]"); out.close(); diff --git a/server/sonar-search/src/main/java/org/sonar/search/ElasticSearch.java b/server/sonar-search/src/main/java/org/sonar/search/ElasticSearch.java index a98e9e3b27b..625f1d4ce62 100644 --- a/server/sonar-search/src/main/java/org/sonar/search/ElasticSearch.java +++ b/server/sonar-search/src/main/java/org/sonar/search/ElasticSearch.java @@ -65,6 +65,7 @@ public class ElasticSearch extends Process { .get() .getStatus() != ClusterHealthStatus.RED); } catch (Exception e) { + //LOGGER.warn("ES is not ready yet.", e); return false; } } @@ -119,11 +120,11 @@ public class ElasticSearch extends Process { node = NodeBuilder.nodeBuilder() .settings(esSettings) - .build(); + .build().start(); - while (!node.isClosed()) { + while (node != null && !node.isClosed()) { try { - Thread.sleep(1000); + Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } diff --git a/server/sonar-search/src/test/java/org/sonar/search/ElasticSearchTest.java b/server/sonar-search/src/test/java/org/sonar/search/ElasticSearchTest.java index 28451883656..743b2bc427b 100644 --- a/server/sonar-search/src/test/java/org/sonar/search/ElasticSearchTest.java +++ b/server/sonar-search/src/test/java/org/sonar/search/ElasticSearchTest.java @@ -126,13 +126,16 @@ public class ElasticSearchTest { }).start(); assertThat(elasticSearch.isReady()).isFalse(); - while (!elasticSearch.isReady()) { + int count = 0; + while (!elasticSearch.isReady() && count < 100) { try { - Thread.sleep(200); + Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } + count++; } + assertThat(count).isLessThan(100); Settings settings = ImmutableSettings.settingsBuilder() .put("cluster.name", "sonarqube") diff --git a/server/sonar-search/src/test/resources/search.properties b/server/sonar-search/src/test/resources/search.properties new file mode 100644 index 00000000000..0284324dc91 --- /dev/null +++ b/server/sonar-search/src/test/resources/search.properties @@ -0,0 +1,8 @@ +#Temporary properties file for Process [ES] +#Fri Jul 18 15:05:56 CEST 2014 +SONAR_HOME=/Volumes/data/sonar/sonarqube/sonar-start/target/sonarqube-4.5-SNAPSHOT/ +esHome=/Volumes/data/sonar/sonarqube/sonar-start/target/sonarqube-4.5-SNAPSHOT/. +esDebug=true +esPort=57013 +pName=ES +#pPort=57011 diff --git a/sonar-start/src/main/java/org/sonar/start/StartServer.java b/sonar-start/src/main/java/org/sonar/start/StartServer.java index 2eff7ddce0c..f363ba61863 100644 --- a/sonar-start/src/main/java/org/sonar/start/StartServer.java +++ b/sonar-start/src/main/java/org/sonar/start/StartServer.java @@ -151,8 +151,8 @@ public final class StartServer { public static void main(String... args) throws InterruptedException, IOException, URISyntaxException { - //String home = System.getenv(SONAR_HOME); - String home = "/Volumes/data/sonar/sonarqube/sonar-start/target/sonarqube-4.5-SNAPSHOT"; + String home = System.getenv(SONAR_HOME); + //String home = "/Volumes/data/sonar/sonarqube/sonar-start/target/sonarqube-4.5-SNAPSHOT"; //Check if we have a SONAR_HOME if (StringUtils.isEmpty(home)) { |