[
https://issues.apache.org/jira/browse/KUDU-3767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18088463#comment-18088463
]
ASF subversion and git services commented on KUDU-3767:
-------------------------------------------------------
Commit 6b1bbe17b8ab938291541389a90c67c358bba716 in kudu's branch
refs/heads/master from Gabriella Lotz
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=6b1bbe17b ]
KUDU-3767 Add global leader awareness to auto leader rebalancer (Part 1)
The leader rebalancer processes tables independently, so when picking
a destination for a leader transfer it only considers per-table leader
density. If two follower tservers score equally on that metric, the
choice is driven by iteration order, which can consistently favour the
same tserver across many tables.
This patch threads a global leader count map through the per-table
loop. Each call to RunLeaderRebalanceForTable accumulates actual leader
counts from the current table and updates the map as moves are planned.
When two destination candidates have the same per-table score, the one
with the lower global leader count is preferred, steering transfers
away from tservers that are already carrying more leaders from earlier
tables in the same round.
This is part 1 of this addition; part 2 will be a follow-up change
adding a post-loop global pass to detect and correct tservers that are
globally overloaded even when per-table balance is already achieved.
Change-Id: I47e266d2a06d5c18a50270e0d5e9d4954480f308
Reviewed-on: http://gerrit.cloudera.org:8080/24246
Reviewed-by: Marton Greber <[email protected]>
Tested-by: Marton Greber <[email protected]>
Reviewed-by: Zoltan Chovan <[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)