feat(raft-drive-async): SlowLane bounded executor for long blocking I/O (task 1.2)

Dedicated-pthread pool isolated from the vtask pool; non-blocking slowlane_submit
(0 enqueued / -EEXIST deduped / -EAGAIN cap-full-deferred), admission cap on
running tasks, per-key in-flight dedup, run-exactly-once, drain+join fini. Wired
into controller lifecycle (dormant; consumers land in 2.x/3.x). 7 unit tests,
mutation-verified cap+dedup; full suite 194/0 green, 15x ASAN.
This commit is contained in:
Rongsong Shen 2026-06-26 05:24:00 +00:00
parent 729055a37f
commit 5650acd375
8 changed files with 710 additions and 1 deletions

View file

@ -20,6 +20,7 @@
/* ha.h forward-declares cluster_t; including it here is safe (no circular dep) */
#include "commit.h"
#include "ha.h"
#include "slowlane.h"
#include "xce/types.h"
#include "xlist.h"
#include "zarray.h"
@ -123,6 +124,7 @@ typedef struct cluster_s {
persist_t persist; /* Persistence module — P0-F */
ha_state_t ha; /* HA role management — P1-5 */
commit_engine_t commit; /* Per-entry commit engine — ha-commit-engine 5.3 */
slowlane_t slowlane; /* Long-blocking-IO offload lane — raft-drive-async 1.2 */
_Atomic int restart_requested; /* set by OP_upgradeConfig handler */
pthread_t heartbeat_listener_tid; /* pre-Phase-2 SSL listener thread */
_Atomic int heartbeat_listener_running;