docs(raft-adapter-conformance): confirm task 7.2 regression coverage, log bug-1484

Verified 190 tests across 8 files cover Requirements 2.4, 3.1-3.4,
4.1, 4.4, 7.1-7.3, 7.5, 8.1-8.4. 1067 tests, 0 failures -- unchanged,
zero-diff verification task.

Task 7.2's sweep surfaced a real, pre-existing gap (bug-1421, not
this feature's fault): no test anywhere drives the real
repl_ack_decode_and_dispatch path and asserts term adoption fires for
the heartbeat-reply or WAL-NACK term-discovery vectors -- only the
config-push vector this feature added (task 2.2) is actually tested.
Logged as bug-1484; outside this spec's task list to fix.
This commit is contained in:
Rongsong Shen 2026-07-30 04:26:25 +00:00
parent e51fa7b20f
commit 8b820055ee
2 changed files with 30 additions and 1 deletions

View file

@ -14384,5 +14384,33 @@
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-07-29T10:20:00Z"
},
{
"id": "bug-1484",
"timestamp": "2026-07-29T21:10:00Z",
"error_message": "No test anywhere in src/controller/testsuite/ drives the real production dispatch path for either term-discovery vector bug-1421 introduced (heartbeat-reply state-report term adoption, ha.c:6690-6711; WAL-NACK reply_term adoption inside repl_ack_decode_and_dispatch, ha.c:6805-6814) and asserts raft_on_higher_term_observed actually fires. The look-alike test_intake_higher_term_heartbeat_adopts_term (test_term_safety_adapter.c:1232) drives a different code path (ha_consume_append_entries -> raft_on_append_entries_request library-level UpdateTerm, an AE-request vector, not the AE-reply/state-report fallback bug-1421 added). test_persist_recovery.c (cited by design.md line 146 as covering this) has zero term-adoption content -- pure recovery mechanics. test_config_repl.c only covers the NEW config-push term vector added by this feature (Req 7.4), not the pre-existing heartbeat/WAL-NACK vectors.",
"file": "src/controller/ha.c (~6690-6711 heartbeat-reply vector, ~6805-6814 WAL-NACK vector); no test file drives either",
"root_cause": "bug-1421 (heartbeat-reply term-discovery fallback) shipped without a dedicated regression test asserting raft_on_higher_term_observed fires through the real repl_ack_decode_and_dispatch path for either vector -- found during raft-adapter-conformance task 7.2s regression-confirmation sweep, which searched the whole test suite (not just its own 8-file boundary) for `raft_on_higher_term_observed`/`higher_term` callers and found none exercising these two vectors end-to-end.",
"fix": "Not yet fixed. Requirement 7.5 (raft-adapter-conformance) claims these vectors \"already verified for this cluster\" -- that claim currently rests on unverified ground. A fix would add a repl_ack_decode_and_dispatch-level test asserting term adoption fires on (a) a higher-term heartbeat-reply state report and (b) a higher-term WAL-NACK reply, mirroring the pattern task 2.2s test_config_push_reply_higher_term_adopts_and_steps_down already established for the third (config-push) vector.",
"tags": [
"ha.c",
"raft_on_higher_term_observed",
"repl_ack_decode_and_dispatch",
"term-discovery",
"bug-1421",
"coverage-gap",
"raft-adapter-conformance",
"task-7.2",
"found-not-yet-fixed",
"pre-existing",
"requirement-7.1",
"requirement-7.2",
"requirement-7.5"
],
"related_bugs": [
"bug-1421"
],
"occurrences": 1,
"last_seen": "2026-07-29T21:10:00Z"
}
]