hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tsz Wo (Nicholas), SZE (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-9716) Move the Rpc request call ID generation to client side InvocationHandler
Date Fri, 12 Jul 2013 21:09:50 GMT

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

Tsz Wo (Nicholas), SZE commented on HADOOP-9716:
------------------------------------------------

Call ID generation cannot be easily moved to InvocationHandler since there could be multiple
InvocationHandler(s) sharing the same rpc Client.  Then, they use the same Client ID to do
rpc.  If they generate Call ID individually, they could end up using the same Client ID and
the same Call ID for different calls.  (In TestRPC.testRPCInterrupted(), I move proxy creation
out so that the threads share the same proxy.  Otherwise, the test failed since each thread
creates its proxy but the underlying client is shared.)

I think we may need to keep Call ID generation in Client: 
- For retries, InvocationHandler passes previous Call ID and Retry # to Client.
- For new calls, InvocationHandler passes null for Call ID and Retry # == 0 to Client.  Client
generates new Call ID.

(Note that c9716_20130713.patch has not implemented the idea above.)
                
> Move the Rpc request call ID generation to client side InvocationHandler
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-9716
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9716
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>            Reporter: Suresh Srinivas
>            Assignee: Tsz Wo (Nicholas), SZE
>         Attachments: c9716_20130712b.patch, c9716_20130712.patch, c9716_20130713.patch,
c9716_20130713.patch
>
>
> Currently when RetryInvocationHandler is used to retry an RPC request, a new RPC request
call ID is generated. This jira proposes moving call ID generation to InvocationHandler so
that retried RPC requests retain the same call ID. This is needed for RetryCache functionality
proposed in HDFS-4942.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message