matrixorigin / matrixorigin/matrixone
[Subtask]: Implement durable View metadata generations and recovery
- Dominant language
- Go
- Stars
- 1.9k
- Forks
- 311
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 768
Description
### Parent Issue
Parent issue: #26227
### Detail of Subtask
Implement durable catalog generations and bounded View metadata recovery without enabling public metadata admission.
Deliverables:
- Durable required/completed generation markers.
- Claim owner, claim generation, deadline, cursor, and bounded page/retry semantics.
- Conditional publication that rejects stale workers.
- Dependency graph persistence and affected reverse-closure invalidation.
- Scoped table/database/account restore reconciliation, orphan cleanup, and restored-View seeding.
- Correct account, subscription, snapshot, and temporarily unavailable dependency contexts.
Acceptance criteria:
- Worker crash/restart and claim takeover cannot move progress backward.
- Stale generations cannot publish completion.
- Table restore does not degrade into account-wide reset.
- Another CN cannot observe a restored target as current before recovery completion.
- Recovery work is bounded and fair across more than one page.
- Public admission remains disabled or test-only until the activation subtask.
### Describe implementation you've considered
Keep HAKeeper responsible only for barrier ownership. Store recovery truth in transactional catalog rows and use generation-scoped compare-and-swap updates.
### Additional information
Depends on the wire/snapshot and HAKeeper barrier subtasks under #26227.
Contributor guide
Assessment
This issue has not been assessed yet.