Skip to content

Commit cb6bc7b

Browse files
authored
Merge pull request #5710 from garlick/issue#5708
job-ingest: fix FLUID initialization error handling to allow scaling beyond 16K brokers
2 parents 3f139df + a224b0e commit cb6bc7b

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

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

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -852,8 +852,19 @@ 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+
}
867+
goto done;
857868
}
858869
}
859870
else {
@@ -873,12 +884,10 @@ int mod_main (flux_t *h, int argc, char **argv)
873884
goto done;
874885
}
875886
flux_future_destroy (f);
876-
/* fluid_init() will fail on rank > 16K.
877-
* Just skip loading the job module on those ranks.
878-
*/
879887
if (fluid_init (&ctx.gen, rank, timestamp) < 0) {
880888
flux_log (h, LOG_ERR, "fluid_init failed");
881889
errno = EINVAL;
890+
goto done;
882891
}
883892
}
884893
flux_log (h, LOG_DEBUG, "fluid ts=%jums", (uint64_t)ctx.gen.timestamp);

0 commit comments

Comments
 (0)