[ 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)