You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jonathan Hsieh (Commented) (JIRA)" <ji...@apache.org> on 2012/02/08 23:14:59 UTC

[jira] [Commented] (HBASE-5356) region_mover.rb can hang if table region it belongs to is deleted.

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

Jonathan Hsieh commented on HBASE-5356:
---------------------------------------

Looks like we just need to properly catch TableNotFoundExceptions and continue.  

Also we should probably abort if it gets another kind of exception that it cannot handle.

Separate issue should probably update the graceful shutdown script so that it fails fast on unexpected failures as well.
                
> region_mover.rb can hang if table region it belongs to is deleted.
> ------------------------------------------------------------------
>
>                 Key: HBASE-5356
>                 URL: https://issues.apache.org/jira/browse/HBASE-5356
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.3, 0.94.0, 0.92.0
>            Reporter: Jonathan Hsieh
>            Priority: Minor
>
> I was testing the region_mover.rb script on a loaded hbase and noticed that it can hang (thus hanging graceful shutdown) if a region that it is attempting to move gets deleted (by a table delete operation).
> Here's the start of the relevent stack dump
> {code}
> 12/02/08 13:27:13 WARN client.HConnectionManager$HConnectionImplementation: Encountered problems when prefetch META table:
> org.apache.hadoop.hbase.TableNotFoundException: Cannot find row in .META. for table: TestLoadAndVerify_1328735001040, row=TestLoadAnd\
> Verify_1328735001040,yC^P\xD7\x945\xD4,99999999999999
>         at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:136)
>         at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:95)
>         at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.prefetchRegionCache(HConnectionManager.java:64\
> 9)
>         at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:703\
> )
>         at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:594)
>         at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.relocateRegion(HConnectionManager.java:565)
>         at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionLocation(HConnectionManager.java:416)
>         at org.apache.hadoop.hbase.client.ServerCallable.instantiateServer(ServerCallable.java:57)
>         at org.apache.hadoop.hbase.client.ScannerCallable.instantiateServer(ScannerCallable.java:63)
>         at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.\
> java:1018)
>         at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1104)
>         at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1027)
>         at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:535)
>         at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:525)
>         at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:380)
>         at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:58)
>         at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:137)
>         at usr.lib.hbase.bin.region_mover.method__7$RUBY$isSuccessfulScan(/usr/lib/hbase/bin/region_mover.rb:133)
>         at usr$lib$hbase$bin$region_mover#method__7$RUBY$isSuccessfulScan.call(usr$lib$hbase$bin$region_mover#method__7$RUBY$isSucces\
> sfulScan:65535)
>         at usr$lib$hbase$bin$region_mover#method__7$RUBY$isSuccessfulScan.call(usr$lib$hbase$bin$region_mover#method__7$RUBY$isSucces\
> sfulScan:65535)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira