|
@@ -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;
|
|
@@ -247,14 +246,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.SUBMITTED,
|
|
|
RMAppEventType.COLLECTOR_UPDATE, new RMAppCollectorUpdateTransition())
|
|
|
.addTransition(RMAppState.SUBMITTED, RMAppState.FINAL_SAVING,
|
|
@@ -271,8 +266,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.ACCEPTED,
|
|
|
RMAppEventType.COLLECTOR_UPDATE, new RMAppCollectorUpdateTransition())
|
|
|
.addTransition(RMAppState.ACCEPTED, RMAppState.RUNNING,
|
|
@@ -300,8 +293,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.RUNNING,
|
|
|
RMAppEventType.COLLECTOR_UPDATE, new RMAppCollectorUpdateTransition())
|
|
|
.addTransition(RMAppState.RUNNING, RMAppState.FINAL_SAVING,
|
|
@@ -338,7 +329,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,
|
|
@@ -353,7 +344,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,
|
|
@@ -383,7 +374,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
|
|
@@ -395,7 +386,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
|
|
@@ -403,8 +394,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
|
|
@@ -417,7 +407,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();
|
|
|
|
|
@@ -1077,32 +1067,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() {
|