[
https://issues.apache.org/jira/browse/YARN-369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13700365#comment-13700365
]
Bikas Saha commented on YARN-369:
---------------------------------
Some comments
This probably needs to change since its also used for double registration.
Maybe just say invalid AM request exception.
{code}
+/**
+ * The exception is thrown when an application Master call allocate without
+ * calling RegisterApplicationMaster.
+ */
{code}
Not quite sure if this will break other tests or not? Do other tests that use
this method continue to pass with this change? We could create a different
registerAppAttempt() does not wait for LAUNCHED state and the current
registerAppAttempt() could wait and then call the new one.
{code}
public RegisterApplicationMasterResponse registerAppAttempt() throws
Exception {
- waitForState(RMAppAttemptState.LAUNCHED);
{code}
The test has some code with author name in it. Please remove them.
> Handle ( or throw a proper error when receiving) status updates from
> application masters that have not registered
> -----------------------------------------------------------------------------------------------------------------
>
> Key: YARN-369
> URL: https://issues.apache.org/jira/browse/YARN-369
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: resourcemanager
> Affects Versions: 2.0.3-alpha, trunk-win
> Reporter: Hitesh Shah
> Assignee: Mayank Bansal
> Attachments: YARN-369.patch, YARN-369-trunk-1.patch,
> YARN-369-trunk-2.patch, YARN-369-trunk-3.patch
>
>
> Currently, an allocate call from an unregistered application is allowed and
> the status update for it throws a statemachine error that is silently dropped.
> org.apache.hadoop.yarn.state.InvalidStateTransitonException: Invalid event:
> STATUS_UPDATE at LAUNCHED
> at
> org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
> at
> org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:43)
> at
> org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:445)
> at
> org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl.handle(RMAppAttemptImpl.java:588)
> at
> org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl.handle(RMAppAttemptImpl.java:99)
> at
> org.apache.hadoop.yarn.server.resourcemanager.ResourceManager$ApplicationAttemptEventDispatcher.handle(ResourceManager.java:471)
> at
> org.apache.hadoop.yarn.server.resourcemanager.ResourceManager$ApplicationAttemptEventDispatcher.handle(ResourceManager.java:452)
> at
> org.apache.hadoop.yarn.event.AsyncDispatcher.dispatch(AsyncDispatcher.java:130)
> at
> org.apache.hadoop.yarn.event.AsyncDispatcher$1.run(AsyncDispatcher.java:77)
> at java.lang.Thread.run(Thread.java:680)
> ApplicationMasterService should likely throw an appropriate error for
> applications' requests that should not be handled in such cases.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira