Repository navigation
🐛 report Archiving status when ClusterObjectSet teardown retries fail - #3059
Merged
openshift-merge-bot[bot] merged 1 commit intoOct 23, 2026
Conversation
When RevisionEngine.Teardown returns an error during archival, the archive path returned the error for backoff but left the Ready condition unchanged. A revision whose teardown first fails before any Archiving status was set would keep displaying its prior condition (e.g. AllObjectsReady), masking that cleanup is still in progress. Set Ready=False/Archiving in the teardown error branch before returning the error. This keeps the surfaced status honest during teardown retries and is consistent with the incomplete-but-no-error branch, which already reports Archiving. The condition is never set to Archived here, so the ClusterObjectDeployment garbage collector (which prunes only revisions whose Ready reason is Archived) still cannot select a revision mid-teardown. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Member
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tmshort The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
openshift-merge-bot
Bot
merged commit Oct 23, 2026
5e8f274
into
operator-framework:main
36 checks passed
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.
Description
When
RevisionEngine.Teardownreturns an error during archival,ClusterObjectSetReconciler.archive()returned the error for rate-limited backoff but left theReadycondition unchanged. A revision whose teardown fails on the first attempt — before anyArchivingstatus had been set — keeps displaying its prior condition (e.g.AllObjectsReady), which masks that cleanup is still in progress.This sets
Ready=False/Archivingin the teardown error branch before returning the error, so the surfaced status is honest during teardown retries. It is consistent with the incomplete-but-no-error branch directly below, which already reportsArchiving.The condition is never set to
Archivedon this path, so theClusterObjectDeploymentgarbage collector — which prunes only revisions whoseReadyreason isArchived— still cannot select a revision whose teardown is incomplete. The GC invariant (reason == Archived⟹ teardown complete) is preserved.Follow-up to a review comment on #3052.
Reviewer notes
archive()and correctly leavesReadyuntouched.Testing
Ready=False/Archivingafter a teardown error.go build,go vet, and the full./internal/object-controller/...suite pass.🤖 Generated with Claude Code
Summary by CodeRabbit