|
@@ -71,7 +71,6 @@ import org.apache.hadoop.yarn.api.records.YarnApplicationState;
|
|
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
|
import org.apache.hadoop.yarn.event.Dispatcher;
|
|
|
import org.apache.hadoop.yarn.event.EventHandler;
|
|
|
-import org.apache.hadoop.yarn.exceptions.YarnException;
|
|
|
import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
|
|
|
import org.apache.hadoop.yarn.security.AMRMTokenIdentifier;
|
|
|
import org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier;
|
|
@@ -241,14 +240,10 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
RMAppEventType.APP_REJECTED,
|
|
|
new FinalSavingTransition(new AppRejectedTransition(),
|
|
|
RMAppState.FAILED))
|
|
|
- .addTransition(RMAppState.NEW_SAVING, RMAppState.NEW_SAVING,
|
|
|
- RMAppEventType.MOVE, new RMAppMoveTransition())
|
|
|
|
|
|
// Transitions from SUBMITTED state
|
|
|
.addTransition(RMAppState.SUBMITTED, RMAppState.SUBMITTED,
|
|
|
RMAppEventType.NODE_UPDATE, new RMAppNodeUpdateTransition())
|
|
|
- .addTransition(RMAppState.SUBMITTED, RMAppState.SUBMITTED,
|
|
|
- RMAppEventType.MOVE, new RMAppMoveTransition())
|
|
|
.addTransition(RMAppState.SUBMITTED, RMAppState.FINAL_SAVING,
|
|
|
RMAppEventType.APP_REJECTED,
|
|
|
new FinalSavingTransition(
|
|
@@ -263,8 +258,6 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
// Transitions from ACCEPTED state
|
|
|
.addTransition(RMAppState.ACCEPTED, RMAppState.ACCEPTED,
|
|
|
RMAppEventType.NODE_UPDATE, new RMAppNodeUpdateTransition())
|
|
|
- .addTransition(RMAppState.ACCEPTED, RMAppState.ACCEPTED,
|
|
|
- RMAppEventType.MOVE, new RMAppMoveTransition())
|
|
|
.addTransition(RMAppState.ACCEPTED, RMAppState.RUNNING,
|
|
|
RMAppEventType.ATTEMPT_REGISTERED, new RMAppStateUpdateTransition(
|
|
|
YarnApplicationState.RUNNING))
|
|
@@ -290,8 +283,6 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
// Transitions from RUNNING state
|
|
|
.addTransition(RMAppState.RUNNING, RMAppState.RUNNING,
|
|
|
RMAppEventType.NODE_UPDATE, new RMAppNodeUpdateTransition())
|
|
|
- .addTransition(RMAppState.RUNNING, RMAppState.RUNNING,
|
|
|
- RMAppEventType.MOVE, new RMAppMoveTransition())
|
|
|
.addTransition(RMAppState.RUNNING, RMAppState.FINAL_SAVING,
|
|
|
RMAppEventType.ATTEMPT_UNREGISTERED,
|
|
|
new FinalSavingTransition(
|
|
@@ -324,7 +315,7 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
// ignorable transitions
|
|
|
.addTransition(RMAppState.FINAL_SAVING, RMAppState.FINAL_SAVING,
|
|
|
EnumSet.of(RMAppEventType.NODE_UPDATE, RMAppEventType.KILL,
|
|
|
- RMAppEventType.APP_NEW_SAVED, RMAppEventType.MOVE))
|
|
|
+ RMAppEventType.APP_NEW_SAVED))
|
|
|
|
|
|
// Transitions from FINISHING state
|
|
|
.addTransition(RMAppState.FINISHING, RMAppState.FINISHED,
|
|
@@ -337,7 +328,7 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
EnumSet.of(RMAppEventType.NODE_UPDATE,
|
|
|
// ignore Kill/Move as we have already saved the final Finished state
|
|
|
// in state store.
|
|
|
- RMAppEventType.KILL, RMAppEventType.MOVE))
|
|
|
+ RMAppEventType.KILL))
|
|
|
|
|
|
// Transitions from KILLING state
|
|
|
.addTransition(RMAppState.KILLING, RMAppState.KILLING,
|
|
@@ -365,7 +356,7 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
RMAppEventType.NODE_UPDATE,
|
|
|
RMAppEventType.ATTEMPT_REGISTERED,
|
|
|
RMAppEventType.APP_UPDATE_SAVED,
|
|
|
- RMAppEventType.KILL, RMAppEventType.MOVE))
|
|
|
+ RMAppEventType.KILL))
|
|
|
|
|
|
// Transitions from FINISHED state
|
|
|
// ignorable transitions
|
|
@@ -377,7 +368,7 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
RMAppEventType.NODE_UPDATE,
|
|
|
RMAppEventType.ATTEMPT_UNREGISTERED,
|
|
|
RMAppEventType.ATTEMPT_FINISHED,
|
|
|
- RMAppEventType.KILL, RMAppEventType.MOVE))
|
|
|
+ RMAppEventType.KILL))
|
|
|
|
|
|
// Transitions from FAILED state
|
|
|
// ignorable transitions
|
|
@@ -385,8 +376,7 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
RMAppEventType.APP_RUNNING_ON_NODE,
|
|
|
new AppRunningOnNodeTransition())
|
|
|
.addTransition(RMAppState.FAILED, RMAppState.FAILED,
|
|
|
- EnumSet.of(RMAppEventType.KILL, RMAppEventType.NODE_UPDATE,
|
|
|
- RMAppEventType.MOVE))
|
|
|
+ EnumSet.of(RMAppEventType.KILL, RMAppEventType.NODE_UPDATE))
|
|
|
|
|
|
// Transitions from KILLED state
|
|
|
// ignorable transitions
|
|
@@ -399,7 +389,7 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
EnumSet.of(RMAppEventType.APP_ACCEPTED,
|
|
|
RMAppEventType.APP_REJECTED, RMAppEventType.KILL,
|
|
|
RMAppEventType.ATTEMPT_FINISHED, RMAppEventType.ATTEMPT_FAILED,
|
|
|
- RMAppEventType.NODE_UPDATE, RMAppEventType.MOVE))
|
|
|
+ RMAppEventType.NODE_UPDATE))
|
|
|
|
|
|
.installTopology();
|
|
|
|
|
@@ -992,32 +982,6 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|
|
};
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * Move an app to a new queue.
|
|
|
- * This transition must set the result on the Future in the RMAppMoveEvent,
|
|
|
- * either as an exception for failure or null for success, or the client will
|
|
|
- * be left waiting forever.
|
|
|
- */
|
|
|
- private static final class RMAppMoveTransition extends RMAppTransition {
|
|
|
- public void transition(RMAppImpl app, RMAppEvent event) {
|
|
|
- RMAppMoveEvent moveEvent = (RMAppMoveEvent) event;
|
|
|
- try {
|
|
|
- app.queue = app.scheduler.moveApplication(app.applicationId,
|
|
|
- moveEvent.getTargetQueue());
|
|
|
- } catch (YarnException ex) {
|
|
|
- moveEvent.getResult().setException(ex);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- app.rmContext.getSystemMetricsPublisher().appUpdated(app,
|
|
|
- app.systemClock.getTime());
|
|
|
-
|
|
|
- // TODO: Write out change to state store (YARN-1558)
|
|
|
- // Also take care of RM failover
|
|
|
- moveEvent.getResult().set(null);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
// synchronously recover attempt to ensure any incoming external events
|
|
|
// to be processed after the attempt processes the recover event.
|
|
|
private void recoverAppAttempts() {
|