diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c index cc7bb89015ac686a1d4ad3c275265fce74f21142..a0023425fed7b98f782f2aaa13055d306f65e7e0 100644 --- a/src/slurmctld/job_scheduler.c +++ b/src/slurmctld/job_scheduler.c @@ -1975,6 +1975,10 @@ extern int update_job_dependency(struct job_record *job_ptr, char *new_depend) /* old format, just a single job_id */ if (array_task_id == NO_VAL) { dep_job_ptr = find_job_record(job_id); + if (!dep_job_ptr) { + dep_job_ptr = find_job_array_rec(job_id, + INFINITE); + } if (dep_job_ptr && (dep_job_ptr->array_job_id == job_id) && (dep_job_ptr->array_task_id != NO_VAL)) { @@ -2041,6 +2045,10 @@ extern int update_job_dependency(struct job_record *job_ptr, char *new_depend) } if (array_task_id == NO_VAL) { dep_job_ptr = find_job_record(job_id); + if (!dep_job_ptr) { + dep_job_ptr = find_job_array_rec(job_id, + INFINITE); + } if (dep_job_ptr && (dep_job_ptr->array_job_id == job_id) && (dep_job_ptr->array_task_id != NO_VAL)) {