Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 1fc19625e -> 419ee637e


PHOENIX-2528 Pherf JVM doesn't exit due to un-closed ThreadPool (elserj)


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

Branch: refs/heads/4.x-HBase-0.98
Commit: 419ee637e561386c0b22be1b51d5533bb28538de
Parents: 1fc1962
Author: Mujtaba <mujt...@apache.org>
Authored: Tue Dec 22 15:18:23 2015 -0800
Committer: Mujtaba <mujt...@apache.org>
Committed: Tue Dec 22 15:18:23 2015 -0800

----------------------------------------------------------------------
 .../main/java/org/apache/phoenix/pherf/Pherf.java | 18 ++++++++++--------
 .../apache/phoenix/pherf/util/ResourceList.java   |  3 ++-
 .../phoenix/pherf/workload/WriteWorkload.java     |  1 +
 3 files changed, 13 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/419ee637/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/Pherf.java
----------------------------------------------------------------------
diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/Pherf.java 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/Pherf.java
index b84183b..154d6ff 100644
--- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/Pherf.java
+++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/Pherf.java
@@ -254,11 +254,17 @@ public class Pherf {
             // Schema and Data Load
             if (preLoadData) {
                 logger.info("\nStarting Data Load...");
-                WriteWorkload workload = new WriteWorkload(parser, 
generateStatistics);
-                workloadExecutor.add(workload);
+                Workload workload = new WriteWorkload(parser, 
generateStatistics);
+                try {
+                    workloadExecutor.add(workload);
 
-                // Wait for dataLoad to complete
-                workloadExecutor.get(workload);
+                    // Wait for dataLoad to complete
+                    workloadExecutor.get(workload);
+                } finally {
+                    if (null != workload) {
+                        workload.complete();
+                    }
+                }
             } else {
                 logger.info(
                         "\nSKIPPED: Data Load and schema creation as -l 
argument not specified");
@@ -290,10 +296,6 @@ public class Pherf {
             if (workloadExecutor != null) {
                 logger.info("Run completed. Shutting down thread pool.");
                 workloadExecutor.shutdown();
-                if (preLoadData) {
-                       System.exit(0);
-                }
-                
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/419ee637/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/util/ResourceList.java
----------------------------------------------------------------------
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/util/ResourceList.java 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/util/ResourceList.java
index 5359c35..037426e 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/util/ResourceList.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/util/ResourceList.java
@@ -18,6 +18,7 @@
 
 package org.apache.phoenix.pherf.util;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.phoenix.pherf.exception.PherfException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -108,7 +109,7 @@ public class ResourceList {
             final String element,
             final Pattern pattern) {
         final List<String> retVal = new ArrayList<>();
-        if (element.equals("")) {
+        if (StringUtils.isBlank(element)) {
             return retVal;
         }
         final File file = new File(element);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/419ee637/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/WriteWorkload.java
----------------------------------------------------------------------
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/WriteWorkload.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/WriteWorkload.java
index a35e6e8..e536eb9 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/WriteWorkload.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/WriteWorkload.java
@@ -134,6 +134,7 @@ public class WriteWorkload implements Workload {
     }
 
     @Override public void complete() {
+        pool.shutdownNow();
     }
 
     public Runnable execute() throws Exception {

Reply via email to