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

ASF subversion and git services commented on KUDU-3767:
-------------------------------------------------------

Commit 6124d83bc1f97b426a8efe47969845003266540d in kudu's branch 
refs/heads/master from Gabriella Lotz
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=6124d83bc ]

KUDU-3767 Add global leader awareness to auto leader rebalancer (Part 2)

Part 1 threaded a global leader count map through the per-table loop to
break ties when scoring destinations. That steers individual transfers
but can't fix skew that spans tables: since each table is balanced
independently, a tserver can keep getting the ceiling ('+1') allocation
across many tables and end up holding far more leaders than its peers,
even though every table is locally balanced. A typical case is many
single-tablet tables whose lone leaders all land on the same tserver.

This patch adds the post-loop global pass promised in Part 1. Once every
table is balanced on its own, it moves leaders off tservers that are above
the global ceiling onto ones with room below it, but only when doing so
keeps the affected table within its own floor/ceil. The pass runs only in
a round where per-table balancing scheduled nothing (to avoid racing its
in-flight, asynchronous moves) and is best-effort, logging and skipping
transient step-down failures.

Change-Id: I5d44761f6444ca1d1bf4fcee405d65d029e41980
Reviewed-on: http://gerrit.cloudera.org:8080/24476
Reviewed-by: Alexey Serbin <[email protected]>
Reviewed-by: Marton Greber <[email protected]>
Tested-by: Marton Greber <[email protected]>


> Add global leader awareness to auto-rebalancer algorithm
> --------------------------------------------------------
>
>                 Key: KUDU-3767
>                 URL: https://issues.apache.org/jira/browse/KUDU-3767
>             Project: Kudu
>          Issue Type: Sub-task
>            Reporter: Gabriella Lotz
>            Assignee: Gabriella Lotz
>            Priority: Major
>
> # Pass a global leader_count_by_ts_uuid map into RunLeaderRebalanceForTable 
> and use it to break ties in destination scoring
>  # Add a post-loop global pass after all tables are processed to detect and 
> correct tservers that consistently hold the ceiling allocation across tables



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to