Skip to content

Final cost-based autoscaler knobs adjusments#19045

Merged
kfaraz merged 2 commits into
apache:masterfrom
Fly-Style:cba-final-knob-move
Feb 24, 2026
Merged

Final cost-based autoscaler knobs adjusments#19045
kfaraz merged 2 commits into
apache:masterfrom
Fly-Style:cba-final-knob-move

Conversation

@Fly-Style

@Fly-Style Fly-Style commented Feb 23, 2026

Copy link
Copy Markdown
Contributor

This patch makes autoscaling during high lag even smoother, by reducing logarihmic mutliplier used a knob for that.
Old multiplier recommended to scale up too much tasks.
The result might be seen in the plot under the hood.

Details

Plot conditions were taken from real scenario: ~5M lag, 100k processing rate, 48 partitions (10 and 24 partitions are present here for differential analysis purposes).

image

This PR has:

  • been self-reviewed.
  • been tested in a test Druid cluster.

@kfaraz

kfaraz commented Feb 23, 2026

Copy link
Copy Markdown
Contributor

Thanks for the PR, @Fly-Style !

Could you please share details on why the value 0.05 is better than 0.2?
I wonder if the same result cannot be achieved by setting the value of lagWeight to a large value, say > 1.

In general, for a new supervisor, what would be the steps to reach the optimal values for lagWeight and idleWeight?

@Fly-Style

Copy link
Copy Markdown
Contributor Author

@kfaraz I updated PR description.

Regarding the:

I wonder if the same result cannot be achieved by setting the value of lagWeight to a large value, say > 1.

Technically, yes, but such a decision does sound logical, at least to my taste. The core idea is behind the juggling of the normalized cost fuction weights. Well, maybe my mind is not so agile 😅, and that may make sense.

@kfaraz kfaraz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved.

@Fly-Style , could you please share some thoughts on:

In general, for a new supervisor, what would be the steps to reach the optimal values for lagWeight and idleWeight?

It would be very helpful to allow users to experiment with and tune the new autoscaler.

@Fly-Style

Copy link
Copy Markdown
Contributor Author

@kfaraz sure.
Optimal values for typical smooth workload lagWeight / idleWeight are in the range of [0.2/0.8] to ~[0.65/0.35].
The default values of 0.25 for lagWeight and 0.75 for idleWeight behaved well both during theoretical analysis and practical long-running tests.

@kfaraz
kfaraz merged commit f7be683 into apache:master Feb 24, 2026
36 of 37 checks passed
@Fly-Style
Fly-Style deleted the cba-final-knob-move branch February 24, 2026 09:10
@cecemei cecemei added this to the 37.0.0 milestone Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants