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

Xuan Gong commented on YARN-1521:
---------------------------------

The patch includes:
* Mark appropriate protocol methods with idempotent and atmostonce annotation 
based on the proposal.
* Create testcases to test the annotation marked
** Limited scope: For all the testcases, we only test whether the method will 
be re-entry when failover happens. Does not cover the entire logic test. 
** Test strategy: create a separate failover thread with a trigger flag, 
override all APIs that added trigger flag. When the apis are called, we will 
set trigger flag as true to kick off the failover. So We can make sure the 
failover happens during process of the method. If this API is marked as 
idempotent or atmostonce, the testcases will pass; otherwise, they will throw 
the exception.
** Did not add testcases for ResourceManagerAdministrationProtocol. All 
refresh* will be called during the process of transitionToActive that will 
break the test strategy I used here. But I did the manually testing. Simply add 
sleep thread into the refresh*, and verified that all refresh* apes can be 
re-entry when failover happens after we marked all refresh* as idempotent.


> Mark appropriate protocol methods with the idempotent annotation or 
> AtMostOnce annotation
> -----------------------------------------------------------------------------------------
>
>                 Key: YARN-1521
>                 URL: https://issues.apache.org/jira/browse/YARN-1521
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Xuan Gong
>            Assignee: Xuan Gong
>         Attachments: YARN-1521.0.patch
>
>
> After YARN-1028, we add the automatically failover into RMProxy. This JIRA is 
> to identify whether we need to add idempotent annotation and which methods 
> can be marked as idempotent.



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

Reply via email to