This is an automated email from the ASF dual-hosted git repository. mahesh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push: new b0d01eb HIVE-21055 : REPL LOAD command executing copy in serial mode even if parallel execution is enabled using WITH clause. (Mahesh Kumar Behera, reviewed by Sankar Hariappan) b0d01eb is described below commit b0d01eb68a604bb6efb68455193803f0651dc265 Author: Mahesh Kumar Behera <mah...@apache.org> AuthorDate: Wed Feb 13 12:55:38 2019 +0530 HIVE-21055 : REPL LOAD command executing copy in serial mode even if parallel execution is enabled using WITH clause. (Mahesh Kumar Behera, reviewed by Sankar Hariappan) --- ql/src/java/org/apache/hadoop/hive/ql/Driver.java | 2 +- ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java | 5 +++++ ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java | 4 ++++ .../hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java | 6 +----- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java index 95a4653..cac14a6 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -2696,7 +2696,7 @@ public class Driver implements IDriver { cxt.launching(tskRun); // Launch Task - if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.EXECPARALLEL) && tsk.canExecuteInParallel()) { + if (HiveConf.getBoolVar(tsk.getConf(), HiveConf.ConfVars.EXECPARALLEL) && tsk.canExecuteInParallel()) { // Launch it in the parallel mode, as a separate thread only for MR tasks if (LOG.isInfoEnabled()){ LOG.info("Starting task [" + tsk + "] in parallel"); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java index 4f2a116..1c2522d 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java @@ -870,4 +870,9 @@ public class MoveTask extends Task<MoveWork> implements Serializable { public String getName() { return "MOVE"; } + + @Override + public boolean canExecuteInParallel() { + return false; + } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java index b39771f..3308797 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java @@ -435,6 +435,10 @@ public abstract class Task<T extends Serializable> implements Serializable, Node this.conf = conf; } + public HiveConf getConf() { + return this.conf; + } + public void setWork(T work) { this.work = work; } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java index 5302191..3e0c969 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java @@ -382,11 +382,7 @@ public class IncrementalLoadTasksBuilder { } // Link import tasks to the barrier task which will in-turn linked with repl state update tasks - for (Task<? extends Serializable> t : importTasks){ - t.addDependentTask(barrierTask); - log.debug("Added {}:{} as a precursor of barrier task {}:{}", - t.getClass(), t.getId(), barrierTask.getClass(), barrierTask.getId()); - } + DAGTraversal.traverse(importTasks, new AddDependencyToLeaves(barrierTask)); // At least one task would have been added to update the repl state return tasks;