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);

Reply via email to