diff --git llap-server/src/java/org/apache/hadoop/hive/llap/tezplugins/LlapTaskCommunicator.java llap-server/src/java/org/apache/hadoop/hive/llap/tezplugins/LlapTaskCommunicator.java index 44fd7e3..d327fc0 100644 --- llap-server/src/java/org/apache/hadoop/hive/llap/tezplugins/LlapTaskCommunicator.java +++ llap-server/src/java/org/apache/hadoop/hive/llap/tezplugins/LlapTaskCommunicator.java @@ -176,8 +176,8 @@ public void registerRunningContainer(ContainerId containerId, String hostname, i } @Override - public void registerContainerEnd(ContainerId containerId, ContainerEndReason endReason) { - super.registerContainerEnd(containerId, endReason); + public void registerContainerEnd(ContainerId containerId, ContainerEndReason endReason, String diagnostics) { + super.registerContainerEnd(containerId, endReason, diagnostics); if (endReason == ContainerEndReason.INTERNAL_PREEMPTION) { LOG.info("Processing containerEnd for container {} caused by internal preemption", containerId); TezTaskAttemptID taskAttemptId = entityTracker.getTaskAttemptIdForContainer(containerId); @@ -257,7 +257,7 @@ public void indicateError(Throwable t) { "Unable to run task: " + taskSpec.getTaskAttemptID() + " on containerId: " + containerId + ", Service Busy"); getContext().taskKilled(taskSpec.getTaskAttemptID(), - TaskAttemptEndReason.SERVICE_BUSY, "Service Busy"); + TaskAttemptEndReason.EXECUTOR_BUSY, "Service Busy"); } else { // All others from the remote service cause the task to FAIL. LOG.info( @@ -291,8 +291,9 @@ public void indicateError(Throwable t) { @Override public void unregisterRunningTaskAttempt(final TezTaskAttemptID taskAttemptId, - TaskAttemptEndReason endReason) { - super.unregisterRunningTaskAttempt(taskAttemptId, endReason); + TaskAttemptEndReason endReason, + String diagnostics) { + super.unregisterRunningTaskAttempt(taskAttemptId, endReason, diagnostics); if (endReason == TaskAttemptEndReason.INTERNAL_PREEMPTION) { LOG.info("Processing taskEnd for task {} caused by internal preemption", taskAttemptId); diff --git llap-server/src/java/org/apache/tez/dag/app/rm/LlapTaskSchedulerService.java llap-server/src/java/org/apache/tez/dag/app/rm/LlapTaskSchedulerService.java index f31c6a5..f69a99b 100644 --- llap-server/src/java/org/apache/tez/dag/app/rm/LlapTaskSchedulerService.java +++ llap-server/src/java/org/apache/tez/dag/app/rm/LlapTaskSchedulerService.java @@ -402,7 +402,7 @@ public void allocateTask(Object task, Resource capability, ContainerId container // This may be invoked before a container is ever assigned to a task. allocateTask... app decides // the task is no longer required, and asks for a de-allocation. @Override - public boolean deallocateTask(Object task, boolean taskSucceeded, TaskAttemptEndReason endReason) { + public boolean deallocateTask(Object task, boolean taskSucceeded, TaskAttemptEndReason endReason, String diagnostics) { writeLock.lock(); // Updating several local structures TaskInfo taskInfo; try { @@ -471,11 +471,11 @@ public boolean deallocateTask(Object task, boolean taskSucceeded, TaskAttemptEnd } else if (!taskSucceeded) { nodeInfo.registerUnsuccessfulTaskEnd(false); if (endReason != null && EnumSet - .of(TaskAttemptEndReason.SERVICE_BUSY, TaskAttemptEndReason.COMMUNICATION_ERROR) + .of(TaskAttemptEndReason.EXECUTOR_BUSY, TaskAttemptEndReason.COMMUNICATION_ERROR) .contains(endReason)) { if (endReason == TaskAttemptEndReason.COMMUNICATION_ERROR) { dagStats.registerCommFailure(taskInfo.assignedInstance.getHost()); - } else if (endReason == TaskAttemptEndReason.SERVICE_BUSY) { + } else if (endReason == TaskAttemptEndReason.EXECUTOR_BUSY) { dagStats.registerTaskRejected(taskInfo.assignedInstance.getHost()); } } diff --git llap-server/src/test/org/apache/tez/dag/app/rm/TestLlapTaskSchedulerService.java llap-server/src/test/org/apache/tez/dag/app/rm/TestLlapTaskSchedulerService.java index 3737e55..0d4d619 100644 --- llap-server/src/test/org/apache/tez/dag/app/rm/TestLlapTaskSchedulerService.java +++ llap-server/src/test/org/apache/tez/dag/app/rm/TestLlapTaskSchedulerService.java @@ -342,11 +342,11 @@ void allocateTask(Object task, String[] hosts, Priority priority, Object clientC } void deallocateTask(Object task, boolean succeeded, TaskAttemptEndReason endReason) { - ts.deallocateTask(task, succeeded, endReason); + ts.deallocateTask(task, succeeded, endReason, null); } void rejectExecution(Object task) { - ts.deallocateTask(task, false, TaskAttemptEndReason.SERVICE_BUSY); + ts.deallocateTask(task, false, TaskAttemptEndReason.EXECUTOR_BUSY, null); } }