Repository: phoenix
Updated Branches:
  refs/heads/3.0 ae4799626 -> 46ee62e2e


PHOENIX-1104 Do not shutdown threadpool when initialization fails


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/46ee62e2
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/46ee62e2
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/46ee62e2

Branch: refs/heads/3.0
Commit: 46ee62e2e56efc0f93b310975ee449d8a3396289
Parents: ae47996
Author: Mujtaba <mujt...@apache.org>
Authored: Mon Jul 21 19:36:06 2014 -0700
Committer: Mujtaba <mujt...@apache.org>
Committed: Mon Jul 21 19:36:06 2014 -0700

----------------------------------------------------------------------
 .../org/apache/phoenix/jdbc/PhoenixDriver.java  | 29 ++++++++++++--------
 .../phoenix/query/BaseQueryServicesImpl.java    |  1 -
 2 files changed, 17 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/46ee62e2/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDriver.java
----------------------------------------------------------------------
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDriver.java 
b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDriver.java
index 3df23a6..b305d8f 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDriver.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDriver.java
@@ -23,6 +23,7 @@ import java.util.Collection;
 import java.util.Properties;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.ExecutorService;
 
 import org.apache.phoenix.query.ConnectionQueryServices;
 import org.apache.phoenix.query.ConnectionQueryServicesImpl;
@@ -167,21 +168,25 @@ public final class PhoenixDriver extends 
PhoenixEmbeddedDriver {
             return;
         }
         closed = true;
-        Collection<ConnectionQueryServices> connectionQueryServices = 
connectionQueryServicesMap.values();
-        if (!connectionQueryServices.isEmpty()) {
-            try {
+        try {
+            Collection<ConnectionQueryServices> connectionQueryServices = 
connectionQueryServicesMap.values();
+             try {
+                SQLCloseables.closeAll(connectionQueryServices);
+            } finally {
+                connectionQueryServices.clear();
+            }
+        } finally {
+            if (services != null) {
                 try {
-                    SQLCloseables.closeAll(connectionQueryServices);
-                } finally {
-                    // We know there's a services object if any connections 
were made
                     services.close();
+                } finally {
+                    ExecutorService executor = services.getExecutor();
+                    // Even if something wrong happened while closing services 
above, we still
+                    // want to set it to null. Otherwise, we will end up 
having a possibly non-working
+                    // services instance. 
+                    services = null;
+                    executor.shutdown();
                 }
-            } finally {
-                //even if something wrong happened while closing services 
above, we still
-                //want to set it to null. Otherwise, we will end up having a 
possibly non-working
-                //services instance. 
-                services = null;
-                connectionQueryServices.clear();
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/46ee62e2/phoenix-core/src/main/java/org/apache/phoenix/query/BaseQueryServicesImpl.java
----------------------------------------------------------------------
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/BaseQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/BaseQueryServicesImpl.java
index 10e562b..1e8fec7 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/BaseQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/BaseQueryServicesImpl.java
@@ -69,7 +69,6 @@ public abstract class BaseQueryServicesImpl implements 
QueryServices {
 
     @Override
     public void close() {
-        executor.shutdown();
     }
 
     @Override

Reply via email to