Bo Cui created HBASE-25092:
------------------------------

             Summary: RSGroupBalancer#assignments lost some regionPlans
                 Key: HBASE-25092
                 URL: https://issues.apache.org/jira/browse/HBASE-25092
             Project: HBase
          Issue Type: Bug
          Components: rsgroup
    Affects Versions: 2.2.3, 2.3.1
            Reporter: Bo Cui


https://github.com/apache/hbase/blob/b2f2c79d8fa18fb691e669419004cc5168b0838d/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java#L216

when fallbak is enabled, servers does not contain the current group's rs, and 
contains the rs of other group, region will be assigend to other group, but 
assignments already contains targetRS, and then assignments.putAll overwrites 
old entry

{code:java}
this.internalBalancer.retainAssignment(currentAssignmentMap, candidateList)
              .forEach((serverName, regionInfos) -> {
                assignments.computeIfAbsent(serverName, s -> new ArrayList<>())
                    .addAll(regionInfos);
});
{code}

the issue exists only in the branch-2.



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

Reply via email to