feat(scheduler-dispatch-commit): add dispatch-fail retry counter to job_t (task 1.3)

Add uint32_t dispatch_fail_count to the job_t wrapper struct (xce/types.h,
alongside submit_lsn, same in-memory-only/reset-on-failover precedent),
per Requirement 4.3. Data model only -- xce_job_t (wire type) untouched,
job.c untouched; increment/reset wiring and the bounded-retry threshold
check are tasks 3.1/3.3.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-08-23 07:44:22 +00:00
parent 8eea74909c
commit 19bbac6ae0
No known key found for this signature in database
GPG key ID: 5BCDAAE0123E9FE2
5 changed files with 111 additions and 1 deletions

View file

@ -487,6 +487,15 @@ typedef struct {
* serialized (wire type xce_job_t above is untouched). 0 = unknown /
* pre-feature = always exportable (see job_submit_committed, cluster.h). */
uint64_t submit_lsn;
/* scheduler-dispatch-commit (1.3): consecutive retryable dispatch-failure
* count for this job, with no intervening successful dispatch. In-memory
* only, following submit_lsn's exact precedent above — never serialized
* (wire type xce_job_t above is untouched), reset to 0 by a successful
* dispatch. Resetting to 0 after a controller failover is an acceptable,
* safe degradation (more retries allowed, never fewer, never a
* misrouted terminal/retry decision) — see Controller Dispatch-Failure
* Classification, design.md. */
uint32_t dispatch_fail_count;
} job_t;
typedef struct {