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

AssignmentManager.start should add meta region to ServerStateNode

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.0-alpha-1, 2.3.0, 2.2.6
    • Component/s: amv2
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      In AssignmentManager.start, we will load the meta region state and location from zk and create the RegionStateNode, but we forget to call regionStates.addRegionToServer to add the region to the region server.

      Found this when implementing HBASE-24390. As in HBASE-24390, we will remove RegionInfoBuilder.FIRST_META_REGIONINFO so in SCP, we need to use the getRegionsOnServer instead of RegionInfoBuilder.FIRST_META_REGIONINFO when assigning meta, so the bug becomes a real problem.

      Though it is not a big problem for SCP for current 2.x and master branches, it is a high risky bug. For example, in AssignmentManager.submitServerCrash, now we use the RegionStateNode of meta regions to determine whether the given region server carries meta regions. But it is also valid to test through the ServerStateNode's region list. If later we change this method to use ServerStateNode, it will cause very serious data loss bug.

        Attachments

          Activity

            People

            • Assignee:
              zhangduo Duo Zhang
              Reporter:
              zhangduo Duo Zhang
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: