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

@ -26,6 +26,7 @@ controller_src = [
'persist.c',
'repl.c',
'ctrl_metrics.c',
'slowlane.c',
]
incdir = include_directories('.', '../include', '../lib',
@ -140,6 +141,7 @@ controller_unit_test_src = [
'testsuite/test_ha_vote_floor_heartbeat.c',
'testsuite/test_term_safety_adapter.c',
'testsuite/test_drive_async_config.c',
'testsuite/test_slowlane.c',
'testsuite/test_waldump.c',
'testsuite/waldump.c',
'testsuite/test_walcompare.c',
@ -159,6 +161,7 @@ controller_unit_test_src = [
'repl.c',
'ctrl_metrics.c',
'config_repl.c',
'slowlane.c',
]
ssl_dep = dependency('openssl')