Conversation
…l finalizer deadlock Documents N=4 reproducible KB DataProtection cleanup-order finalizer deadlock pattern observed across MySQL Addon line task #11 / #14 / #15 / #16: - task #11 (case A): deletionPolicy=Delete + ns Terminating + cleanup Job RoleBinding admission deny - task #14 (case B): Retain prophylactic alone insufficient; finalizer still stuck - task #15 (case C): Retain + sequential delete still insufficient - task #16 (case D): Retain + sequential + user-managed MinIO server last still insufficient Body covers: - Dependency chain explanation (namespace controller waits BackupRepo waits Backup waits DataProtection controller reconcile waits ns-scoped operations rejected by admission during ns Terminating) - Recommended sequential delete order with wait-NotFound at each layer - Emergency force-remove finalizer pattern with evidence transparency - Controller log filter discipline (bounded window, explicit scope) - Anti-patterns - 4-case appendix table linking back to MySQL line tasks - Upstream fix hypotheses pending source-code reading Companion sibling doc to addon-narrow-scope-force-delete-guide.md (pod-level finalizer deadlock during image pull); both document finalizer deadlock at different scopes with the "evidence-first then targeted force-remove" doctrine. Adds: - New file: docs/addon-dataprotection-cleanup-order-guide.md - SKILL-INDEX.md: section 4 (运行期/排障) and 文档全列表 entries - addon-narrow-scope-force-delete-guide.md: reverse anchor in 与其他文档的关系 Co-authored-by: William <william@apecloud.com> Co-authored-by: Henry <henry@apecloud.com>
7e2353b to
828986e
Compare
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.
Summary
docs/addon-dataprotection-cleanup-order-guide.mddocumenting the N=4 reproducible KB DataProtection cleanup-order finalizer deadlock pattern observed across MySQL Addon line task [style-harmonize] SKILL-INDEX scenario navigation v0 #11/[style-harmonize] add CONTRIBUTING.md codifying conventions in-repo #14/docs: add abstract-before-detail intro for bounded-eventual + gate-hygiene #15/docs(switchover): abstract retrofit + per-rule scope tags #16.skills/dataprotection-cleanup-order/SKILL.mdfor cleanup harness review and stuck namespace recovery.addon-narrow-scope-force-delete-guide.md.Why
Across 4 successive MySQL line tasks, increasingly strict cleanup workarounds all hit the same finalizer deadlock:
kubectl delete ns-> RoleBinding admission denied during ns TerminatingThe methodology is reusable by any addon that uses KubeBlocks DataProtection resources. The source-level root cause is still marked pending source-code reading.
Allen curator adjustments
main.control_plane / KB DataProtection cleanup-order; exact controller path remains a hypothesis until source reading.dataprotection-cleanup-orderskill and indexed it inskills/README.md.Test plan
git diff --check origin/main...HEADdocs/SKILL-INDEX.mdcoverage check/dataprotection-cleanup-order Say exactly: LOADEDvia fresh local skill smoke