Repository: hive Updated Branches: refs/heads/llap 37317b11f -> f0dd95628
HIVE-10764: LLAP: Wait queue scheduler goes into tight loop (Prasanth Jayachandran) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f0dd9562 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f0dd9562 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f0dd9562 Branch: refs/heads/llap Commit: f0dd95628c8c8c3598f5c9f4f16b8c7e70ada107 Parents: 37317b1 Author: Prasanth Jayachandran <[email protected]> Authored: Tue May 19 19:02:04 2015 -0700 Committer: Prasanth Jayachandran <[email protected]> Committed: Tue May 19 19:02:04 2015 -0700 ---------------------------------------------------------------------- .../apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java | 2 +- .../hadoop/hive/llap/daemon/impl/TestTaskExecutorService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/f0dd9562/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java ---------------------------------------------------------------------- diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java index 599c759..09c8c39 100644 --- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java +++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java @@ -135,7 +135,7 @@ public class TaskExecutorService implements Scheduler<TaskRunnerCallable> { // TODO: Event notifications that change canFinish state should notify waitLock synchronized (waitLock) { // KKK Is this a tight loop when there's only finishable tasks available ? - if (!task.canFinish() && numSlotsAvailable.get() == 0) { + if (!task.canFinish() || numSlotsAvailable.get() == 0) { waitLock.wait(); // Another task at a higher priority may have come in during the wait. Lookup the // queue again to pick up the task at the highest priority. http://git-wip-us.apache.org/repos/asf/hive/blob/f0dd9562/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestTaskExecutorService.java ---------------------------------------------------------------------- diff --git a/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestTaskExecutorService.java b/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestTaskExecutorService.java index f0e53a7..e387ce4 100644 --- a/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestTaskExecutorService.java +++ b/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestTaskExecutorService.java @@ -60,7 +60,7 @@ public class TestTaskExecutorService { @Override protected TaskRunner2Result callInternal() { - System.out.println(requestId + " is executing.."); + System.out.println(super.toString() + " is executing.."); try { Thread.sleep(workTime); } catch (InterruptedException e) {
