[ 
https://issues.apache.org/jira/browse/HBASE-30331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18106984#comment-18106984
 ] 

Hudson commented on HBASE-30331:
--------------------------------

Results for branch branch-3
        [build #606 on 
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/606/]: 
(/) *{color:green}+1 overall{color}*
----
details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/606/General_20Nightly_20Build_20Report/]








(/) {color:green}+1 jdk17 hadoop3 checks{color}
-- For more information [see jdk17 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/606/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]


> Remove RegionMover.filterRSGroupServers's short-circuit 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
>              Labels: pull-request-available
>             Fix For: 4.0.0-alpha-1, 3.1.0, 3.0.1
>
>
> 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