You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Gabriella Lotz (Jira)" <ji...@apache.org> on 2026/04/24 15:31:00 UTC
[jira] [Updated] (KUDU-3733) Remove experimental flag
[ https://issues.apache.org/jira/browse/KUDU-3733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gabriella Lotz updated KUDU-3733:
---------------------------------
Description:
h3. Context:
The auto-leader-rebalancer is currently gated behind an experimental flag. Before removing it, one startup behavior bug must be fixed.
Bug to fix first: RunLoop() currently sleeps for the full --auto_leader_rebalancing_interval_seconds (default: 1 hour) before executing the first rebalance pass. This means that on master restart or failover, the rebalancer is effectively inactive for up to an hour, which is unacceptable in production. The loop should run once immediately on startup, then sleep between subsequent iterations.
h3. Current behavior:
sleep → run → sleep → run → ...
h3. Expected behavior:
run → sleep → run → sleep → ...
The fix is a small restructure of RunLoop() in auto_leader_rebalancer.cc from a while(!WaitFor(...)) pattern to a do \{ run } while(!WaitFor(...)) pattern.
h3. After the bug fix:
Remove --auto_leader_rebalancing_enabled experimental gating (or promote the flag to stable)
Verify that existing tests still pass with the new loop order
Confirm behavior on master failover: new leader should begin rebalancing promptly
> Remove experimental flag
> ------------------------
>
> Key: KUDU-3733
> URL: https://issues.apache.org/jira/browse/KUDU-3733
> Project: Kudu
> Issue Type: Sub-task
> Reporter: Gabriella Lotz
> Priority: Major
>
> h3. Context:
> The auto-leader-rebalancer is currently gated behind an experimental flag. Before removing it, one startup behavior bug must be fixed.
> Bug to fix first: RunLoop() currently sleeps for the full --auto_leader_rebalancing_interval_seconds (default: 1 hour) before executing the first rebalance pass. This means that on master restart or failover, the rebalancer is effectively inactive for up to an hour, which is unacceptable in production. The loop should run once immediately on startup, then sleep between subsequent iterations.
> h3. Current behavior:
> sleep → run → sleep → run → ...
> h3. Expected behavior:
> run → sleep → run → sleep → ...
> The fix is a small restructure of RunLoop() in auto_leader_rebalancer.cc from a while(!WaitFor(...)) pattern to a do \{ run } while(!WaitFor(...)) pattern.
> h3. After the bug fix:
> Remove --auto_leader_rebalancing_enabled experimental gating (or promote the flag to stable)
> Verify that existing tests still pass with the new loop order
> Confirm behavior on master failover: new leader should begin rebalancing promptly
--
This message was sent by Atlassian Jira
(v8.20.10#820010)