From 607283f17386732da20931bc5423e622171459d2 Mon Sep 17 00:00:00 2001 From: jette <jette@schedmd.com> Date: Sun, 20 Apr 2014 19:24:14 -0700 Subject: [PATCH] Job array dependency fix If a job is submitted that is dependent upon a job array in which the first task of that array is already purged from slurmctld, then find another element of that array and properly handle the dependency. --- src/slurmctld/job_scheduler.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c index cc7bb89015a..a0023425fed 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)) { -- GitLab