[ 
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)

Reply via email to