From f79e0612dda8c2bebccd56bc4cb4f55a1d0b2571 Mon Sep 17 00:00:00 2001 From: Xinyi Yan Date: Mon, 28 Sep 2020 11:48:39 -0700 Subject: [PATCH] Phoenix-pherf writes the result file even disableRuntimeResult flag is true --- .../pherf/workload/MultiThreadedRunner.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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 b4562e3fce3..c4c38bdcf92 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 @@ -57,7 +57,7 @@ class MultiThreadedRunner implements Callable { private final Scenario scenario; private final WorkloadExecutor workloadExecutor; private final XMLConfigParser parser; - + private final boolean writeRuntimeResults; /** * MultiThreadedRunner @@ -83,6 +83,7 @@ class MultiThreadedRunner implements Callable { this.resultManager = new ResultManager(dataModelResult.getName(), writeRuntimeResults); this.workloadExecutor = workloadExecutor; this.parser = parser; + this.writeRuntimeResults = writeRuntimeResults; } /** @@ -105,16 +106,25 @@ public Void call() throws Exception { if (!timedQuery(i+1)) { break; } - if ((EnvironmentEdgeManager.currentTimeMillis() - lastResultWritten) > 1000) { + if (writeRuntimeResults && + (EnvironmentEdgeManager.currentTimeMillis() - lastResultWritten) > 1000) { resultManager.write(dataModelResult, ruleApplier); lastResultWritten = EnvironmentEdgeManager.currentTimeMillis(); } } } + if (!writeRuntimeResults) { + long duration = EnvironmentEdgeManager.currentTimeMillis() - threadStartTime; + LOGGER.info("The read query " + query.getStatement() + " for this thread in (" + + duration + ") Ms"); + } + // Make sure all result have been dumped before exiting - synchronized (workloadExecutor) { - resultManager.flush(); + if (writeRuntimeResults) { + synchronized (workloadExecutor) { + resultManager.flush(); + } } LOGGER.info("\n\nThread exiting." + threadName + "\n\n");