[ 
https://issues.apache.org/jira/browse/HDFS-13388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16434817#comment-16434817
 ] 

Jinglun edited comment on HDFS-13388 at 4/12/18 3:42 AM:
---------------------------------------------------------

Hi [~elgoiri], patch 007 is an addendum for what we committed.

How about we go with the first option? I upload a new patch 009 which  includes 
all the changes. I also add a new test case to test whether 
RequestHedgingInvocationHandler throws the right Exception. I will submit the 
patch when the current commit is reverted from trunk, nor jenkins won't let me 
pass.

I'm also ok with the other 2 options, so if you think other option is better, I 
could give a new patch or open a new jira.


was (Author: lijinglun):
hi [~elgoiri], patch 007 is an addendum for what we committed. I prefer the 
first option, and patch 008 includes all the changes. 

> 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
>            Assignee: Jinglun
>            Priority: Major
>             Fix For: 2.10.0, 3.2.0, 3.1.1
>
>         Attachments: HADOOP-13388.0001.patch, HADOOP-13388.0002.patch, 
> HADOOP-13388.0003.patch, HADOOP-13388.0004.patch, HADOOP-13388.0005.patch, 
> HADOOP-13388.0006.patch, HADOOP-13388.0007.patch, HADOOP-13388.0008.patch, 
> HADOOP-13388.0009.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

Reply via email to