You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SharedInformer previously saved a resource version (RV) as soon as Watch received an event. If processing failed or the Informer stopped before updating its cache, a later WATCH could skip that event. Short failures also caused repeated requests, while reconnecting postponed periodic LISTs.
Resume from the last event successfully applied to the cache, or from a BOOKMARK.
Let Informer own LIST and WATCH retries, with separate jittered backoffs capped at 60 seconds. Schedule periodic LISTs from the completion of the last successful LIST, and recover from an expired RV (410) with a new LIST.
Keep Watch's last valid RV when malformed or unsupported events arrive. Such events no longer reset the consecutive-410 retry limit.
Close interrupted stream responses and treat an intentional resync close separately from a failure.
Add Watch(..., retry=False) so each stream() invokes the API callable at most once. The default remains retry=True; HTTP transport retry and timeout settings are unchanged. The default resync_period=0 does not inject timeout_seconds.
Does this PR introduce a user-facing change?
SharedInformer now resumes WATCH streams from the last successfully cached resource version and uses bounded recovery for LIST and WATCH failures.
kubernetes-prowBot
added
release-note
Denotes a PR that will be considered when it comes time to generate release notes.
kind/bug
Categorizes issue or PR as related to a bug.
kind/api-change
Categorizes issue or PR as related to adding, removing, or otherwise changing an API
labels
Sep 26, 2026
You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.
You may want to refer to our testing guide if you run into trouble with your tests not passing.
If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!
This pull-request has been approved by: ilcm96 Once this PR has been reviewed and has the lgtm label, please assign roycaihw for approval. For more information see the Code Review Process.
The full list of commands accepted by this bot can be found here.
Details
Needs approval from an approver in each of these files:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cncf-cla: yesIndicates the PR's author has signed the CNCF CLA.kind/api-changeCategorizes issue or PR as related to adding, removing, or otherwise changing an APIkind/bugCategorizes issue or PR as related to a bug.release-noteDenotes a PR that will be considered when it comes time to generate release notes.size/XXLDenotes a PR that changes 1000+ lines, ignoring generated files.
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
/kind bug
/kind api-change
What this PR does / why we need it:
SharedInformer previously saved a resource version (RV) as soon as Watch received an event. If processing failed or the Informer stopped before updating its cache, a later WATCH could skip that event. Short failures also caused repeated requests, while reconnecting postponed periodic LISTs.
Watch(..., retry=False)so eachstream()invokes the API callable at most once. The default remainsretry=True; HTTP transport retry and timeout settings are unchanged. The defaultresync_period=0does not injecttimeout_seconds.Does this PR introduce a user-facing change?