StartAppAttemptTransition(基于hadoop 2.7.6)
StartAppAttemptTransition是对RMAppEventType.APP_ACCEPTED事件的转换处理,转换处理后RMApp状态由SUBMITTED变为ACCEPTED.
主要逻辑:
1.创建RMAppAttempt,RMAppImpl会维护一个
<ApplicationAttemptId, RMAppAttempt>的映射表
2.触发RMAppStartAttemptEvent (RMAppAttemptEventType.START)事件,该事件的处理器是AttemptStartedTransition.
private static final class StartAppAttemptTransition extends RMAppTransition {
@Override
public void transition(RMAppImpl app, RMAppEvent event) {
app.createAndStartNewAttempt(false);
};
}
private void
createAndStartNewAttempt(boolean transferStateFromPreviousAttempt) {
createNewAttempt();
/**
*触发RMAppAttemptEventType.START事件
*/
handler