Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-23836

Race condition in Master startup can ignore shutdown RPC

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 3.0.0-alpha-1, 2.3.0
    • None
    • master
    • None

    Description

      Identified as the root-cause of HBASE-23808. The master starts its RPC server first thing in its constructor, but does not initialize it's clusterTracker until later (both from the super constructor). Thus it is possible for a client to issue a shutdown RPC is received by a master before it has a clusterTracker instance. It is highly likely (guaranteed?) to also not be the active master at this point. In such a case, the shutdown is received and acknowledged back to the client, but is effectively ignored.

      After chatting with bharathv on the PR, we believe this race becomes more likely (though still rare) after HBASE-18095. This is something to consider should we get around to a startup sequence refactor.

      Setting priority as "minor" because the condition is merely annoying; from what I can tell, a subsequent shutdown RPC to any master would result in the correct shutdown of the first.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ndimiduk Nick Dimiduk
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: