You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "liang xie (JIRA)" <ji...@apache.org> on 2012/08/28 08:52:07 UTC

[jira] [Updated] (HBASE-5835) [hbck] Catch and handle NotServingRegionException when close region attempt fails

     [ https://issues.apache.org/jira/browse/HBASE-5835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

liang xie updated HBASE-5835:
-----------------------------

    Attachment: HBASE-5835.patch

A trivial patch for this issue:)
                
> [hbck] Catch and handle NotServingRegionException when close region attempt fails
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-5835
>                 URL: https://issues.apache.org/jira/browse/HBASE-5835
>             Project: HBase
>          Issue Type: Bug
>          Components: hbck
>    Affects Versions: 0.90.7, 0.92.2, 0.94.0, 0.96.0
>            Reporter: Jonathan Hsieh
>         Attachments: HBASE-5835.patch
>
>
> Currently, if hbck attempts to close a region and catches a NotServerRegionException, hbck may hang outputting a stack trace.  Since the goal is to close the region at a particular server, and since it is not serving the region, the region is closed, and we should just warn and eat this exception.
> {code}
> Exception in thread "main" org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hbase.NotServingRegionException: Received close for <regionid> but we are not serving it
> at org.apache.hadoop.hbase.regionserver.HRegionServer.closeRegion(HRegionServer.java:2162)
> at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy5.closeRegion(Unknown Source)
> at org.apache.hadoop.hbase.util.HBaseFsckRepair.closeRegionSilentlyAndWait(HBaseFsckRepair.java:165)
> at org.apache.hadoop.hbase.util.HBaseFsck.closeRegion(HBaseFsck.java:1185)
> at org.apache.hadoop.hbase.util.HBaseFsck.checkRegionConsistency(HBaseFsck.java:1302)
> at org.apache.hadoop.hbase.util.HBaseFsck.checkAndFixConsistency(HBaseFsck.java:1065)
> at org.apache.hadoop.hbase.util.HBaseFsck.onlineConsistencyRepair(HBaseFsck.java:351)
> at org.apache.hadoop.hbase.util.HBaseFsck.onlineHbck(HBaseFsck.java:370)
> at org.apache.hadoop.hbase.util.HBaseFsck.main(HBaseFsck.java:3001)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira