[ 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: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org