-
Notifications
You must be signed in to change notification settings - Fork 40.1k
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
Pass ListOptions to List in ListWatch. #18080
Conversation
Labelling this PR as size/L |
GCE e2e test build/test passed for commit d87024d9346ae30fcf02020a2bb056bd500af03d. |
d87024d
to
344c5ad
Compare
344c5ad
to
34f35b0
Compare
GCE e2e test build/test passed for commit 344c5ad111edceeda0da8ff699f0529265163a86. |
GCE e2e test build/test passed for commit 34f35b081e833e269b31d329d542092645f9ed59. |
LGTM, thanks for cleanup! |
Thanks - yeah - we have much more consistent interfaces now... |
@k8s-bot test this Tests are more than 48 hours old. Re-running tests. |
GCE e2e test build/test passed for commit 34f35b081e833e269b31d329d542092645f9ed59. |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e build/test failed for commit 34f35b081e833e269b31d329d542092645f9ed59. |
34f35b0
to
b0fcb5a
Compare
trivial rebase (there was a new call with old syntax). |
GCE e2e build/test failed for commit b0fcb5a. |
@k8s-bot e2e test this please |
GCE e2e build/test failed for commit b0fcb5a. |
@k8s-bot e2e test this please |
GCE e2e test build/test passed for commit b0fcb5a. |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e build/test failed for commit b0fcb5a. |
@k8s-bot e2e test this please |
GCE e2e build/test failed for commit b0fcb5a. |
cluster didn't started @k8s-bot e2e test this please |
GCE e2e build/test failed for commit b0fcb5a. |
@k8s-bot e2e test this please |
GCE e2e build/test failed for commit b0fcb5a. |
@k8s-bot e2e test this please |
GCE e2e build/test failed for commit b0fcb5a. |
@k8s-bot e2e test this please |
GCE e2e build/test failed for commit b0fcb5a. |
@k8s-bot e2e test this please |
GCE e2e test build/test passed for commit b0fcb5a. |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e test build/test passed for commit b0fcb5a. |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e build/test failed for commit b0fcb5a. |
@k8s-bot e2e test this please |
GCE e2e test build/test passed for commit b0fcb5a. |
Manually merging to unblock different experiments. |
Pass ListOptions to List in ListWatch.
Automatic merge from submit-queue (batch tested with PRs 17976, 17195, 18093, 18080, 17922). UPSTREAM: 58107: Fix quota controller worker deadlock The resource quota controller worker pool can deadlock when: * Worker goroutines are idle waiting for work from queues * The Sync() method detects discovery updates to apply The problem is workers acquire a read lock while idle, making write lock acquisition dependent upon the presence of work in the queues. The Sync() method blocks on a pending write lock acquisition and won't unblock until every existing worker processes one item from their queue and releases their read lock. While the Sync() method's lock is pending, all new read lock acquisitions will block; if a worker does process work and release its lock, it will then become blocked on a read lock acquisition; they become blocked on Sync(). This can easily deadlock all the workers processing from one queue while any workers on the other queue remain blocked waiting for work. Fix the deadlock by refactoring workers to acquire a read lock *after* work is popped from the queue. This allows writers to get locks while workers are idle, while preserving the worker pause semantics necessary to allow safe sync. Origin-commit: 3a20d5947b17284e56f828f9b40380446cb04ed0
Automatic merge from submit-queue (batch tested with PRs 17976, 17195, 18093, 18080, 17922). UPSTREAM: 58107: Fix quota controller worker deadlock The resource quota controller worker pool can deadlock when: * Worker goroutines are idle waiting for work from queues * The Sync() method detects discovery updates to apply The problem is workers acquire a read lock while idle, making write lock acquisition dependent upon the presence of work in the queues. The Sync() method blocks on a pending write lock acquisition and won't unblock until every existing worker processes one item from their queue and releases their read lock. While the Sync() method's lock is pending, all new read lock acquisitions will block; if a worker does process work and release its lock, it will then become blocked on a read lock acquisition; they become blocked on Sync(). This can easily deadlock all the workers processing from one queue while any workers on the other queue remain blocked waiting for work. Fix the deadlock by refactoring workers to acquire a read lock *after* work is popped from the queue. This allows writers to get locks while workers are idle, while preserving the worker pause semantics necessary to allow safe sync. Origin-commit: 3a20d5947b17284e56f828f9b40380446cb04ed0
Automatic merge from submit-queue (batch tested with PRs 17976, 17195, 18093, 18080, 17922). UPSTREAM: 58107: Fix quota controller worker deadlock The resource quota controller worker pool can deadlock when: * Worker goroutines are idle waiting for work from queues * The Sync() method detects discovery updates to apply The problem is workers acquire a read lock while idle, making write lock acquisition dependent upon the presence of work in the queues. The Sync() method blocks on a pending write lock acquisition and won't unblock until every existing worker processes one item from their queue and releases their read lock. While the Sync() method's lock is pending, all new read lock acquisitions will block; if a worker does process work and release its lock, it will then become blocked on a read lock acquisition; they become blocked on Sync(). This can easily deadlock all the workers processing from one queue while any workers on the other queue remain blocked waiting for work. Fix the deadlock by refactoring workers to acquire a read lock *after* work is popped from the queue. This allows writers to get locks while workers are idle, while preserving the worker pause semantics necessary to allow safe sync. Origin-commit: 3a20d5947b17284e56f828f9b40380446cb04ed0
Ref #15945
This will allow passing "0" resourceVersion to List() operation in our frameworks (Reflector, Informer, etc.)