[
https://issues.apache.org/jira/browse/HBASE-30331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Umesh Kumar Kumawat reassigned HBASE-30331:
-------------------------------------------
Assignee: Umesh Kumar Kumawat
> RegionMover.filterRSGroupServers short-circuits on default RSGroup, causing
> unnecessary region churn on clusters with custom RSGroups
> -------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-30331
> URL: https://issues.apache.org/jira/browse/HBASE-30331
> Project: HBase
> Issue Type: Bug
> Components: rsgroup
> Affects Versions: 3.0.0
> Reporter: Umesh Kumar Kumawat
> Assignee: Umesh Kumar Kumawat
> Priority: Minor
>
> Problem
> RegionMover.filterRSGroupServers() in hbase-server contains a short-circuit
> for the default RSGroup:
> // RegionMover.java line 530
> if (rsgroup.getName().equals(RSGroupInfo.DEFAULT_GROUP)) {
> return onlineServers; // returns ALL online servers — including
> custom-group servers
> }
> When unloadRegions() is called on a server that belongs to the default
> RSGroup, filterRSGroupServers skips the membership check and returns every
> live RegionServer as a valid move target — including
> servers in custom RSGroups. HMaster's RSGroup-aware balancer will
> eventually move those regions back to the correct group, but RegionMover is
> causing work that the master then has to undo.
> Root Cause
> The short-circuit was added as an optimization: on a cluster where all
> servers are in the default group, iterating the membership set is redundant.
> However, once any server is moved to a custom RSGroup,
> the default-group filter no longer reflects actual membership — it
> over-includes servers that have left the default group.
> Impact
> - A RegionMover unload on a default-group server may place regions onto
> custom-group servers.
> - HMaster detects the misplacement and moves those regions back via the
> RSGroup-aware balancer, causing an unnecessary round of region transitions
> and load imbalance during the window between RegionMover
> finishing and the next balancer cycle.
> - Affects any cluster that uses RSGroups and runs RegionMover (rolling
> restarts, decommission workflows).
>
> The corresponding fix for branch-2 was shipped as part of HBASE-30323. This
> ticket tracks the same correction on master/branch-3.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)