Github user codymarcel commented on a diff in the pull request: https://github.com/apache/phoenix/pull/89#discussion_r32848091 --- Diff: phoenix-pherf/src/main/java/org/apache/phoenix/pherf/Pherf.java --- @@ -146,49 +173,77 @@ public void run() throws Exception { } return; } - workloadExec = (scenarioFile == null) - ? new WorkloadExecutor(properties, - new XMLConfigParser(PherfConstants.DEFAULT_FILE_PATTERN), - monitor) - : new WorkloadExecutor(properties, - new XMLConfigParser(scenarioFile), - monitor); + XMLConfigParser parser = new XMLConfigParser(scenarioFile); // Drop tables with PHERF schema and regex comparison if (null != dropPherfTablesRegEx) { - logger.info("\nDropping existing table with PHERF namename and " - + dropPherfTablesRegEx + " regex expression."); - new PhoenixUtil().deleteTables(dropPherfTablesRegEx); + logger.info( + "\nDropping existing table with PHERF namename and " + dropPherfTablesRegEx + + " regex expression."); + phoenixUtil.deleteTables(dropPherfTablesRegEx); } - // Schema and Data Load - if (loadData) { + if (monitor) { + MonitorManager + monitorManager = + new MonitorManager(Integer.parseInt( + properties.getProperty("pherf.default.monitorFrequency"))); + workloadExecutor.add(monitorManager); --- End diff -- We want the monitor to run through the duration of the workloads. If we call get here, it would block on the monitor until it completed then exit before the other workloads finish. I am glad you commented on this though. I just realized I am not calling complete() on the monitor at the end. So it can block indefinitely right now or leave the monitor dangling. I'll make that change.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---