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

Judgment of carrying ROOT/META will become wrong when expiring server

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.94.3
    • 0.94.5, 0.95.0
    • None
    • None
    • Reviewed

    Description

      We will check whether server carrying ROOT/META when expiring the server.
      See ServerManager#expireServer.

      If the dead server carrying META, we assign meta directly in the process of ServerShutdownHandler.
      If the dead server carrying ROOT, we will offline ROOT and then verifyAndAssignRootWithRetries()

      How judgement of carrtying ROOT/META become wrong?
      If region is in RIT, and isCarryingRegion() return true after addressing from zk.
      However, once RIT time out(could be caused by this.allRegionServersOffline && !noRSAvailable, see AssignmentManager#TimeoutMonitor) and we assign it to otherwhere, this judgement become wrong.
      See AssignmentManager#isCarryingRegion for details

      With the wrong judgement of carrtying ROOT/META, we would assign ROOT/META twice.

      Attachments

        1. 7506-trunkv2.patch
          9 kB
          Chunhui Shen
        2. 7506-trunk v1.patch
          3 kB
          Chunhui Shen
        3. 7506-trunkv1.patch
          3 kB
          Chunhui Shen
        4. 7506-94.patch
          2 kB
          Chunhui Shen

        Activity

          People

            zjushch Chunhui Shen
            zjushch Chunhui Shen
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: