[ 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