-
Notifications
You must be signed in to change notification settings - Fork 599
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(streaming): adapt backfill rate limit according to barrier latency #16678
base: main
Are you sure you want to change the base?
Conversation
a407270
to
07e0d11
Compare
The default adaptive rate limit strategy doesn't work well when I test it with the high amplification case.
Then we end up having too high a rate limit due to 1 and 2. At that point, when adaptive rate limit kicks in, it's too slow as well, since its barrier latency is high (as rate limit is too high). |
acc0499
to
f4b560f
Compare
364f8e5
to
6150e3a
Compare
6150e3a
to
ad94e9b
Compare
This PR has been open for 60 days with no activity. If it's blocked by code review, feel free to ping a reviewer or ask someone else to review it. If you think it is still relevant today, and have time to work on it in the near future, you can comment to update the status, or just manually remove the You can also confidently close this PR to keep our backlog clean. (If no further action taken, the PR will be automatically closed after 7 days. Sorry! 🙏) |
@hzxa21 suggests using the time lapse between barriers received by the backfill executor to adapt rate limit. |
Some other thoughts: Adaptive rate limit should not attempt to handle extreme amplification cases. Just handle trends where the barrier latency slowly climbs up. |
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
wip.
We have a few test scenarios:
Amplification is medium x100
Backpressure can handle this case well. Adaptive Rate Limit does not have any discernible effect.
Amplification is extreme, e.g. x500
In this case, adaptive rate limit will not be able to keep barrier latency low.
Since barrier latency is a lagging metric, it means that rate limit will only be adjusted much later, and will take a while for it to take effect. In such a scenario, barrier latency will remain high.
Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.