[
https://issues.apache.org/jira/browse/HDFS-9836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guocui Mi updated HDFS-9836:
----------------------------
Description:
RequestHedgingInvocationHandler cannot be cast to
org.apache.hadoop.ipc.RpcInvocationHandler
Reproduce steps:
1: Set client failover provider as RequestHedgingProxyProvider.
<property>
<name>dfs.client.failover.proxy.provider.[nameservice]</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider</value>
</property>
2: run hdfs fsck / will get following exceptions.
Exception in thread "main" java.lang.ClassCastException:
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider$RequestHedgingInvocationHandler
c
annot be cast to org.apache.hadoop.ipc.RpcInvocationHandler
at org.apache.hadoop.ipc.RPC.getConnectionIdForProxy(RPC.java:613)
at
org.apache.hadoop.io.retry.RetryInvocationHandler.getConnectionId(RetryInvocationHandler.java:281)
at org.apache.hadoop.ipc.RPC.getConnectionIdForProxy(RPC.java:615)
at org.apache.hadoop.ipc.RPC.getServerAddress(RPC.java:598)
at org.apache.hadoop.hdfs.HAUtil.getAddressOfActive(HAUtil.java:380)
at
org.apache.hadoop.hdfs.tools.DFSck.getCurrentNamenodeAddress(DFSck.java:248)
at org.apache.hadoop.hdfs.tools.DFSck.doWork(DFSck.java:255)
at org.apache.hadoop.hdfs.tools.DFSck.access$000(DFSck.java:72)
at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:148)
at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:145)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
at org.apache.hadoop.hdfs.tools.DFSck.run(DFSck.java:144)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.hadoop.hdfs.tools.DFSck.main(DFSck.java:360)
was:
RequestHedgingInvocationHandler cannot be cast to
org.apache.hadoop.ipc.RpcInvocationHandler
Reproduce steps:
1: Set client failover provider as RequestHedgingProxyProvider.
<property>
<name>dfs.client.failover.proxy.provider.[nameservice]</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider</value>
</property>
2: run hdfs fsck / will get following exceptions.
C:\>hdfs fsck /
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/D:/data/hadoop.latest/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/D:/data/hadoop.latest/share/hadoop/yarn/hadoop-yarn-simulator-2.6.0-mt0.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Exception in thread "main" java.lang.ClassCastException:
org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider$RequestHedgingInvocationHandler
c
annot be cast to org.apache.hadoop.ipc.RpcInvocationHandler
at org.apache.hadoop.ipc.RPC.getConnectionIdForProxy(RPC.java:613)
at
org.apache.hadoop.io.retry.RetryInvocationHandler.getConnectionId(RetryInvocationHandler.java:281)
at org.apache.hadoop.ipc.RPC.getConnectionIdForProxy(RPC.java:615)
at org.apache.hadoop.ipc.RPC.getServerAddress(RPC.java:598)
at org.apache.hadoop.hdfs.HAUtil.getAddressOfActive(HAUtil.java:380)
at
org.apache.hadoop.hdfs.tools.DFSck.getCurrentNamenodeAddress(DFSck.java:248)
at org.apache.hadoop.hdfs.tools.DFSck.doWork(DFSck.java:255)
at org.apache.hadoop.hdfs.tools.DFSck.access$000(DFSck.java:72)
at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:148)
at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:145)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
at org.apache.hadoop.hdfs.tools.DFSck.run(DFSck.java:144)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.hadoop.hdfs.tools.DFSck.main(DFSck.java:360)
> RequestHedgingInvocationHandler can't be cast to
> org.apache.hadoop.ipc.RpcInvocationHandler
> -------------------------------------------------------------------------------------------
>
> Key: HDFS-9836
> URL: https://issues.apache.org/jira/browse/HDFS-9836
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: ha
> Affects Versions: 2.8.0
> Reporter: Guocui Mi
>
> RequestHedgingInvocationHandler cannot be cast to
> org.apache.hadoop.ipc.RpcInvocationHandler
> Reproduce steps:
> 1: Set client failover provider as RequestHedgingProxyProvider.
> <property>
> <name>dfs.client.failover.proxy.provider.[nameservice]</name>
>
> <value>org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider</value>
> </property>
> 2: run hdfs fsck / will get following exceptions.
> Exception in thread "main" java.lang.ClassCastException:
> org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider$RequestHedgingInvocationHandler
> c
> annot be cast to org.apache.hadoop.ipc.RpcInvocationHandler
> at org.apache.hadoop.ipc.RPC.getConnectionIdForProxy(RPC.java:613)
> at
> org.apache.hadoop.io.retry.RetryInvocationHandler.getConnectionId(RetryInvocationHandler.java:281)
> at org.apache.hadoop.ipc.RPC.getConnectionIdForProxy(RPC.java:615)
> at org.apache.hadoop.ipc.RPC.getServerAddress(RPC.java:598)
> at org.apache.hadoop.hdfs.HAUtil.getAddressOfActive(HAUtil.java:380)
> at
> org.apache.hadoop.hdfs.tools.DFSck.getCurrentNamenodeAddress(DFSck.java:248)
> at org.apache.hadoop.hdfs.tools.DFSck.doWork(DFSck.java:255)
> at org.apache.hadoop.hdfs.tools.DFSck.access$000(DFSck.java:72)
> at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:148)
> at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:145)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
> at org.apache.hadoop.hdfs.tools.DFSck.run(DFSck.java:144)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
> at org.apache.hadoop.hdfs.tools.DFSck.main(DFSck.java:360)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)