[
https://issues.apache.org/jira/browse/HADOOP-9716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13704294#comment-13704294
]
Suresh Srinivas commented on HADOOP-9716:
-----------------------------------------
Current chain of calls is for method invocation is:
* Method is invoked on proxy
* It passes it to InvocationHandler.
* Method invocation delegates it to Invoker
* Invoker creates a new RPC request, which results in new call with a new call
ID
In this jira, I propose making the following change:
* InvocationHandler generates a new call ID before method.invoke() call.
* Stores the call ID in a ThreadLocal variable in {{Client}} class. It also
stores ThreadLocal variable in {{Client}} class for number of retry attempts.
* {{Client#call}} method simply uses the generated callID.
* InvocationHandler does not generate new call ID for retry attempts.
> 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
> Reporter: Suresh Srinivas
>
> 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