Commit d9e77a3
tests: add catastrophic single-node failure recovery integration test
Adds TestCatastrophicSingleNodeFailure which exercises Scenario 1 from
the Spock catastrophic-node-failure recovery documentation end-to-end.
Real replication lag is induced by disabling n2's Spock subscription to
n1 (spock.sub_disable) before inserting rows and an UPDATE on n1. n3
receives all transactions normally; n2 genuinely never processes those
WAL records. n1 is then stopped before n2 can catch up, producing a
real LSN gap rather than artificially deleted rows.
Covered cases:
- Missing inserts: rows inserted on n1 while n2's subscription is down
- Stale update: n3 is ahead of n2 (n3 has v2, n2 still has v1)
- Preserve-origin: repaired rows on n2 carry n1's origin ID and original
commit timestamp to microsecond precision
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 4d40476 commit d9e77a3
1 file changed
Lines changed: 486 additions & 0 deletions
0 commit comments