diff --git a/NEWS b/NEWS index aa18069b429340a1f7f6a99c805fb9829a61046c..84b115ac514521449d562a53857a3f0e85029459 100644 --- a/NEWS +++ b/NEWS @@ -37,6 +37,7 @@ documents those changes that are of interest to users and administrators. -- In proctrack/linuxproc and proctrack/pgid, check the result of strtol() for error condition rather than errno, which might have a vestigial error code. + -- Improve information recording for jobs deferred due to advanced reservation. * Changes in Slurm 14.11.1 ========================== diff --git a/src/common/slurm_errno.c b/src/common/slurm_errno.c index 28f338a9fba1328e4829a107880a82419d9ce481..a3038f17d0174dc9e2c979996f2ec1c4cfd705eb 100644 --- a/src/common/slurm_errno.c +++ b/src/common/slurm_errno.c @@ -261,7 +261,7 @@ static slurm_errtab_t slurm_errtab[] = { { ESLURM_QOS_PREEMPTION_LOOP, "QOS Preemption loop detected" }, { ESLURM_NODE_NOT_AVAIL, - "Required node not available (down or drained)" }, + "Required node not available (down, drained or reserved)"}, { ESLURM_INVALID_CPU_COUNT, "CPU count specification invalid" }, { ESLURM_PARTITION_NOT_AVAIL, diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index 9dbf91f1ba4053d55e2d5e20d06d52939151c7cb..7b3f3923633efcca7be182c6dd5a4989b2a7c875 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -772,9 +772,17 @@ _get_req_features(struct node_set *node_set_ptr, int node_set_size, return ESLURM_NODES_BUSY; /* reserved */ } else if (resv_bitmap && (!bit_equal(resv_bitmap, avail_node_bitmap))) { + int cnt_in, cnt_out; + cnt_in = bit_set_count(avail_node_bitmap); bit_and(resv_bitmap, avail_node_bitmap); save_avail_node_bitmap = avail_node_bitmap; avail_node_bitmap = resv_bitmap; + cnt_out = bit_set_count(avail_node_bitmap); + if (cnt_in != cnt_out) { + debug2("Advanced reservation removed %d nodes " + "from consideration for job %u", + (cnt_in - cnt_out), job_ptr->job_id); + } resv_bitmap = NULL; } else { FREE_NULL_BITMAP(resv_bitmap);