|
@@ -382,6 +382,10 @@ public abstract class TaskAttemptImpl implements
|
|
TaskAttemptStateInternal.SUCCESS_FINISHING_CONTAINER,
|
|
TaskAttemptStateInternal.SUCCESS_FINISHING_CONTAINER,
|
|
TaskAttemptEventType.TA_DIAGNOSTICS_UPDATE,
|
|
TaskAttemptEventType.TA_DIAGNOSTICS_UPDATE,
|
|
DIAGNOSTIC_INFORMATION_UPDATE_TRANSITION)
|
|
DIAGNOSTIC_INFORMATION_UPDATE_TRANSITION)
|
|
|
|
+ .addTransition(TaskAttemptStateInternal.SUCCESS_FINISHING_CONTAINER,
|
|
|
|
+ TaskAttemptStateInternal.FAILED,
|
|
|
|
+ TaskAttemptEventType.TA_TOO_MANY_FETCH_FAILURE,
|
|
|
|
+ new TooManyFetchFailureTransition())
|
|
// ignore-able events
|
|
// ignore-able events
|
|
.addTransition(TaskAttemptStateInternal.SUCCESS_FINISHING_CONTAINER,
|
|
.addTransition(TaskAttemptStateInternal.SUCCESS_FINISHING_CONTAINER,
|
|
TaskAttemptStateInternal.SUCCESS_FINISHING_CONTAINER,
|
|
TaskAttemptStateInternal.SUCCESS_FINISHING_CONTAINER,
|
|
@@ -2148,6 +2152,10 @@ public abstract class TaskAttemptImpl implements
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
@Override
|
|
@Override
|
|
public void transition(TaskAttemptImpl taskAttempt, TaskAttemptEvent event) {
|
|
public void transition(TaskAttemptImpl taskAttempt, TaskAttemptEvent event) {
|
|
|
|
+ if (taskAttempt.getInternalState() ==
|
|
|
|
+ TaskAttemptStateInternal.SUCCESS_FINISHING_CONTAINER) {
|
|
|
|
+ sendContainerCleanup(taskAttempt, event);
|
|
|
|
+ }
|
|
TaskAttemptTooManyFetchFailureEvent fetchFailureEvent =
|
|
TaskAttemptTooManyFetchFailureEvent fetchFailureEvent =
|
|
(TaskAttemptTooManyFetchFailureEvent) event;
|
|
(TaskAttemptTooManyFetchFailureEvent) event;
|
|
// too many fetch failure can only happen for map tasks
|
|
// too many fetch failure can only happen for map tasks
|