hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bikas Saha (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-1521) Mark appropriate protocol methods with the idempotent annotation or AtMostOnce annotation
Date Wed, 26 Mar 2014 17:33:17 GMT

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

Bikas Saha commented on YARN-1521:

How are the following idempotent? Looks like submitApplication was made idempotent in this
patch itself? What about moveApplication? If the app has been moved from A->B then asking
another move from A would be an error. So a retry after the operation should also return an
error unless there is specific handling for the retry.
+  @Idempotent
   public SubmitApplicationResponse submitApplication(
       SubmitApplicationRequest request) 
+  @Idempotent
   public MoveApplicationAcrossQueuesResponse moveApplicationAcrossQueues(

IMO, how can we simply create an empty response and return it? Currently this is safe because
that response object has no fields. But if a field is added tomorrow then this code would
be wrong since users would get a response object from which they cannot get response information.
We should be using RetryCache to populate the response from the actual response that was returned
for the original request that got retried.
{code}-      throw RPCUtil.getRemoteException(message);
+      LOG.info("This is an earlier submitted application: " + applicationId);
+      return SubmitApplicationResponse.newInstance();{code}

> 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
>            Priority: Blocker
>             Fix For: 2.4.0
>         Attachments: YARN-1521.0.patch, YARN-1521.1.patch, YARN-1521.2.patch, YARN-1521.3.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

View raw message