[ 
https://issues.apache.org/jira/browse/HBASE-24471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang resolved HBASE-24471.
-------------------------------
    Resolution: Fixed

Pushed to master and branch-2.

Thanks all for reviewing.

> 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
>          Components: master, meta, proc-v2
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0-alpha-1, 2.4.0
>
>
> 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