From cf2eae951140602345060ca780c77bae9d45da31 Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Thu, 14 Dec 2017 08:28:12 +0000
Subject: [PATCH] Task #11385: do not retry when sip is invalid. users should
 fix the sip, and then reingest.

---
 .../LTAIngestAdminServer/lib/ingestjobmanagementserver.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/LTA/LTAIngest/LTAIngestServer/LTAIngestAdminServer/lib/ingestjobmanagementserver.py b/LTA/LTAIngest/LTAIngestServer/LTAIngestAdminServer/lib/ingestjobmanagementserver.py
index cb78855588b..72a2df25309 100644
--- a/LTA/LTAIngest/LTAIngestServer/LTAIngestAdminServer/lib/ingestjobmanagementserver.py
+++ b/LTA/LTAIngest/LTAIngestServer/LTAIngestAdminServer/lib/ingestjobmanagementserver.py
@@ -460,8 +460,10 @@ class IngestJobManager:
 
                     if next_retry_attempt < self.__max_num_retries:
                         if message and 'not on disk' in message:
-                            logger.info('job %s transfer failed because source data was not on disk, not retrying anymore',
-                                job_id)
+                            logger.info('job %s transfer failed because source data was not on disk, not retrying anymore', job_id)
+                            new_status = JobFailed
+                        elif message and 'invalid SIP' in message:
+                            logger.info('job %s transfer failed because the SIP is invalid, not retrying anymore', job_id)
                             new_status = JobFailed
                         else:
                             new_status = JobRetry
@@ -716,7 +718,7 @@ class IngestJobManager:
         try:
             with self.__jobs_for_transfer_queue_peeker:
                 num_scheduled = self.__jobs_for_transfer_queue_peeker.nr_of_messages_in_queue(0.01)
-                if num_scheduled == 0:
+                if num_scheduled <= 3:
                     scheduled_jads = self.getJobAdminDicts(status=JobScheduled)
                     return len(scheduled_jads) <= 3
                 return False
-- 
GitLab