[ 
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

Reply via email to