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

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

bq. OK. So we are requiring the moveAppAcrossQueues API to be idempotent? How 
can that be done without ignoring an illegal move of an app from a queue in 
which the app does not exist? Is that correct behavior?

I think we can do:
* Check if the app exists in target queue. If yes, return
* Check if the app exists in original queue. If yes, start to move. Otherwise, 
throw Exception.
So, even the failover happens during the process of moving application, as long 
as we can recover the application as well as the queue information(we may need 
to find out which information we should save), I think we are fine.

bq. Any response to the second comment above about returning a new 
SubmitApplicationResponse instead of the original response for the original 
request. What if there are member values in SubmitApplicationResponse (there 
aren't any right now).

I think that it will based on the information we want. If they are related to 
the application, we should saved them in the applicationState. In that case, as 
long as we will recover the applicationState, we should be easier to get them. 
If they are dynamic information, such as something related to current RM, NM, 
resource, etc, even we are using RetryCache to return the previous response. 
The information we get is still not correct because we submit the application 
to different RM, we need to get the updated values.

> 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
(v6.2#6252)

Reply via email to