Skip to content

fix(dataprotection): terminate restores for deleting source components - #10846

Merged
leon-ape merged 12 commits into
mainfrom
bugfix/10755-component-restore-termination
Sep 6, 2026
Merged

fix(dataprotection): terminate restores for deleting source components#10846
leon-ape merged 12 commits into
mainfrom
bugfix/10755-component-restore-termination

Conversation

@leon-ape

@leon-ape leon-ape commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • treat a still-observable, same-UID deleting source Component as a PVC-scoped restore termination signal
  • fan out Component deletion only to restore PVCs sourced from that Component, including terminal PVCs
  • clean VP-owned per-PVC execution Restore, helper PVC, and target protection in owner order
  • avoid registering identity or protection when the source Component is already deleting
  • preserve Component-owned postReady Restore objects because they may be shared by PVCs from multiple source Components; their ownerReference governs deletion
  • keep Cluster deletion ahead of Component identity validation and termination

This PR intentionally does not define target Component deletion behavior for redirected postReady, infer termination from a missing Component, support same-name replacement/UID takeover or scale-in, or add a Component finalizer or cross-Component dependency registry.

Built on #10845, now merged into main.

Fixes #10755

@leon-ape leon-ape added the nopick Not auto cherry-pick when PR merged label Sep 4, 2026
@codecov

codecov Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 83.33333% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.85%. Comparing base (63373ca) to head (ab7ef60).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
...llers/dataprotection/volumepopulator_controller.go 83.33% 4 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10846      +/-   ##
==========================================
+ Coverage   65.76%   65.85%   +0.08%     
==========================================
  Files         510      511       +1     
  Lines       64958    65440     +482     
==========================================
+ Hits        42721    43093     +372     
- Misses      18449    18524      +75     
- Partials     3788     3823      +35     
Flag Coverage Δ
unittests 65.85% <83.33%> (+0.08%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Base automatically changed from bugfix/10755-cluster-restore-lifecycle to main September 4, 2026 07:44
@github-actions github-actions Bot added the size/XXL Denotes a PR that changes 1000+ lines. label Sep 4, 2026
@leon-ape
leon-ape marked this pull request as ready for review September 4, 2026 07:44
@leon-ape
leon-ape requested review from a team, ldming and wangyelei as code owners September 4, 2026 07:44
…t-restore-termination

# Conflicts:
#	controllers/dataprotection/volumepopulator_controller.go
#	controllers/dataprotection/volumepopulator_controller_test.go
@github-actions github-actions Bot added size/L Denotes a PR that changes 100-499 lines. and removed size/XXL Denotes a PR that changes 1000+ lines. labels Sep 4, 2026
@leon-ape leon-ape changed the title fix(dataprotection): terminate restores for deleting components fix(dataprotection): terminate restores for deleting source components Sep 4, 2026
@leon-ape

leon-ape commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/recheck-cla

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

✅ CLA recheck triggered. The status should update shortly.

@leon-ape

leon-ape commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/approve

@apecloud-bot apecloud-bot added the approved PR Approved Test label Sep 6, 2026
@leon-ape
leon-ape merged commit 1608fbe into main Sep 6, 2026
35 checks passed
@leon-ape
leon-ape deleted the bugfix/10755-component-restore-termination branch September 6, 2026 06:30
@github-actions github-actions Bot added this to the Release 1.2.0 milestone Sep 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved PR Approved Test nopick Not auto cherry-pick when PR merged size/L Denotes a PR that changes 100-499 lines.

Projects

None yet

2 participants