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] [Comment Edited] (HBASE-10029) Proxy created by HFileSystem#createReorderingProxy() should implement Closeable when connect to HA namenode
Date Tue, 26 Nov 2013 03:53:37 GMT

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

Ted Yu edited comment on HBASE-10029 at 11/26/13 3:52 AM:
----------------------------------------------------------

I wish there is something we can do HBase side ...
We should check whether the return value from Proxy.newProxyInstance() really implements Closeable.
Both DefaultFailoverProxyProvider and ConfiguredFailoverProxyProvider implement close(). So
the detection cannot rely on Java.
If we call close() on the return value from Proxy.newProxyInstance() and catch exception,
we should be able to tell.
When the test fails, we can either log a big warning or bail out.

This would help people track down the root cause faster than seeing exception when server
is shutdown.


was (Author: yuzhihong@gmail.com):
I think there is something we can do HBase side:
we should check whether the return value from Proxy.newProxyInstance() really implements Closeable.
If not we can either log a big warning or bail out.
This would help people track down the root cause faster than seeing exception when server
is shutdown.

> 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