[
https://issues.apache.org/jira/browse/HDFS-13388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jinglun updated HDFS-13388:
---------------------------
Description:
In HDFS-7858 RequestHedgingProxyProvider was designed to "first simultaneously
call multiple configured NNs to decide which is the active Namenode and then
for subsequent calls it will invoke the previously successful NN ." But the
current code call multiple configured NNs every time even when we already got
the successful NN.
That's because in RetryInvocationHandler.java, ProxyDescriptor's member
proxyInfo is assigned only when it is constructed or when failover occurs.
RequestHedgingProxyProvider.currentUsedProxy is null in both cases, so the only
proxy we can get is always a dynamic proxy handled by
RequestHedgingInvocationHandler.class. RequestHedgingInvocationHandler.class
handles invoked method by calling multiple configured NNs.
was:
In HDFS-7858 RequestHedgingProxyProvider was designed to "first simultaneously
call multiple configured NNs to decide which is the active Namenode and then
for subsequent calls it will invoke the previously successful NN ." But the
current code call multiple configured NNs every time even when we already got
the successful NN.
That's because in RetryInvocationHandler.java, ProxyDescriptor's member
proxyInfo is assigned only when it is constructed or when failover occurs.
RequestHedgingProxyProvider.currentUsedProxy is null in both cases, so the only
proxy we can get is always a dynamic proxy handled by
RequestHedgingInvocationHandler.class. RequestHedgingInvocationHandler.class
handles invoked method by call multiple configured NNs.
> RequestHedgingProxyProvider calls multiple configured NNs all the time
> ----------------------------------------------------------------------
>
> Key: HDFS-13388
> URL: https://issues.apache.org/jira/browse/HDFS-13388
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hdfs-client
> Reporter: Jinglun
> Priority: Major
> Attachments: HADOOP-13388.0001.patch
>
>
> In HDFS-7858 RequestHedgingProxyProvider was designed to "first
> simultaneously call multiple configured NNs to decide which is the active
> Namenode and then for subsequent calls it will invoke the previously
> successful NN ." But the current code call multiple configured NNs every time
> even when we already got the successful NN.
> That's because in RetryInvocationHandler.java, ProxyDescriptor's member
> proxyInfo is assigned only when it is constructed or when failover occurs.
> RequestHedgingProxyProvider.currentUsedProxy is null in both cases, so the
> only proxy we can get is always a dynamic proxy handled by
> RequestHedgingInvocationHandler.class. RequestHedgingInvocationHandler.class
> handles invoked method by calling multiple configured NNs.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]