-
Notifications
You must be signed in to change notification settings - Fork 590
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
Support throttling an already created source/table #12997
Comments
@tabVersion and I was thinking whether we can easily support throttling an already created source by introducing a config to limit "number of messages allowed" per barrier in source. It seems that this needs a bigger refactoring and I think that we can adopt the existing FlowControlExeuctor approach. |
Agree. In my mind, the user-interface is via altering a property of materialized view. Previsouly discussed in #11929 |
Technically, we can modify the |
|
|
That's true. The work left is on the |
I'm unsure if it's really necessary to make it so "general", that is, utilizing the Alter MV approach to achieve the rate modification. From my prospective, we may simply wrap each executor with a |
I don't think it is necessary in most cases but it is essential to reduce the data into the cluster, preventing from OOM loop. |
Hi, seems @tabVersion is working on this issue. Could you please share more of the overall direction you will take? |
+1. So what's the eventual plan for updating the flow control rate online? |
I am proposing a config change solution, risectl will send a |
I'm thinking if we can let the system parameter be granular enough. Seems kind of weird, because system parameter is system-wide setting. Whereas here, we may want to specify rate limit for a specific stream job, rather than the whole stream graph. So config change seems to be more reasonable.. |
Actually I think the two approach can be compatible? Both have their usecases.
Within the flow control executor we have the following behaviour:
|
will continue to push forward after closing #14384 |
will continue moving the throttle inside source exec and backfill exec |
#15948 close as completed |
Currently user can use
SET RW_STREAMING_RATE_LIMIT = <rate_limit_per_actor>
to rate limit source/table created in the session but we don't have a way to throttle a specific source/table if it is not created withSET RW_STREAMING_RATE_LIMIT
.This is useful when there are data accumulated in the source and processing these data in one barrier without throttling will cause endless OOM.
The text was updated successfully, but these errors were encountered: