merge: sync Rongsong's scheduler-framework (122 commits, 070c7869..f01ae353)

Introduces WAL replay field-completeness fixes (bug-1687..1697, 1731), scheduler snapshot job-allocation restore, heap UAF fixes (vtask_enq, xcealloc, builtin_fcfs, limit), HA fixes (bug-1694/1695/1696), xceadmin retry, worker signal-exit severity, and their test suites.

Conflicts resolved keeping both sides (drop-audit passed):
- worker.c: mark_worker_jobs_exit (bug-1509 B1) + fetchfile_signal_worker_disconnect (bug-1693)
- handler.go: DefaultBroker.Publish (EventJobFinished) + bug-1731 logging
- config_repl.c / test_config_repl.c: our ns-resolution comment / unique-tmpdir
- test_dispatch_commit.c: both B3-UNKWN and bug-1697 start_time assertions

Excluded Rongsong's bookkeeping per policy: .wolf/, .kiro/, CHANGES.md, reports/;
.claude/ + CLAUDE.md kept ours (his settings.json has machine-absolute paths).
This commit is contained in:
lei.chen 2026-08-31 14:24:17 +00:00
commit 3b6f53bb65
168 changed files with 20744 additions and 568495 deletions

View file

@ -240,6 +240,11 @@ static void tap_setup(void)
static void tap_teardown(void)
{
repl_broadcast_send_hook = NULL;
/* bug-1429/bug-1452: persist_stop() before commit_engine_fini() -- see
* test_commit_barrier_rollout.c's jap_teardown for the full TOCTOU-race
* rationale (live-reproduced, gdb-confirmed hang in this exact class of
* fixture). */
persist_stop(&g_tap_c.persist);
commit_engine_fini(&g_tap_hce);
persist_stop(&g_tap_c.persist);
persist_fini(&g_tap_c.persist);
@ -1223,6 +1228,13 @@ static void tpr_setup(int n_vcpus)
static void tpr_teardown(void)
{
repl_broadcast_send_hook = NULL;
/* bug-1429/bug-1452: persist_stop() before commit_engine_fini() -- see
* test_commit_barrier_rollout.c's jap_teardown for the full TOCTOU-race
* rationale (live-reproduced, gdb-confirmed hang in this exact class of
* fixture). vtaskmgr_fini() stays AFTER commit_engine_fini() per the
* pre-existing invariant (nothing can dispatch a new vtask onto the
* pool mid-teardown) -- only persist_stop()'s position moves. */
persist_stop(&g_tpr_c.persist);
commit_engine_fini(&g_tpr_hce);
vtaskmgr_fini(&g_tpr_pool);
persist_stop(&g_tpr_c.persist);