From 03f984aa440407b968523e98e1c1622b6d7f19d4 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Sat, 9 Apr 2011 23:45:54 +0000
Subject: [PATCH] select/cray: zero reservation ID is not an error

This avoids meaningless error messages that warn about a zero reservation ID:

 [2011-04-07T15:31:26] _slurm_rpc_submit_batch_job JobId=2870 usec=33390
                       ... a minute later the user decides to scancel the queued job:
 [2011-04-07T15:32:34] error: JobId=2870 has invalid (ZERO) resId
 [2011-04-07T15:32:34] sched: Cancel of JobId=2870 by UID=21770, usec=230

To keep things simple, that test has been removed.

(The patch is in particular also necessary since now job_signal() may trigger
 a basil_release() of a pending job which has no ALPS reservation yet.)
---
 src/plugins/select/cray/basil_interface.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/plugins/select/cray/basil_interface.c b/src/plugins/select/cray/basil_interface.c
index 315f064d56a..0b62d135551 100644
--- a/src/plugins/select/cray/basil_interface.c
+++ b/src/plugins/select/cray/basil_interface.c
@@ -772,9 +772,8 @@ extern int do_basil_release(struct job_record *job_ptr)
 	if (_get_select_jobinfo(job_ptr->select_jobinfo->data,
 			SELECT_JOBDATA_RESV_ID, &resv_id) != SLURM_SUCCESS) {
 		error("can not read resId for JobId=%u", job_ptr->job_id);
-	} else if (resv_id == 0) {
-		error("JobId=%u has invalid (ZERO) resId", job_ptr->job_id);
-	} else if (basil_release(resv_id) == 0) {
+	} else if (resv_id && basil_release(resv_id) == 0) {
+		/* The resv_id is non-zero only if the job is or was running. */
 		debug("released ALPS resId %u for JobId %u",
 		      resv_id, job_ptr->job_id);
 	}
-- 
GitLab