diff --git a/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecutionOverlayPlugin.java b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecutionOverlayPlugin.java index 50803cc0a5..83df334931 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecutionOverlayPlugin.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecutionOverlayPlugin.java @@ -26,6 +26,7 @@ import org.apache.hadoop.hive.ql.hooks.HookContext; import org.apache.hadoop.hive.ql.hooks.HookContext.HookType; import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper; +import org.apache.tez.dag.api.TezConfiguration; /** * Re-Executes a query only adding an extra overlay @@ -55,6 +56,12 @@ public void initialize(Driver driver) { this.driver = driver; driver.getHookRunner().addOnFailureHook(new LocalHook()); HiveConf conf = driver.getConf(); + // we unset the queue name intentionally in TezSessionState#startSessionAndContainers + // as a result reexec create new session in the default queue and create problem + String queueName = conf.get(TezConfiguration.TEZ_QUEUE_NAME); + if (queueName != null) { + conf.set("reexec.overlay.tez.queue.name", queueName); + } subtree = conf.subtree("reexec.overlay"); } diff --git a/ql/src/test/queries/clientpositive/retry_failure.q b/ql/src/test/queries/clientpositive/retry_failure.q index ad12ecd81a..a4d9581dd1 100644 --- a/ql/src/test/queries/clientpositive/retry_failure.q +++ b/ql/src/test/queries/clientpositive/retry_failure.q @@ -9,5 +9,8 @@ set reexec.overlay.zzz=2; set hive.query.reexecution.enabled=true; set hive.query.reexecution.strategies=overlay; +set hive.fetch.task.conversion=none; +set tez.queue.name=default; select assert_true(${hiveconf:zzz} > a) from tx_n1 group by a; +select assert_true(${hiveconf:zzz} > a), assert_true("${hiveconf:tez.queue.name}" = 'default') from tx_n1;