diff options
author | Stephane Gamard <stephane.gamard@searchbox.com> | 2014-07-23 11:37:35 +0200 |
---|---|---|
committer | Stephane Gamard <stephane.gamard@searchbox.com> | 2014-07-23 15:34:07 +0200 |
commit | cf4a25947f7812927f22c0c2cf2cd1bf8a58718c (patch) | |
tree | 83f3295cfa6096b630727f04064756804722c187 | |
parent | 1956e1b379399f6c689ef3fcb6072ad683c6e26e (diff) | |
download | sonarqube-cf4a25947f7812927f22c0c2cf2cd1bf8a58718c.tar.gz sonarqube-cf4a25947f7812927f22c0c2cf2cd1bf8a58718c.zip |
SONAR-4898 - Updated logging for top level and cleaned termination
3 files changed, 18 insertions, 5 deletions
diff --git a/server/sonar-process/src/main/java/org/sonar/process/Process.java b/server/sonar-process/src/main/java/org/sonar/process/Process.java index d7fef28593d..dfcaca18022 100644 --- a/server/sonar-process/src/main/java/org/sonar/process/Process.java +++ b/server/sonar-process/src/main/java/org/sonar/process/Process.java @@ -151,7 +151,7 @@ public abstract class Process implements ProcessMXBean { public abstract void onTerminate(); public final void start() { - LOGGER.trace("Process[{}]::start() START", name); + LOGGER.debug("Process[{}]::start() START", name); if (this.port != null) { lastPing = System.currentTimeMillis(); pingTask = monitor.scheduleWithFixedDelay(breakOnMissingPing, 5, 5, TimeUnit.SECONDS); @@ -171,6 +171,6 @@ public abstract class Process implements ProcessMXBean { } this.onTerminate(); } - LOGGER.debug("Process[{}]::terminate() END", name); + LOGGER.trace("Process[{}]::terminate() END", name); } } 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 04fa01d26d2..d752c91faa4 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 @@ -153,11 +153,11 @@ public class ProcessWrapper extends Thread { e.printStackTrace(); } finally { LOGGER.info("ProcessThread has been interrupted. Killing process."); - process.destroy(); waitUntilFinish(outputGobbler); waitUntilFinish(errorGobbler); closeStreams(process); } + //process.destroy(); //Uncertain if this is required or not... LOGGER.trace("ProcessWrapper::run() END"); } @@ -171,7 +171,6 @@ public class ProcessWrapper extends Thread { private void waitUntilFinish(@Nullable Thread thread) { if (thread != null) { - //TODO kill after X amount of time (if process does not exit by itself). try { thread.join(); } catch (InterruptedException e) { diff --git a/sonar-application/src/main/java/org/sonar/application/StartServer.java b/sonar-application/src/main/java/org/sonar/application/StartServer.java index 822ff487e0d..d7a8a89aaa5 100644 --- a/sonar-application/src/main/java/org/sonar/application/StartServer.java +++ b/sonar-application/src/main/java/org/sonar/application/StartServer.java @@ -19,6 +19,8 @@ */ package org.sonar.application; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.sonar.process.Monitor; import org.sonar.process.NetworkUtils; import org.sonar.process.ProcessWrapper; @@ -30,13 +32,17 @@ public class StartServer { private ProcessWrapper elasticsearch; private ProcessWrapper server; + private static Logger LOGGER = LoggerFactory.getLogger(StartServer.class); + public StartServer() throws Exception { Installation installation = new Installation(); Thread shutdownHook = new Thread(new Runnable() { @Override public void run() { + LOGGER.info("JVM Shutdown start"); stop(); + LOGGER.info("JVM Shutdown end"); } }); Runtime.getRuntime().addShutdownHook(shutdownHook); @@ -86,12 +92,20 @@ public class StartServer { } public void stop() { + LOGGER.debug("StartServer::stop() START"); if (monitor != null) { + LOGGER.trace("StartServer::stop() STOP MONITOR"); monitor.interrupt(); + monitor = null; + + LOGGER.trace("StartServer::stop() STOP ES"); terminateAndWait(elasticsearch); + + LOGGER.trace("StartServer::stop() STOP SQ"); terminateAndWait(server); - monitor = null; } + LOGGER.trace("StartServer::stop() END"); + } private void terminateAndWait(@Nullable ProcessWrapper process) { |