[
https://issues.apache.org/jira/browse/HDFS-13388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16469901#comment-16469901
]
Bibin A Chundatt edited comment on HDFS-13388 at 5/10/18 6:26 AM:
------------------------------------------------------------------
[~elgoiri]
branch-3 compilation is broken. Backport of HDFS-12813 should fix compilation.
{code:java}
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on
project hadoop-hdfs-client: Compilation failure: Compilation failure:
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[79,11]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[81,41]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[83,15]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[85,18]
cannot find symbol
[ERROR] symbol: class InvocationTargetException
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[87,49]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[89,15]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR] -> [Help 1]
{code}
was (Author: bibinchundatt):
[~yzhangal]
branch-3 compilation is broken
{code}
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on
project hadoop-hdfs-client: Compilation failure: Compilation failure:
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[79,11]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[81,41]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[83,15]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[85,18]
cannot find symbol
[ERROR] symbol: class InvocationTargetException
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[87,49]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR]
/opt/apacheprojects/hadoop/FORCOMMIT/branch3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java:[89,15]
cannot find symbol
[ERROR] symbol: variable currentUsedProxy
[ERROR] location: class
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider<T>.RequestHedgingInvocationHandler
[ERROR] -> [Help 1]
{code}
> 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: 3.2.0, 3.1.1, 3.0.3
>
> 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, HADOOP-13388.0010.patch, HADOOP-13388.0011.patch,
> HADOOP-13388.0012.patch, HADOOP-13388.0013.patch, HADOOP-13388.0014.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]