Hi, I was wondering if someone could confirm or deny my suspicion that the "numMaxRegionsPerTable" is not being updated properly at line 670 of BaseLoadBalancer.java <https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java>. The comment says "check whether this caused maxRegionsPerTable in the new Server to be updated" but then does not update numMaxRegionsPerTable. I stepped through 'testRegionAvailabilityWithRegionMoves' in TestBaseLoadBalancer.java and saw the maxRegionsPerTable never gets increased to 2 after the region is moved to a RegionServer that already has a region. If the maxRegionsPerTable isn't updated with the new max, then the balancer will properly penalize this potential move which causes a worse Table Skew.
Code in question: //check whether this caused maxRegionsPerTable in the new Server to be updated if (numRegionsPerServerPerTable[newServer][tableIndex] > numMaxRegionsPerTable[tableIndex]) { numMaxRegionsPerTable[tableIndex] = numRegionsPerServerPerTable[newServer][tableIndex]; } Thanks, Tim