matrixorigin / matrixorigin/matrixone
[Subtask]: Implement HAKeeper catalog metadata capability barrier
- 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 the generic HAKeeper catalog-metadata capability barrier defined by the approved phase-1 wire contract.
Deliverables:
- Durable protocol floor and membership epoch ownership in the HAKeeper RSM.
- Versioned CN, Proxy, and LogStore capability capture.
- PREPARING/SEALED/CATALOG_REQUIRED/RECOVERING/ACTIVATED transitions without enabling View refresh yet.
- Generation fencing for restart, same-UUID replacement, late old members, rollback, and leader/snapshot recovery.
- Combined snapshot recovery preserving both the existing persisted-expression activation state and the new barrier state.
Acceptance criteria:
- Persisted-expression activation and catalog-metadata barrier state cannot overwrite or falsely complete each other.
- Unsupported live members prevent activation deterministically.
- Old/stale generations cannot publish readiness.
- Normal, race, snapshot, and mixed-version HAKeeper/LogStore/CN tests pass.
- View lifecycle remains runtime-disabled after this subtask merges.
### Describe implementation you've considered
Use one HAKeeper membership authority with independently versioned capabilities and terminal predicates. Keep business catalog scanning outside the RSM.
### Additional information
Depends on the approved wire/snapshot contract subtask under #26227.
Contributor guide
Assessment
This issue has not been assessed yet.