Duo Zhang created HBASE-24517:
---------------------------------
Summary: AssignmentManager.start should add meta region to
ServerStateNode
Key: HBASE-24517
URL: https://issues.apache.org/jira/browse/HBASE-24517
Project: HBase
Issue Type: Bug
Components: amv2
Reporter: Duo Zhang
Assignee: Duo Zhang
Fix For: 3.0.0-alpha-1, 2.3.0, 2.2.6
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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)