Merge pull request #125288 from p0lyn0mial/upstream-fix-125244

cacher: dispatchEvents is synced to watchCache.listResourceVersion
This commit is contained in:
Kubernetes Prow Robot 2024-06-03 03:06:17 -07:00 committed by GitHub
commit d0aaa66bf7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 4 deletions

View File

@ -912,10 +912,10 @@ func (c *Cacher) dispatchEvents() {
// The first successful sync with the underlying store.
// The cache must wait until this first sync is completed to be deemed ready.
// Since we cannot send a bookmark when the lastProcessedResourceVersion is 0,
// we poll aggressively for the first RV before entering the dispatch loop.
// we poll aggressively for the first list RV before entering the dispatch loop.
lastProcessedResourceVersion := uint64(0)
if err := wait.PollUntilContextCancel(wait.ContextForChannel(c.stopCh), 10*time.Millisecond, true, func(_ context.Context) (bool, error) {
if rv := c.watchCache.getResourceVersion(); rv != 0 {
if rv := c.watchCache.getListResourceVersion(); rv != 0 {
lastProcessedResourceVersion = rv
return true, nil
}

View File

@ -644,10 +644,10 @@ func (w *watchCache) Resync() error {
return nil
}
func (w *watchCache) getResourceVersion() uint64 {
func (w *watchCache) getListResourceVersion() uint64 {
w.RLock()
defer w.RUnlock()
return w.resourceVersion
return w.listResourceVersion
}
func (w *watchCache) currentCapacity() int {