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

RSGroupBalancer#assignments lost some regionPlans

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Patch Available
    • Major
    • Resolution: Unresolved
    • 2.3.1, 2.2.3
    • None
    • rsgroup
    • None

    Description

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

      when fallback 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

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

      the issue exists only in the branch-2.

      Attachments

        Issue Links

          Activity

            People

              Bo Cui Bo Cui
              Bo Cui Bo Cui
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: