Skip to content

Commit 1511a97

Browse files
slurmctld - Catch expedited requeue while epilog is running
batch_requeue_fini() should only be called after the epilog scripts have been complete. Add logic to catch and log if batch_requeue_fini() is ever called before the epilog is complete. Changelog: slurmctld - Avoid expedited requeue of jobs while waiting for job epilog script to complete. Ticket: 24564
1 parent c255c7d commit 1511a97

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

src/slurmctld/job_mgr.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16404,6 +16404,11 @@ void batch_requeue_fini(job_record_t *job_ptr)
1640416404
return;
1640516405

1640616406
if (IS_JOB_EXPEDITING(job_ptr)) {
16407+
if (job_ptr->epilog_running) {
16408+
debug("%s: unexpected call with epilog still running for %pJ",
16409+
__func__, job_ptr);
16410+
return;
16411+
}
1640716412
if (!job_ptr->epilog_failed) {
1640816413
job_state_unset_flag(job_ptr, JOB_EXPEDITING);
1640916414
job_state_set_flag(job_ptr, JOB_REQUEUE_HOLD);

0 commit comments

Comments
 (0)