feat(ha-single-leader-role): remove CTRL_PRIMARY_COMMITTING enum + remaining decls — compiler-enforced (task 5.2)
This commit is contained in:
parent
7f974e766b
commit
93dfc02717
10 changed files with 44 additions and 55 deletions
|
|
@ -820,7 +820,6 @@ static ha_config_t g_fg_cfg = {
|
|||
.max_promotion_retries = 5,
|
||||
.election_jitter_max_ms = 0,
|
||||
.election_priority_step_ms = 500,
|
||||
.committing_timeout_ms = 10000,
|
||||
};
|
||||
|
||||
/* Arrange a CTRL_PRIMARY ha_state_t with n_endpoints connected standby
|
||||
|
|
|
|||
|
|
@ -840,7 +840,6 @@ static ha_config_t g_gate_cfg = {
|
|||
.max_promotion_retries = 5,
|
||||
.election_jitter_max_ms = 0,
|
||||
.election_priority_step_ms = 500,
|
||||
.committing_timeout_ms = 10000,
|
||||
};
|
||||
|
||||
/* Arrange a CTRL_PRIMARY ha_state_t with n_endpoints connected standby
|
||||
|
|
|
|||
|
|
@ -175,11 +175,11 @@ static void test_dispatcher_electing_calls_vote_reply_hook(void)
|
|||
printf("test_dispatcher_electing_calls_vote_reply_hook: PASS\n");
|
||||
}
|
||||
|
||||
/* ── Test 2 (dispatcher transitional-leader → repl_ack count) DELETED ─────────
|
||||
/* ── Test 2 (dispatcher transitional-leader ack count) DELETED ─────────
|
||||
* ha-single-leader-role task 4.1. Subject was the deleted ack-counting
|
||||
* promotion machinery (replCatchUpDone incrementing repl_ack_count to drive a
|
||||
* transitional leader state to PRIMARY). That path is gone — nothing left to
|
||||
* verify. No shim (design §"Transitional-State Deletions").
|
||||
* promotion machinery (replCatchUpDone incrementing the per-term ACK tally to
|
||||
* drive a transitional leader state to PRIMARY). That path is gone — nothing
|
||||
* left to verify. No shim (design §"Transitional-State Deletions").
|
||||
*/
|
||||
|
||||
/* ── Test 3: dispatcher drops packet for CTRL_STANDBY ───────────────────── */
|
||||
|
|
@ -477,10 +477,10 @@ static void test_follower_passive_no_outbound_connect(void)
|
|||
printf("test_follower_passive_no_outbound_connect: PASS\n");
|
||||
}
|
||||
|
||||
/* ── Test 10 (Task 7.3: promoted ep repl_ack promotes to PRIMARY) DELETED ─────
|
||||
/* ── Test 10 (Task 7.3: promoted ep ack promotes to PRIMARY) DELETED ─────
|
||||
* ha-single-leader-role task 4.1. Subject was the deleted ack-counting
|
||||
* promotion machinery (replCatchUpDone incrementing repl_ack_count until the
|
||||
* majority threshold promoted a transitional leader state to CTRL_PRIMARY via
|
||||
* promotion machinery (replCatchUpDone incrementing the per-term ACK tally until
|
||||
* the majority threshold promoted a transitional leader state to CTRL_PRIMARY via
|
||||
* ha_promote_to_primary).
|
||||
* The mechanism is gone — promotion is now the heartbeat decision loop +
|
||||
* per-entry majority ack. Nothing left to verify; no shim (design
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ static void test_demote_sets_standby_role(void)
|
|||
|
||||
/*
|
||||
* Verify that ha_init zeroes the new fields added for election-iomgr-refactor:
|
||||
* phase2_done, repl_ack_count, n_peers, client_ssl_ctx
|
||||
* phase2_done, n_peers, client_ssl_ctx
|
||||
* and that the surviving leader role values are distinct in ctrl_role_t.
|
||||
*
|
||||
* Requirements: 5.2, 8.1 (election-iomgr-refactor spec); 1.2 (ha-single-leader-role:
|
||||
|
|
@ -171,9 +171,6 @@ static void test_ha_init_zeroes_new_fields(void)
|
|||
/* phase2_done must be explicitly zero after ha_init */
|
||||
TEST_ASSERT_EQUAL_INT(0, ha.phase2_done);
|
||||
|
||||
/* repl_ack_count is _Atomic int; must be zero after ha_init */
|
||||
TEST_ASSERT_EQUAL_INT(0, atomic_load_explicit(&ha.repl_ack_count, memory_order_relaxed));
|
||||
|
||||
/* n_peers must be zero after ha_init */
|
||||
TEST_ASSERT_EQUAL_INT(0, ha.n_peers);
|
||||
|
||||
|
|
|
|||
|
|
@ -755,7 +755,7 @@ static void *lifecycle_wait_thread(void *p)
|
|||
*
|
||||
* SHARED-SEQUENCE CONTRACT PIN (GREEN now, MUST STAY GREEN — not a behavioral
|
||||
* RED carrier). After task 2.2 BOTH roads to PRIMARY (the raft become-leader
|
||||
* callback and ha_repl_ack_received's quorum path) route through this same
|
||||
* callback and the legacy quorum-ack path) route through this same
|
||||
* ha_promote_to_primary sequence, which task 2.2 augments with the noop+gate
|
||||
* tail while KEEPING hook registration. This case is therefore a CONTRACT/
|
||||
* REGRESSION pin proving the shared promotion sequence registers the persist
|
||||
|
|
@ -809,8 +809,8 @@ static void test_promotion_registers_persist_hooks(void)
|
|||
|
||||
/* ── Case 4: NO WATCHDOG — promotion arms no delaymgr task (Req 1.5, 2.3).
|
||||
*
|
||||
* The shared promotion sequence must never arm a wall-clock watchdog (the
|
||||
* deleted committing_timeout_fn). Asserted via the delaymgr task-count seam:
|
||||
* The shared promotion sequence must never arm a wall-clock promotion watchdog
|
||||
* (deleted in task 4.x). Asserted via the delaymgr task-count seam:
|
||||
* the count is unchanged across ha_promote_to_primary.
|
||||
*
|
||||
* Status note (RED vs already-GREEN): the force-promotion watchdog is armed
|
||||
|
|
@ -820,8 +820,8 @@ static void test_promotion_registers_persist_hooks(void)
|
|||
* exercises — never armed a watchdog, so this case is ALREADY GREEN today and
|
||||
* stands as a regression-pin guaranteeing task 2.2's shared sequence does not
|
||||
* introduce one. The watchdog REMOVAL from raft_cb_become_leader is covered
|
||||
* at integration scope (task 4.x deletes committing_timeout_fn and the
|
||||
* test_ha_evaluate_committing committing-timeout cases). */
|
||||
* at integration scope (task 4.x deletes the promotion-watchdog arm and the
|
||||
* transitional-state evaluation cases). */
|
||||
static void test_promotion_arms_no_delaymgr_watchdog(void)
|
||||
{
|
||||
#ifdef XCE_TESTING
|
||||
|
|
@ -1140,11 +1140,11 @@ static void test_legacy_and_raft_promotion_are_symmetric(void)
|
|||
"legacy road must arm the own-term gate at noop_lsn (Req 1.4, 2.1) — "
|
||||
"identical to the raft road's shared tail");
|
||||
|
||||
/* Symmetry axis 4: NO committing-timeout watchdog armed (Req 1.5). */
|
||||
/* Symmetry axis 4: NO promotion watchdog armed (Req 1.5). */
|
||||
int after = delaymgr_task_count(&g_lc.delaymgr);
|
||||
TEST_ASSERT_EQUAL_INT_MESSAGE(before, after,
|
||||
"legacy road must arm NO delaymgr watchdog (Req 1.5) — symmetric with "
|
||||
"the raft road; the committing-timeout arm is deleted from this path");
|
||||
"the raft road; the promotion-watchdog arm is deleted from this path");
|
||||
|
||||
pthread_mutex_destroy(&ctx->lock);
|
||||
sem_destroy(&ctx->done);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue