DRILL-1090: Shutdown Drillbit if start-up fails
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/015680c8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/015680c8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/015680c8 Branch: refs/heads/master Commit: 015680c810dedd12aae3a8135f9fb52af8c65fb6 Parents: 9ed654b Author: Hanifi Gunes <hgu...@maprtech.com> Authored: Mon Jul 21 14:08:57 2014 -0700 Committer: Aditya Kishore <adi...@maprtech.com> Committed: Thu Jul 24 16:16:02 2014 -0700 ---------------------------------------------------------------------- .../src/main/java/org/apache/drill/exec/server/Drillbit.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/015680c8/exec/java-exec/src/main/java/org/apache/drill/exec/server/Drillbit.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/Drillbit.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/Drillbit.java index 43cc2b9..57e07a0 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/Drillbit.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/Drillbit.java @@ -73,6 +73,7 @@ public class Drillbit implements Closeable{ logger.debug("Starting Drillbit."); bit.run(); } catch (Exception e) { + bit.close(); throw new DrillbitStartupException("Failure during initial startup of Drillbit.", e); } return bit; @@ -156,7 +157,7 @@ public class Drillbit implements Closeable{ } public void close() { - if (coord != null) coord.unregister(handle); + if (coord != null && handle != null) coord.unregister(handle); try { Thread.sleep(context.getConfig().getInt(ExecConstants.ZK_REFRESH) * 2); @@ -168,6 +169,11 @@ public class Drillbit implements Closeable{ } catch (Exception e) { logger.warn("Failure while shutting down embedded jetty server."); } + try { + cache.close(); + } catch (Exception e) { + e.printStackTrace(); + } Closeables.closeQuietly(engine); Closeables.closeQuietly(storeProvider); Closeables.closeQuietly(coord);