[ 
https://issues.apache.org/jira/browse/YARN-1879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13954920#comment-13954920
 ] 

Tsuyoshi OZAWA commented on YARN-1879:
--------------------------------------

{code}
If the application has already registered/unregistered, duplicate 
register/unregister attempts can cause exceptions. 
{code}

This is correct, and  is a subtle problem. If a RPC client, AM, think it's 
fatal, AM stops. Currently ARMRMClientImpl#registerApplicationMaster() can 
throw exceptions and ApplicationMaster doesn't handle them, so it causes AM 
failure. We preserve the semantics, we should mark 
ApplicationMasterProtocol#registerApplicationMaster() as AtMostOnce.

About ARMRMClientImpl#unregisterApplicationMaster(), AM just log the failure of 
RPC and continue to stop. Therefore, we can make 
ApplicationMasterProtocol#unregisterApplicationMaster() as Idempotent.

> Mark Idempotent/AtMostOnce annotations to ApplicationMasterProtocol
> -------------------------------------------------------------------
>
>                 Key: YARN-1879
>                 URL: https://issues.apache.org/jira/browse/YARN-1879
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager
>            Reporter: Jian He
>            Assignee: Tsuyoshi OZAWA
>            Priority: Critical
>         Attachments: YARN-1879.1.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to