hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10029) Proxy created by HFileSystem#createReorderingProxy() should implement Closeable when connect to HA namenode
Date Tue, 26 Nov 2013 03:31:36 GMT

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

Ted Yu commented on HBASE-10029:
--------------------------------

What I don't understand is why IllegalArgumentException wasn't thrown from Proxy.newProxyInstance()
if the proxy doesn't implement Closeable.
See line 369 here:
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/reflect/Proxy.java#Proxy.getProxyClass%28java.lang.ClassLoader%2Cjava.lang.Class%5B%5D%29

> Proxy created by HFileSystem#createReorderingProxy() should implement Closeable when
connect to HA namenode
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-10029
>                 URL: https://issues.apache.org/jira/browse/HBASE-10029
>             Project: HBase
>          Issue Type: Bug
>          Components: hadoop2
>    Affects Versions: 0.96.0
>            Reporter: Henry Hung
>
> HA namenode with QJM created from org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
should implement Closeable.
> [Mail Archive|https://drive.google.com/file/d/0B22pkxoqCdvWSGFIaEpfR3lnT2M/edit?usp=sharing]
> {code}
> 13/11/26 09:55:55 ERROR ipc.RPC: RPC.stopProxy called on non proxy.
> java.lang.IllegalArgumentException: object is not an instance of declaring class
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.hbase.fs.HFileSystem$1.invoke(HFileSystem.java:266)
>         at $Proxy16.close(Unknown Source)
>         at org.apache.hadoop.ipc.RPC.stopProxy(RPC.java:621)
>         at org.apache.hadoop.hdfs.DFSClient.closeConnectionToNamenode(DFSClient.java:738)
>         at org.apache.hadoop.hdfs.DFSClient.close(DFSClient.java:794)
>         at org.apache.hadoop.hdfs.DistributedFileSystem.close(DistributedFileSystem.java:847)
>         at org.apache.hadoop.fs.FileSystem$Cache.closeAll(FileSystem.java:2524)
>         at org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer.run(FileSystem.java:2541)
>         at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
> 13/11/26 09:55:55 WARN util.ShutdownHookManager: ShutdownHook 'ClientFinalizer' failed,
org.apache.hadoop.HadoopIllegalArgumentException: Cannot close proxy - is not Closeable or
does not provide closeable invocation handler class $Proxy16
> org.apache.hadoop.HadoopIllegalArgumentException: Cannot close proxy - is not Closeable
or does not provide closeable invocation handler class $Proxy16
>         at org.apache.hadoop.ipc.RPC.stopProxy(RPC.java:639)
>         at org.apache.hadoop.hdfs.DFSClient.closeConnectionToNamenode(DFSClient.java:738)
>         at org.apache.hadoop.hdfs.DFSClient.close(DFSClient.java:794)
>         at org.apache.hadoop.hdfs.DistributedFileSystem.close(DistributedFileSystem.java:847)
>         at org.apache.hadoop.fs.FileSystem$Cache.closeAll(FileSystem.java:2524)
>         at org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer.run(FileSystem.java:2541)
>         at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
> {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message