-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Enable throttler in activator #3139
Enable throttler in activator #3139
Conversation
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.
@vvraskin: 1 warning.
In response to this:
Fixes #2381
Proposed Changes
- Enable throttler in
activator/main.go
and inpkg/activator/handler/handler.go
.- Define endpoint observer and revision observers in the main method.
- Return 503 in case of throttler overflow (should not happen unless the BreakersQueueDepth is reached), and 502 in case if the revision is not found (should not happen)
- See the reduction of previously observed 503s - Buffer overload requests in Activator #1846 (comment)
- Extend existing unit tests
Release Note
Throttle requests in activator in case of overflow.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
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.
Yay, thanks again for breaking the PRs into small pieces. I cannot stress enough how much that facilitated reviewing.
This looks good throughout, my comments are mostly refactors and suggestions. Haven't looked at the tests just yet.
5b58d2f
to
b93fce0
Compare
Regarding the tests. |
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.
I'm fine with this as-is, thanks for making the quick changes @vvraskin
/approve
/cc @vagababov
Would you do me the honors and give this a second look? I'll leave to you to leave a LGTM. Thanks!
The previous tests failed because of "Scale to 50" - will be rerun after the push. There was one failure of "BuildPipelineAndServe" which looked like an istio/envoy blip with "no healthy upstream". |
1d837a3
to
d696c6a
Compare
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.
Bunch of superficial comments, but one high-level one: we need to make sure we can horizontally scale the activator, and so we need to account for it's replication.
thanks for breaking this up.
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.
One last nit.
Do you plan on writing an E2E test, that asserts that the burst behavior is as we expect it?
@markusthoemmes @tcnghia could you please review/approve? I touched the reconciler files. |
The following is the coverage report on pkg/.
|
The preUpgrade test seems to be flaky in the pipeline, and it passes locally, so |
ff1a6e4
to
9c7a884
Compare
Unrelated unit test failure, |
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.
/lgtm
/assign @mattmoor For the leftover approval. |
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.
/lgtm
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: markusthoemmes, mattmoor, vvraskin The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Fixes #2381
Proposed Changes
activator/main.go
and inpkg/activator/handler/handler.go
.Release Note