-
Notifications
You must be signed in to change notification settings - Fork 14
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
local rate limiter: backport the non-timer based bucket #357
Conversation
Issues linked to changelog: |
I'm not sure exactly how to review/test this so any guidance you have would be appreciated. So far,
So we can test this by running
I'm in the process of running this locally. If it's possible to add this to CI, that would be amazing, but if it's too much of a lift, then don't worry about it. I'm also wondering if we want to do some sort of performance test before merging this into Gloo and/or releasing it. Do you have any thoughts here? |
solo-io/gloo#9822 shows that basic local rate limit works with this change |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good to me. I don't see any major issues and found a couple tiny nits.
My biggest question at the moment is what the role of lbucket.iff
is. Is this something that we need in this patch/branch? Was it added by mistake?
For future reference, it looks like the majority of the complexity in the diffs here lies in these two files:
source/extensions/filters/common/local_ratelimit/local_ratelimit_impl.cc
source/extensions/filters/http/local_ratelimit/local_ratelimit.cc
(and their associated headers too, of course).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added a few more comments surrounding testing
/kick aml-cpp |
* Backport deallocate slots on worker threads * Add changelog * Up-port another change from the 1.27 patch * Comment upstream source of the patch * Whoops. commented the wrong line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks great! i really like having additional actions like this to test the veracity of the upstream patches that we backport
/kick 92f51882 |
backport the first 3 rate limit pieces of upstream's 34774 issue
This allows us to run local rate limiting not on the main thread if an environment variable is set to true.
In the future can be disabled via envoy_reloadable_features_no_timer_based_rate_limit_token_bucket
for now can be ENABLED via envoy_reloadable_features_no_timer_based_rate_limit_token_bucket