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

Jean-Daniel Cryans commented on HBASE-919:
------------------------------------------

I think it's related to the fact that HBase should have a "safe mode". Jim's 
first patch added this:

{code}
   public HServerAddress findRootRegion() {
-    return regionManager.getRootRegionLocation();

+    if (regionManager.allRegionsAssigned()) {
+      rootServer = regionManager.getRootRegionLocation();
+    }
+    return rootServer;
{code}

This is a kind of safe mode, but it has implications. To be very precise about 
your comment stack, I would say that anyone who wants to use an HTable right 
after HBase is started (and I do mean the second after) must wait a moment 
before creating a HTable in the same process (or JVM, not sure) or it will 
deadlock. Anyone outside is OK because they don't go inside the same 
synchronized block in HCM.

> Master and Region Server need to provide root region location if they are 
> using HTable
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-919
>                 URL: https://issues.apache.org/jira/browse/HBASE-919
>             Project: Hadoop HBase
>          Issue Type: Sub-task
>          Components: master, regionserver
>    Affects Versions: 0.18.0
>            Reporter: Jim Kellerman
>            Assignee: Jim Kellerman
>            Priority: Blocker
>             Fix For: 0.19.0
>
>         Attachments: 919.patch, 919.patch
>
>
> There needs to be a mechanism by which master and region servers can provide 
> the HServerAddress for the root region to HConnectionManager so that they can 
> use a HTable. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to