Repository: hive Updated Branches: refs/heads/master 974d41902 -> dabb62d6e
HIVE-18638: Triggers for multi-pool move, failing to initiate the move event (Prasanth Jayachandran reviewed by Sergey Shelukhin) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/dabb62d6 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/dabb62d6 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/dabb62d6 Branch: refs/heads/master Commit: dabb62d6e66f747516e976610692febe07494fe8 Parents: 974d419 Author: Prasanth Jayachandran <prasan...@apache.org> Authored: Thu Feb 15 11:12:33 2018 -0800 Committer: Prasanth Jayachandran <prasan...@apache.org> Committed: Thu Feb 15 11:12:33 2018 -0800 ---------------------------------------------------------------------- .../hive/ql/exec/tez/TezSessionPoolManager.java | 2 +- .../hive/ql/exec/tez/TezSessionPoolSession.java | 2 ++ .../hadoop/hive/ql/exec/tez/WorkloadManager.java | 17 +++++++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/dabb62d6/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java ---------------------------------------------------------------------- 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 class TezSessionPoolManager extends TezSessionPoolSession.AbstractTrigger } } - 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); http://git-wip-us.apache.org/repos/asf/hive/blob/dabb62d6/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java ---------------------------------------------------------------------- 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 @@ class TezSessionPoolSession extends TezSessionState { Runnable triggerValidatorRunnable = getTriggerValidatorRunnable(); scheduledExecutorService.scheduleWithFixedDelay(triggerValidatorRunnable, triggerValidationIntervalMs, triggerValidationIntervalMs, TimeUnit.MILLISECONDS); + LOG.info("Started trigger validator with interval: {} ms", triggerValidationIntervalMs); } } @@ -83,6 +84,7 @@ class TezSessionPoolSession extends TezSessionState { if (scheduledExecutorService != null) { scheduledExecutorService.shutdownNow(); scheduledExecutorService = null; + LOG.info("Stopped trigger validator"); } } } http://git-wip-us.apache.org/repos/asf/hive/blob/dabb62d6/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java ---------------------------------------------------------------------- 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 @@ public class WorkloadManager extends TezSessionPoolSession.AbstractTriggerValida } public void start() throws Exception { + initTriggers(); tezAmPool.start(); if (expirationTracker != null) { expirationTracker.start(); @@ -249,13 +250,17 @@ public class WorkloadManager extends TezSessionPoolSession.AbstractTriggerValida 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 {