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