Guanghao Zhang created HBASE-16985:
--------------------------------------

             Summary: TestClusterId failed due to wrong hbase rootdir
                 Key: HBASE-16985
                 URL: https://issues.apache.org/jira/browse/HBASE-16985
             Project: HBase
          Issue Type: Bug
            Reporter: Guanghao Zhang
            Priority: Minor


https://builds.apache.org/job/PreCommit-HBASE-Build/4253/testReport/org.apache.hadoop.hbase.regionserver/TestClusterId/testClusterId/

{code}
java.io.IOException: Shutting down
        at 
org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:230)
        at 
org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:409)
        at 
org.apache.hadoop.hbase.MiniHBaseCluster.init(MiniHBaseCluster.java:227)
        at 
org.apache.hadoop.hbase.MiniHBaseCluster.<init>(MiniHBaseCluster.java:96)
        at 
org.apache.hadoop.hbase.HBaseTestingUtility.startMiniHBaseCluster(HBaseTestingUtility.java:1071)
        at 
org.apache.hadoop.hbase.HBaseTestingUtility.startMiniHBaseCluster(HBaseTestingUtility.java:1037)
        at 
org.apache.hadoop.hbase.regionserver.TestClusterId.testClusterId(TestClusterId.java:85)
{code}
The cluster can not start up because there are no active master. The active 
master can not finish initialing because the hbase:namespace region can not be 
assign. 

In TestClusterId unit test, TEST_UTIL.startMiniHBaseCluster set new hbase root 
dir. But the regionserver thread which stared first used  a different hbase 
root dir. If assign hbase:namespace region to this regionserver, the region can 
not be assigned because there are no tableinfo on wrong hbase root dir.

When regionserver report to master, it will get back some new config. But the 
FSTableDescriptors has been initialed so it's root dir didn't changed.
{code}
if (LOG.isDebugEnabled()) {
    LOG.info("Config from master: " + key + "=" + value);
}
{code} 
I thought FSTableDescriptors need update the rootdir when regionserver get 
report from master.

The master branch has same problem, too. But the balancer always assign 
hbase:namesapce region to master. So this unit test can passed on master branch.



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

Reply via email to