forked from lei.chen/myxce
Payload-aware repair: identical payload = idempotent no-op; non-empty differing payload at the TIP = repair (truncate-to-lsn-1 + re-append, committed_lsn snapshot/restored under lock); empty-over-stored = keep (never degrade); BELOW-tip conflict = loud non-promotable fence (recovery_unrecoverable), never truncate the tail or lower committed_lsn. read_entry_meta_locked computes payload-crc identically to walcompare. Turns 2.1 case (a) green; new below-tip regression test pins the committed-boundary safety. Review round 1 caught + fixed a committed-data- loss bug (tail-truncate on below-tip conflict). 8/8 target suite, sibling persist/repl/catchup/durability suites green; persist-before-ACK intact. |
||
|---|---|---|
| .. | ||
| design.md | ||
| requirements.md | ||
| research.md | ||
| spec.json | ||
| tasks.md | ||