You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2020/05/29 10:22:00 UTC

[jira] [Assigned] (HBASE-24471) The way we bootstrap meta table is confusing

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

Duo Zhang reassigned HBASE-24471:
---------------------------------

    Assignee: Duo Zhang

> 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
>            Assignee: 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)