test(ha-convergence-recovery): RED quorum transition logging tests + seam (task 5.1)
This commit is contained in:
parent
ffd08c6472
commit
3218d9ffaf
4 changed files with 321 additions and 2 deletions
|
|
@ -56,6 +56,13 @@
|
|||
* Tests set these before exercising the restart/fatal contract. */
|
||||
int (*ha_restart_hook)(cluster_t *c) = NULL;
|
||||
void (*ha_fatal_hook)(const char *msg) = NULL;
|
||||
|
||||
/* Quorum-transition emission-count seam (task 5.x, Req 8.1-8.3) — defined here,
|
||||
* declared in ha.h. ha_log_quorum_transition invokes this once per WARN it
|
||||
* emits so the counter-hook tests can assert once-per-transition + counts.
|
||||
* NULL until a test installs it. */
|
||||
void (*ha_quorum_transition_log_hook)(int lost, int connected,
|
||||
int required) = NULL;
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
@ -375,6 +382,24 @@ void cluster_apply_ctrlhello_reply(cluster_t *c, uint64_t committed_lsn,
|
|||
(void)ha_rejoin_reconcile(c, committed_lsn);
|
||||
}
|
||||
|
||||
/*
|
||||
* ha_log_quorum_transition — RED scaffold (ha-convergence-recovery task 5.1).
|
||||
*
|
||||
* Task 5.2 replaces this body with the real edge detector: evaluate the current
|
||||
* write-quorum state (ha_has_write_quorum, ha.c), compare against ha->quorum_lost,
|
||||
* and on a transition CAS-flip the flag and emit exactly one WARN with the
|
||||
* connected/required counts (Req 8.1, 8.2), invoking ha_quorum_transition_log_hook
|
||||
* once under XCE_TESTING. Repeated calls with no state change emit nothing
|
||||
* (Req 8.3); a later loss/restore cycle logs again (edge detector, not a latch).
|
||||
*
|
||||
* This RED stub does NOTHING: no edge detection, no flag flip, no WARN, no hook
|
||||
* invocation — so the task 5.1 quorum-transition tests FAIL until 5.2 lands.
|
||||
*/
|
||||
void ha_log_quorum_transition(ha_state_t *ha)
|
||||
{
|
||||
(void)ha; /* RED scaffold — task 5.2 implements the edge detection. */
|
||||
}
|
||||
|
||||
#ifdef XCE_TESTING
|
||||
/* ───────────────────────────────────────────────────────────────────────────
|
||||
* ha_walack_continuation_for_test — task 4.2 GREEN.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue