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