Wave-4 general review (002): two live-proven bugs — the forwarder's permanent death after one failed reconnect (the failure arm the gate's test never covered) and the tx enqueue/publish paths' missing pg_notify wake (F-1's root cause, engine-side) — plus a max_size:0 open-hang, two narrow robustness gaps, doc mismatches, and the decode-duplication smell; reviews renumbered 001/002 per the alk* numbering pattern (references updated)
This commit is contained in:
1 parent
f9bd5716fa
commit
89828170f4
7 files changed
+290
-9
No files matched your search
@@ -245,8 +245,15 @@ wave-5/6 decision; none is a consumer-visible defect):
|
||||
open** (contradicting the streams/locks agents' "unrelated, wait for
|
||||
wave 5" read: reproduced twice this session — once in a
|
||||
first-of-session full lib run, once in a solo run; ~2/106 runs
|
||||
total, all at the same site). Failure signature: `must_recv_event`'s
|
||||
15 s deadline exhausts — the bridge's re-drain never fires after a
|
||||
total, all at the same site). **Update (2026-10-09): root cause
|
||||
found by the wave-4 general review
|
||||
(`docs/reviews/002-wave-4-general-review.md`, Finding 2) — the tx
|
||||
enqueue/publish paths issue no `pg_notify` wake at all; the
|
||||
subscriber's pre-commit drain parks on a wake that never comes. Fix
|
||||
is engine-side (one `pg_notify` in `publish_with_key_tx`), not the
|
||||
suite-hardening candidates below, which become
|
||||
defense-in-depth.** Failure signature: `must_recv_event`'s 15 s
|
||||
deadline exhausts — the bridge's re-drain never fires after a
|
||||
committed `publish_tx`. Facts established: the engine's wake path is
|
||||
honest (the tx INSERT's commit *is* the NOTIFY carrier — verified by
|
||||
the 64-run probe mirroring the test's beats, which never missed and
|
||||
|
||||
Reference in new issue
Block a user