diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index 05a56c5e45da82789f4367b9038f672e4985d922..4b9716a11d6648f08ea783035324b5d22377b03e 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -1339,13 +1339,15 @@ extern int select_nodes(struct job_record *job_ptr, bool test_only, (detail_ptr->preempt_start_time > (now - slurmctld_conf.kill_wait - slurmctld_conf.msg_timeout))) { - /* Job preemption still in progress, + /* Job preemption may still be in progress, * do not preempt any more jobs yet */ error_code = ESLURM_NODES_BUSY; } else { _preempt_jobs(preemptee_job_list, &error_code); - if (error_code == ESLURM_NODES_BUSY) + if ((error_code == ESLURM_NODES_BUSY) && + (detail_ptr->preempt_start_time == 0)) { detail_ptr->preempt_start_time = now; + } } } if (error_code) {