Repository: phoenix
Updated Branches:
  refs/heads/master caa0dbb46 -> 3cbebb8bd


PHOENIX-2345 - Pherf - ResultManager does not flush


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

Branch: refs/heads/master
Commit: 3cbebb8bdb373cc0ac5cb5be0b70b0a5ce061d90
Parents: caa0dbb
Author: cmarcel <cody.mar...@gmail.com>
Authored: Thu Oct 22 12:46:31 2015 -0700
Committer: cmarcel <cmar...@salesforce.com>
Committed: Thu Oct 22 15:25:39 2015 -0700

----------------------------------------------------------------------
 .../phoenix/pherf/result/ResultManager.java     | 20 ++++++++++++++++++++
 .../pherf/workload/MultiThreadedRunner.java     |  4 ++++
 .../phoenix/pherf/workload/QueryExecutor.java   |  1 +
 .../org/apache/phoenix/pherf/ResultTest.java    |  1 +
 4 files changed, 26 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/3cbebb8b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/ResultManager.java
----------------------------------------------------------------------
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/ResultManager.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/ResultManager.java
index f994621..4d4ca4a 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/ResultManager.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/result/ResultManager.java
@@ -24,11 +24,15 @@ import 
org.apache.phoenix.pherf.result.impl.CSVFileResultHandler;
 import org.apache.phoenix.pherf.result.impl.ImageResultHandler;
 import org.apache.phoenix.pherf.result.impl.XMLResultHandler;
 import org.apache.phoenix.util.InstanceResolver;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class ResultManager {
+    private static final Logger logger = 
LoggerFactory.getLogger(ResultManager.class);
+
     private final List<ResultHandler> resultHandlers;
     private final ResultUtil util;
     private static final List<ResultHandler> defaultHandlers;
@@ -134,6 +138,22 @@ public class ResultManager {
         }
     }
 
+    /**
+     * Allows for flushing all the {@link 
org.apache.phoenix.pherf.result.ResultHandler}
+     * @throws Exception
+     */
+    public synchronized void flush(){
+        for (ResultHandler handler : resultHandlers) {
+            try {
+                handler.flush();
+            } catch (Exception e) {
+                e.printStackTrace();
+                logger.warn("Could not flush handler: "
+                        + handler.getResultFileName() + " : " + 
e.getMessage());
+            }
+        }
+    }
+
     public List<ResultHandler> getResultHandlers() {
         return resultHandlers;
     }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3cbebb8b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java
----------------------------------------------------------------------
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java
index de6cdaf..24c68dc 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java
@@ -89,6 +89,10 @@ class MultiThreadedRunner implements Runnable {
                 e.printStackTrace();
             }
         }
+
+        // Make sure all result have been dumped before exiting
+        resultManager.flush();
+
         logger.info("\n\nThread exiting." + threadName + "\n\n");
     }
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3cbebb8b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/QueryExecutor.java
----------------------------------------------------------------------
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/QueryExecutor.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/QueryExecutor.java
index 347e203..7f861f1 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/QueryExecutor.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/QueryExecutor.java
@@ -169,6 +169,7 @@ public class QueryExecutor implements Workload {
                         resultManager.write(dataModelResult);
                     }
                     resultManager.write(dataModelResults);
+                    resultManager.flush();
                 } catch (Exception e) {
                     logger.warn("", e);
                 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3cbebb8b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultTest.java
----------------------------------------------------------------------
diff --git 
a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultTest.java 
b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultTest.java
index e543137..2afdd21 100644
--- a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultTest.java
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultTest.java
@@ -124,6 +124,7 @@ public class ResultTest extends ResultBaseTest {
         modelResults.add(dataModelResult);
         modelResults.add(dataModelResult);
         resultManager.write(modelResults);
+        resultManager.flush();
 
         // read result from file
         List<Result> resultList = xmlResultHandler.read();

Reply via email to