You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Zach York (Jira)" <ji...@apache.org> on 2020/08/21 00:44:00 UTC

[jira] [Created] (HBASE-24923) Running InitMetaProcedures are missed if Hmaster startup happens after Meta assign

Zach York created HBASE-24923:
---------------------------------

             Summary: Running InitMetaProcedures are missed if Hmaster startup happens after Meta assign
                 Key: HBASE-24923
                 URL: https://issues.apache.org/jira/browse/HBASE-24923
             Project: HBase
          Issue Type: Bug
    Affects Versions: 3.0.0-alpha-1
            Reporter: Zach York


In HMaster startup, if the InitMetaProcedure was stopped after the meta assign stage, it will have a RegionState assigned to it and will not fall into this if statement: https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java#L1044. 

This means if an InitMetaProcedure is running (in the INIT_META_CREATE_NAMESPACES state), we won't look for any instances of running InitMetaProcedures and won't correctly await until they are done: https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java#L1065

The check for running InitMetaProcedures should be moved outside of the if statement and only if it is null should it try to add a new InitMetaProcedure (if there is no RegionState for meta or if meta is offline). This way we will correctly wait for procedures that are running that have passed the INIT_META_ASSIGN_META state (which sets the RegionStates that HMaster is looking at).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)