[
https://issues.apache.org/jira/browse/HADOOP-9786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13723374#comment-13723374
]
Jing Zhao commented on HADOOP-9786:
-----------------------------------
bq. One question: is this causing any acute problems?
Thanks for the comments Aaron. So without the patch the code
{code}
if (isRpc) {
Client.setCallIdAndRetryCount(callId, retries);
}
{code}
will not be triggered. In that case client's retry can have different "clientId
+ callId" and the retry cache in NN will not be hit.
> RetryInvocationHandler#isRpcInvocation should support ProtocolTranslator
> -------------------------------------------------------------------------
>
> Key: HADOOP-9786
> URL: https://issues.apache.org/jira/browse/HADOOP-9786
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 3.0.0
> Reporter: Jing Zhao
> Assignee: Jing Zhao
> Attachments: HADOOP-9786.001.patch, HADOOP-9786.002.patch,
> HADOOP-9786.003.patch, HADOOP-9786.4.patch, HADOOP-9786.5.patch,
> HADOOP-9786.6.patch, HADOOP-9786.7.patch
>
>
> Currently RetryInvocationHandler#isRpcInvocation directly uses
> Proxy#isProxyClass to check RetryInvocation#currentProxy. However, if
> currentProxy is an instance of ProtocolTranslator (e.g.,
> ClientNamenodeProtocolTranslatorPB), the real dynamically-generated proxy
> object is contained within currentProxy and needs to be retrieved by calling
> ProtocolTranslator#getUnderlyingProxyObject.
--
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