Merge pull request #105605 from sttts/sttts-watch-cache-multiple-blockers
apiserver/watchcache: doc watch event fan-out to blocked watchers better
This commit is contained in:
		| @@ -934,8 +934,11 @@ func (c *Cacher) dispatchEvent(event *watchCacheEvent) { | ||||
| 			timeout := c.dispatchTimeoutBudget.takeAvailable() | ||||
| 			c.timer.Reset(timeout) | ||||
|  | ||||
| 			// Make sure every watcher will try to send event without blocking first, | ||||
| 			// even if the timer has already expired. | ||||
| 			// Send event to all blocked watchers. As long as timer is running, | ||||
| 			// `add` will wait for the watcher to unblock. After timeout, | ||||
| 			// `add` will not wait, but immediately close a still blocked watcher. | ||||
| 			// Hence, every watcher gets the chance to unblock itself while timer | ||||
| 			// is running, not only the first ones in the list. | ||||
| 			timer := c.timer | ||||
| 			for _, watcher := range c.blockedWatchers { | ||||
| 				if !watcher.add(event, timer) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Prow Robot
					Kubernetes Prow Robot