[ 
https://issues.apache.org/jira/browse/HBASE-30331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Umesh Kumar Kumawat updated HBASE-30331:
----------------------------------------
    Summary: RegionMover.filterRSGroupServers short-circuits on default RSGroup 
 (was: RegionMover.filterRSGroupServers short-circuits on default RSGroup, 
causing unnecessary region churn on clusters with custom RSGroups)

> RegionMover.filterRSGroupServers short-circuits on default RSGroup
> ------------------------------------------------------------------
>
>                 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)

Reply via email to