Skip to content

Commit a224b0e

Browse files
committed
job-ingest: don't fail on rank > 16383
Problem: fluid_init() fails on rank > 16383 due to a design limitation on the number of concurrent fluid generators. If fluid_init() fails on one of these high ranks, log a message at debug level and return 0, so the instance can continue with ingest requests on that rank being handled upstream. Fixes #5708
1 parent 281cf7e commit a224b0e

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/modules/job-ingest/job-ingest.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -852,8 +852,18 @@ int mod_main (flux_t *h, int argc, char **argv)
852852
}
853853
flux_future_destroy (f);
854854
if (fluid_init (&ctx.gen, 0, fluid_get_timestamp (max_jobid) + 1) < 0) {
855-
flux_log (h, LOG_ERR, "fluid_init failed");
856-
errno = EINVAL;
855+
// See flux-framework/flux-core#5708
856+
if (rank > 16383) {
857+
flux_log (h,
858+
LOG_DEBUG,
859+
"job-ingest cannot allocate job IDs on ranks > 16383."
860+
" Exiting - upstream will handle ingest requests.");
861+
rc = 0;
862+
}
863+
else {
864+
flux_log (h, LOG_ERR, "fluid_init failed");
865+
errno = EINVAL;
866+
}
857867
goto done;
858868
}
859869
}

0 commit comments

Comments
 (0)