mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-13 19:36:22 +00:00
If node events are received at a faster rate than they can be processed then initialization for some nodes will be delayed. Once they are eventually processed their cloud taint is removed, but there may already be several update events for those nodes with the cloud taint still on them already in the event queue. To avoid re-initializing those nodes, the cloud taint is checked for again after requesting the current state of the node. If the cloud taint is no longer on the node then nil is returned from the RetryOnConflict, as an error does not need to be logged. The logging for a successful initialization is also moved inside the RetryOnConflict so that the early nil return does not cause the aborted initialization to be logged as a success.