[
https://issues.apache.org/jira/browse/HBASE-16985?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack reopened HBASE-16985:
---------------------------
Reopen to backport.
> 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
> Assignee: Guanghao Zhang
> Priority: Minor
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-16985-branch-1.patch, HBASE-16985-branch-1.patch,
> HBASE-16985-v1.patch, HBASE-16985-v1.patch, HBASE-16985.patch
>
>
> 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)