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

ramkrishna.s.vasudevan updated HBASE-4762:
------------------------------------------

    Fix Version/s:     (was: 0.90.6)
                   0.90.7
     Hadoop Flags: Reviewed

Moving to 0.90.7
                
> ROOT and META region never be assigned if IOE throws in 
> verifyRootRegionLocation
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-4762
>                 URL: https://issues.apache.org/jira/browse/HBASE-4762
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.90.4
>            Reporter: mingjian
>            Assignee: mingjian
>             Fix For: 0.90.7
>
>
> Patch in HBASE-3914 fixed root assigned in two regionservers. But it seemed 
> like root region will never be assigned if verifyRootRegionLocation throws 
> IOE.
> Like following master logs:
> {noformat}
> 2011-10-19 19:13:34,873 ERROR org.apache.hadoop.hbase.executor.EventHandler: 
> Caught throwable while processing event M_META_SERVER_S
> HUTDOWN
> org.apache.hadoop.ipc.RemoteException: 
> org.apache.hadoop.hbase.ipc.ServerNotRunningException: Server is not running 
> yet
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1090)
>         at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:256)
>         at $Proxy7.getRegionInfo(Unknown Source)
>         at 
> org.apache.hadoop.hbase.catalog.CatalogTracker.verifyRegionLocation(CatalogTracker.java:424)
>         at 
> org.apache.hadoop.hbase.catalog.CatalogTracker.verifyRootRegionLocation(CatalogTracker.java:471)
>         at 
> org.apache.hadoop.hbase.master.handler.ServerShutdownHandler.verifyAndAssignRoot(ServerShutdownHandler.java:90)
>         at 
> org.apache.hadoop.hbase.master.handler.ServerShutdownHandler.process(ServerShutdownHandler.java:126)
>         at 
> org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:151)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> {noformat}
> After this, -ROOT-'s region won't be assigned, like this:
> {noformat}
> 2011-10-19 19:18:40,000 DEBUG 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation: 
> locateRegionInMeta parent
> Table=-ROOT-, metaLocation=address: dw79.kgb.sqa.cm4:60020, regioninfo: 
> -ROOT-,,0.70236052, attempt=0 of 10 failed; retrying after s
> leep of 1000 because: org.apache.hadoop.hbase.NotServingRegionException: 
> Region is not online: -ROOT-,,0
>         at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(HRegionServer.java:2771)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.getClosestRowBefore(HRegionServer.java:1802)
>         at sun.reflect.GeneratedMethodAccessor7.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:569)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1091)
> {noformat}
> So we should rewrite the verifyRootRegionLocation method.

--
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

        

Reply via email to