Duo Zhang created HBASE-24471:
---------------------------------

             Summary: The way we bootstrap meta region is confusing
                 Key: HBASE-24471
                 URL: https://issues.apache.org/jira/browse/HBASE-24471
             Project: HBase
          Issue Type: Improvement
            Reporter: Duo Zhang


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)

Reply via email to