test(ha-convergence-recovery): RED egress-filter tests + submit_lsn field + dataex decls (task 1.1)

This commit is contained in:
Rongsong Shen 2026-06-14 01:40:22 +00:00
parent e558a62ea0
commit 7ff81156c2
6 changed files with 559 additions and 1 deletions

View file

@ -4,6 +4,7 @@
#include "config.h"
#include <pthread.h>
#include <stdbool.h>
#include <stdint.h>
#include "hook.h"
@ -83,6 +84,18 @@ extern void collect_queues(cluster_t*, collect_check_fn_t, xlist_t*);
extern void collect_resources(cluster_t*, collect_check_fn_t, xlist_t*);
extern void collect_jobs(cluster_t*, collect_check_fn_t, xlist_t*);
extern void collect_workers(cluster_t*, collect_check_fn_t, xlist_t*);
/* ha-convergence-recovery (3.1-3.3): commit-watermark egress gate for
* scheduler-bound job exports. Defined in dataex.c.
* job_submit_committed — true iff the job's submit entry is committed
* (submit_lsn == 0 || submit_lsn <= committed_lsn);
* one lock-free atomic load + compare.
* collect_jobs_committed — identical contract to collect_jobs, additionally
* excluding jobs whose submit entry is uncommitted.
* For scheduler-bound callers ONLY; status/API read
* paths keep plain collect_jobs (Req 3.4). */
extern bool job_submit_committed(cluster_t*, job_t*);
extern void collect_jobs_committed(cluster_t*, collect_check_fn_t, xlist_t*);
extern int get_queue_exec(cluster_t*, char*, char**, char**);
extern void unlock_collect_queues(xlist_t*);
extern void unlock_collect_jobs(xlist_t*);