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

Hudson commented on HBASE-5356:
-------------------------------

SUCCESS: Integrated in HBase-0.94-security #584 (See 
[https://builds.apache.org/job/HBase-0.94-security/584/])
HBASE-12921 Port HBASE-5356 'region_mover.rb can hang if table region it 
belongs to is deleted' to 0.94. (Liu Shaohui) (larsh: rev 
4a1d46487cd83bb6f62b6367f688fbb44bbc6f82)
* bin/region_mover.rb


> 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.92.0, 0.94.0
>            Reporter: Jonathan Hsieh
>            Assignee: Jimmy Xiang
>            Priority: Minor
>             Fix For: 0.98.0, 0.96.2, 0.99.0
>
>         Attachments: hbase-5356.patch
>
>
> 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)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:171)
>         at 
> usr.lib.hbase.bin.region_mover.block_4$RUBY$__for__(/usr/lib/hbase/bin/region_mover.rb:326)
>         at 
> usr$lib$hbase$bin$region_mover#block_4$RUBY$__for__.call(usr$lib$hbase$bin$region_mover#block_4$RUBY$__for__:65535)
>         at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:133)
>         at org.jruby.runtime.BlockBody.call(BlockBody.java:73)
>         at org.jruby.runtime.Block.call(Block.java:89)
>         at org.jruby.RubyProc.call(RubyProc.java:268)
>         at org.jruby.RubyProc.call(RubyProc.java:228)
>         at org.jruby.RubyProc$i$0$0$call.call(RubyProc$i$0$0$call.gen:65535)
>         at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:209)
>         at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:205)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:137)
>         at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:103)
>         at org.jruby.ast.WhileNode.interpret(WhileNode.java:131)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:103)
>         at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:171)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:272)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:114)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:123)
>         at 
> usr.lib.hbase.bin.region_mover.chained_26_rescue_4$RUBY$SYNTHETICunloadRegions(/usr/lib/hbase/bin/region_mover.rb:319)
>         at 
> usr.lib.hbase.bin.region_mover.method__25$RUBY$unloadRegions(/usr/lib/hbase/bin/region_mover.rb:313)
>         at 
> usr$lib$hbase$bin$region_mover#method__25$RUBY$unloadRegions.call(usr$lib$hbase$bin$region_mover#method__25$RUBY$unloadRegions:65535)
>         at 
> usr$lib$hbase$bin$region_mover#method__25$RUBY$unloadRegions.call(usr$lib$hbase$bin$region_mover#method__25$RUBY$unloadRegions:65535)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:173)
>         at 
> usr.lib.hbase.bin.region_mover.__file__(/usr/lib/hbase/bin/region_mover.rb:430)
>         at 
> usr.lib.hbase.bin.region_mover.load(/usr/lib/hbase/bin/region_mover.rb)
>         at org.jruby.Ruby.runScript(Ruby.java:670)
>         at org.jruby.Ruby.runNormally(Ruby.java:574)
>         at org.jruby.Ruby.runFromMain(Ruby.java:423)
>         at org.jruby.Main.doRunFromMain(Main.java:278)
>         at org.jruby.Main.internalRun(Main.java:198)
>         at org.jruby.Main.run(Main.java:164)
>         at org.jruby.Main.run(Main.java:148)
>         at org.jruby.Main.main(Main.java:128)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to