[
https://issues.apache.org/jira/browse/HBASE-24471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang updated HBASE-24471:
------------------------------
Summary: The way we bootstrap meta table is confusing (was: The way we
bootstrap meta region is confusing)
> The way we bootstrap meta table is confusing
> --------------------------------------------
>
> Key: HBASE-24471
> URL: https://issues.apache.org/jira/browse/HBASE-24471
> Project: HBase
> Issue Type: Improvement
> Reporter: Duo Zhang
> Priority: Major
>
> I used to thought the work is only done in the InitMetaProcedure but in fact
> we have several pieces of code related to this which are placed in different
> classes.
> In HRegionServer.initializeFileSystem, we will test whether we are HMaster.
> If so, we will call FSTableDescriptors.tryUpdateMetaTableDescriptor. And in
> MasterFileSystem.checkRootDir, we will check if meta region is available. If
> not, we will bootstrap it, and it will also call
> FSTableDescriptors.tryUpdateMetaTableDescriptor.
> The problem here is that, HRegionServer.initializeFileSystem is called in the
> constructor of HRegionServer, which means it will be executed before
> MasterFileSystem.checkRootDir, as we will only create the MasterFileSystem
> for active master...
> Ideally I prefer we move all the bootstrap code into InitMetaProcedure, which
> will be much cleaner. If this can not be done, at least we could move the
> code into MasterFileSystem.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)