Skip to content
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

Remove bottleneck in reconciliation controller #289

Merged
merged 1 commit into from
Feb 21, 2025
Merged

Remove bottleneck in reconciliation controller #289

merged 1 commit into from
Feb 21, 2025

Conversation

jveski
Copy link
Collaborator

@jveski jveski commented Feb 21, 2025

It turns out the default controller work queue rate limiter has a shared token bucket of 10 RPS (with some reasonable burst) that applies to all requeues. Since the reconciliation controller can't/doesn't watch the resources it writes, it relies on requeues to form its feedback loop, which means when the loop ticks into the second iteration of any resource (typically the status update) it will wait a few dozen milliseconds.

This also fixes a couple of other small nits surrounding client-side rate limiting.

@jveski jveski enabled auto-merge (squash) February 21, 2025 17:50
@jveski jveski merged commit 1d92344 into main Feb 21, 2025
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants