You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ab...@apache.org on 2020/04/07 12:41:05 UTC
[hive] branch master updated: HIVE-23122: LLAP: TaskExecutorService should log details about task eviction decision details (László Bodor reviewed by Panagiotis Garefalakis, Rajesh Balamohan)
This is an automated email from the ASF dual-hosted git repository.
abstractdog 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 aed6bbf HIVE-23122: LLAP: TaskExecutorService should log details about task eviction decision details (László Bodor reviewed by Panagiotis Garefalakis, Rajesh Balamohan)
aed6bbf is described below
commit aed6bbfca79949ce944e14fd4a12d17eef8e1c73
Author: László Bodor <bo...@gmail.com>
AuthorDate: Tue Apr 7 14:40:28 2020 +0200
HIVE-23122: LLAP: TaskExecutorService should log details about task eviction decision details (László Bodor reviewed by Panagiotis Garefalakis, Rajesh Balamohan)
Signed-off-by: Laszlo Bodor <bo...@gmail.com>
---
.../hive/llap/daemon/impl/TaskExecutorService.java | 25 ++++++++++++++++++++++
1 file changed, 25 insertions(+)
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 32fbad5..d8b517d 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
@@ -579,6 +579,31 @@ public class TaskExecutorService extends AbstractService
if (LOG.isInfoEnabled()) {
LOG.info("{} evicted from wait queue in favor of {} because of lower priority",
evictedTask.getRequestId(), task.getRequestId());
+ } else if (LOG.isDebugEnabled()) { // detailed info about the decision
+ FragmentRuntimeInfo evictedInfo =
+ evictedTask.getTaskRunnerCallable().getFragmentRuntimeInfo();
+ FragmentRuntimeInfo taskInfo = task.getFragmentRuntimeInfo();
+
+ int knownPendingTasksForEvicted = evictedInfo.getNumSelfAndUpstreamTasks()
+ - evictedInfo.getNumSelfAndUpstreamCompletedTasks();
+ int knownPendingTasksForCurrent =
+ taskInfo.getNumSelfAndUpstreamTasks() - taskInfo.getNumSelfAndUpstreamCompletedTasks();
+
+ long firstAttemptStartTimeEvicted = evictedInfo.getFirstAttemptStartTime();
+ long firstAttemptStartTimeCurrent = taskInfo.getFirstAttemptStartTime();
+
+ LOG.debug(
+ "{} (guaranteed: {}, canFinishForPriority: {}, withinDagPriority: {}, currentAttemptStartTime: {}, "
+ + "firstAttemptStartTime: {}, knownPending: {}) evicted from wait queue"
+ + "in favor of {} (guaranteed: {}, canFinishForPriority: {}, withinDagPriority: {},"
+ + " currentAttemptStartTime: {}, firstAttemptStartTime: {}, knownPending: {})"
+ + "because of lower priority",
+ evictedTask.getRequestId(), evictedTask.isGuaranteed(), evictedTask.canFinishForPriority(),
+ evictedInfo.getWithinDagPriority(), evictedInfo.getCurrentAttemptStartTime(),
+ firstAttemptStartTimeEvicted, knownPendingTasksForEvicted, task.getRequestId(),
+ taskWrapper.isGuaranteed(), taskWrapper.canFinishForPriority(), taskInfo.getWithinDagPriority(),
+ taskInfo.getCurrentAttemptStartTime(), firstAttemptStartTimeCurrent,
+ knownPendingTasksForCurrent);
}
try {
knownTasks.remove(evictedTask.getRequestId());