diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java index d0b32b8..46cfe56 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java @@ -179,7 +179,7 @@ public TezSessionPoolSession create(TezSessionPoolSession oldSession) { } } - public void initTriggers(final HiveConf conf) throws HiveException { + public void initTriggers(final HiveConf conf) { if (triggerValidatorRunnable == null) { final long triggerValidationIntervalMs = HiveConf.getTimeVar(conf, ConfVars .HIVE_TRIGGER_VALIDATION_INTERVAL, TimeUnit.MILLISECONDS); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java index 13b0a30..d1b3fec 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java @@ -76,6 +76,7 @@ void startTriggerValidator(long triggerValidationIntervalMs) { Runnable triggerValidatorRunnable = getTriggerValidatorRunnable(); scheduledExecutorService.scheduleWithFixedDelay(triggerValidatorRunnable, triggerValidationIntervalMs, triggerValidationIntervalMs, TimeUnit.MILLISECONDS); + LOG.info("Started trigger validator with interval: {} ms", triggerValidationIntervalMs); } } @@ -83,6 +84,7 @@ void stopTriggerValidator() { if (scheduledExecutorService != null) { scheduledExecutorService.shutdownNow(); scheduledExecutorService = null; + LOG.info("Stopped trigger validator"); } } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java index 25922d9..00e2c20 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java @@ -241,6 +241,7 @@ private static int determineQueryParallelism(WMFullResourcePlan plan) { } public void start() throws Exception { + initTriggers(); tezAmPool.start(); if (expirationTracker != null) { expirationTracker.start(); @@ -249,13 +250,17 @@ public void start() throws Exception { amComm.start(); } allocationManager.start(); + } - final long triggerValidationIntervalMs = HiveConf.getTimeVar(conf, - HiveConf.ConfVars.HIVE_TRIGGER_VALIDATION_INTERVAL, TimeUnit.MILLISECONDS); - TriggerActionHandler triggerActionHandler = new KillMoveTriggerActionHandler(this); - triggerValidatorRunnable = new PerPoolTriggerValidatorRunnable(perPoolProviders, triggerActionHandler, - triggerValidationIntervalMs); - startTriggerValidator(triggerValidationIntervalMs); + private void initTriggers() { + if (triggerValidatorRunnable == null) { + final long triggerValidationIntervalMs = HiveConf.getTimeVar(conf, + HiveConf.ConfVars.HIVE_TRIGGER_VALIDATION_INTERVAL, TimeUnit.MILLISECONDS); + TriggerActionHandler triggerActionHandler = new KillMoveTriggerActionHandler(this); + triggerValidatorRunnable = new PerPoolTriggerValidatorRunnable(perPoolProviders, triggerActionHandler, + triggerValidationIntervalMs); + startTriggerValidator(triggerValidationIntervalMs); + } } public void stop() throws Exception {