[
https://issues.apache.org/jira/browse/YARN-245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13709355#comment-13709355
]
Omkar Vinit Joshi commented on YARN-245:
----------------------------------------
Thanks mayank... I just took a look at your patch.. Here are few comments..
bq. + private int lastHeartBeatId;
do we need this? Can we remove it?
bq. + // Checking if the response id is the same which we just
processed
bq. + // If yes then ignore the update.
bq. + if (lastHeartBeatID >= response.getResponseId()) {
bq. + ++lastHeartBeatID;
bq. + continue;
bq. + }
I remember we talked about it some time back....correct me if I am wrong.. Can
we replace this with something like ..accepting only one and reject all others?
if (lastHeartbeatID != response.getResponseId() - 1 ) {
continue;
}
thoughts??
* for Test case.. probably we can avoid creating certain classes there..
MyNodeManager6 -> MockNM with existing NodeStatusUpdater?
MyResourceTracker6 -> with existing resource tracker (may be from another test?
)only override nodeHeartbeat method...
Also I think we need to check 2 things..
1) on node manager side we are getting only one APP_FINISH event on dispatcher
queue?
2) if application state == DONE then send node status response containing the
current application to be finished?? may be this will actually test the current
problem? should fail without patch.. thoughts?
> Node Manager gives InvalidStateTransitonException for FINISH_APPLICATION at
> FINISHED
> ------------------------------------------------------------------------------------
>
> Key: YARN-245
> URL: https://issues.apache.org/jira/browse/YARN-245
> Project: Hadoop YARN
> Issue Type: Sub-task
> Affects Versions: 2.0.2-alpha, 2.0.1-alpha
> Reporter: Devaraj K
> Assignee: Mayank Bansal
> Attachments: YARN-245-trunk-1.patch, YARN-245-trunk-2.patch
>
>
> {code:xml}
> 2012-11-25 12:56:11,795 WARN
> org.apache.hadoop.yarn.server.nodemanager.containermanager.application.Application:
> Can't handle this event at current state
> org.apache.hadoop.yarn.state.InvalidStateTransitonException: Invalid event:
> FINISH_APPLICATION at FINISHED
> at
> org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:301)
> at
> org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:43)
> at
> org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:443)
> at
> org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationImpl.handle(ApplicationImpl.java:398)
> at
> org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationImpl.handle(ApplicationImpl.java:58)
> at
> org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl$ApplicationEventDispatcher.handle(ContainerManagerImpl.java:520)
> at
> org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl$ApplicationEventDispatcher.handle(ContainerManagerImpl.java:512)
> at
> org.apache.hadoop.yarn.event.AsyncDispatcher.dispatch(AsyncDispatcher.java:126)
> at
> org.apache.hadoop.yarn.event.AsyncDispatcher$1.run(AsyncDispatcher.java:75)
> at java.lang.Thread.run(Thread.java:662)
> 2012-11-25 12:56:11,796 INFO
> org.apache.hadoop.yarn.server.nodemanager.containermanager.application.Application:
> Application application_1353818859056_0004 transitioned from FINISHED to null
> {code}
--
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