feat(election-iomgr-refactor): remove old blocking election code (am_i_primary_quorum, vote_request_thread, bootstrap_config_if_needed) — task 5.3
This commit is contained in:
parent
31a54043d5
commit
27ea14cd9a
7 changed files with 83 additions and 512 deletions
|
|
@ -108,7 +108,7 @@
|
|||
- _Depends: 1.1, 4.1_
|
||||
|
||||
- [ ] 5. Integration: restructure myapp_run and wire all components
|
||||
- [ ] 5.1 Restructure myapp_run to be fully non-blocking
|
||||
- [x] 5.1 Restructure myapp_run to be fully non-blocking
|
||||
- Move `delaymgr_init` + `delaymgr_start` and `persist_init` + `persist_start` from `cluster_start` path into `myapp_run` (before `ha_start_election_async`)
|
||||
- Create `client_ssl_ctx` (TLS_client_method + SSL_VERIFY_NONE) in `myapp_run`; store in `c.ha.client_ssl_ctx`
|
||||
- Call `load_primary_config` to pre-load config_tag for freshness gate
|
||||
|
|
@ -119,7 +119,7 @@
|
|||
- _Boundary: myapp.c_
|
||||
- _Depends: 2.4, 3.1, 3.2, 4.1, 4.2, 4.3, 4.4_
|
||||
|
||||
- [ ] 5.2 Wire heartbeat-timeout → CTRL_ELECTING → ha_start_election_async for RDHUP failover
|
||||
- [x] 5.2 Wire heartbeat-timeout → CTRL_ELECTING → ha_start_election_async for RDHUP failover
|
||||
- In `ha_on_primary_ctrl_fd_rdhup`: after setting role=CTRL_ELECTING, call `ha_start_election_async` with the cluster's peer list (instead of the current `am_i_primary_quorum` call)
|
||||
- Verify `ha->phase2_done==1` ensures RDHUP re-election skips `cluster_init_phase2` and goes directly to COMMITTING
|
||||
- Observable: kill primary with SIGKILL; surviving standby transitions ELECTING→COMMITTING→PRIMARY within `heartbeat_timeout_ms + election_timeout_ms + committing_timeout_ms`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue