diff --git a/NEWS b/NEWS index df2a814b427d1323ffd081434ba1f41c83234666..321002e2895f8059e65497fe6cd09db1463c4734 100644 --- a/NEWS +++ b/NEWS @@ -83,6 +83,8 @@ documents those changes that are of interest to users and admins. -- BLUEGENE - If removing blocks from system that once existed cleanup of old block happens correctly now. -- Prevent slurmctld crashing with configuration of MaxMemPerCPU=0. + -- Prevent job hold by operator or account coordinator of his own job from + being an Administrator Hold rather than User Hold by default. * Changes in SLURM 2.3.0-2 ========================== diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 3de9d9cc453e0cf6f0f26e06071d5ac94f458b43..9b328faf156074f52b384f784dbc061d6e396462 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -7379,12 +7379,12 @@ int update_job(job_desc_msg_t * job_specs, uid_t uid) job_specs->job_id); update_accounting = true; if (job_ptr->priority == 0) { - if (authorized && - (job_specs->alloc_sid != + if ((job_ptr->user_id == uid) || + (job_specs->alloc_sid == ALLOC_SID_USER_HOLD)) { - job_ptr->state_reason = WAIT_HELD; - } else job_ptr->state_reason = WAIT_HELD_USER; + } else + job_ptr->state_reason = WAIT_HELD; xfree(job_ptr->state_desc); } else if ((job_ptr->state_reason == WAIT_HELD) || (job_ptr->state_reason == WAIT_HELD_USER)) {