Make changeset endpoint delivery attempts configurable (disable retries via env) - #1064
Open
arielr-lt wants to merge 2 commits into
Open
Make changeset endpoint delivery attempts configurable (disable retries via env)#1064arielr-lt wants to merge 2 commits into
arielr-lt wants to merge 2 commits into
Conversation
added 2 commits
August 12, 2026 17:43
Add REGISTRY_CHANGESET_SYNC_ENDPOINT_ATTEMPTS env var (default 3, min 1) so the number of delivery attempts can be tuned per environment. Set to 1 to POST each changeset to the Publisher endpoint exactly once with no retries.
chuang-CE
approved these changes
Aug 12, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Makes the number of changeset → Publisher delivery attempts configurable via a new env var
REGISTRY_CHANGESET_SYNC_ENDPOINT_ATTEMPTS(default3, minimum1). Previously the attempt count was hardcoded (ENDPOINT_DELIVERY_ATTEMPTS = 3) with no way to tune it.Setting it to
1makes the registry POST each changeset to the Publisher exactly once — no retries.Why
The Publisher stores the changeset on the first POST (it currently returns a non-2xx only on a later workflow-submission step). On our side, any non-2xx is treated as a failed delivery and retried up to 3× under the publish-lock, which (a) re-POSTs/re-stores the same changeset multiple times on the Publisher side and (b) holds the publish-lock longer. The Publisher team asked us not to retry the upload endpoint. The only retry-related config today is the interval, not the count — so this needs a code change.
Change
changeset_endpoint_attemptsreadsREGISTRY_CHANGESET_SYNC_ENDPOINT_ATTEMPTS(defaults to the existing constant, clamped to ≥ 1).deliver_changeset_to_endpointuses it instead of the hardcoded constant. No behavior change unless the env var is set.To activate in prod (separate config, not in this PR)
Set in the
credreg-prodconfigmap and deploy the new image:Default (3) is unchanged for all other environments.