diff --git a/LTA/LTAIngest/LTAIngestServer/LTAIngestTransferServer/lib/ingestpipeline.py b/LTA/LTAIngest/LTAIngestServer/LTAIngestTransferServer/lib/ingestpipeline.py index 3c57b6e52f36c321619acb7c8f65767103d6f730..ae106b82136dfda533be058c1fd2a83715a7d3c1 100755 --- a/LTA/LTAIngest/LTAIngestServer/LTAIngestTransferServer/lib/ingestpipeline.py +++ b/LTA/LTAIngest/LTAIngestServer/LTAIngestTransferServer/lib/ingestpipeline.py @@ -240,13 +240,12 @@ class IngestPipeline(): except Exception as e: logger.error('Getting SIP from MoM failed for %s: %s', self.JobId, e) - if 'does not validate against schema' in str(e) or 'has invalid content' in str(e): + if ('does not validate against schema' in str(e) or + 'has invalid content' in str(e) or + self.job.get('last_retry_attempt', False)): logger.info('making unspecified SIP for %s', self.JobId) self.SIP = makeSIP(self.Project, self.ObsId, self.ArchiveId, self.ticket, self.FileName, self.FileSize, self.MD5Checksum, self.Adler32Checksum, self.Type) self.FileType = FILE_TYPE_UNSPECIFIED - elif '712561' in self.ExportID: - self.SIP = makeSIP(self.Project, self.ObsId, self.ArchiveId, self.ticket, self.FileName, self.FileSize, self.MD5Checksum, self.Adler32Checksum, self.Type) - self.FileType = FILE_TYPE_UNSPECIFIED else: raise @@ -276,9 +275,20 @@ class IngestPipeline(): raise Exception('SIP for %s does not validate against schema' % self.JobId) except: - logger.exception('Getting SIP from EoR failed') - raise - logger.info('SIP received for %s from EoR with size %d (%s): \n%s' % (self.JobId, len(self.SIP), humanreadablesize(len(self.SIP)), self.SIP[0:1024])) + logger.exception('Getting SIP from SIPLocation %s failed', self.job['SIPLocation']) + + if self.job.get('last_retry_attempt', False): + logger.info('making unspecified SIP for %s', self.JobId) + self.SIP = makeSIP(self.Project, self.ObsId, self.ArchiveId, self.ticket, self.FileName, self.FileSize, self.MD5Checksum, self.Adler32Checksum, self.Type) + self.FileType = FILE_TYPE_UNSPECIFIED + else: + raise + + logger.info('SIP received for %s from SIPLocation %s with size %d (%s): \n%s' % (self.JobId, + self.job['SIPLocation'], + len(self.SIP), + humanreadablesize(len(self.SIP)), + self.SIP[0:1024])) else: self.SIP = makeSIP(self.Project, self.ObsId, self.ArchiveId, self.ticket, self.FileName, self.FileSize, self.MD5Checksum, self.Adler32Checksum, self.Type) self.FileType = FILE_TYPE_UNSPECIFIED @@ -287,12 +297,7 @@ class IngestPipeline(): try: self.ltaClient.SendSIP(self.JobId, self.SIP, self.ticket) except Exception as e: - if self.ExportID == '712561': - self.SIP = makeSIP(self.Project, self.ObsId, self.ArchiveId, self.ticket, self.FileName, self.FileSize, self.MD5Checksum, self.Adler32Checksum, self.Type) - self.FileType = FILE_TYPE_UNSPECIFIED - self.ltaClient.SendSIP(self.JobId, self.SIP, self.ticket) - else: - raise PipelineError(e.message, PipelineJobFailedError) + raise PipelineError(e.message, PipelineJobFailedError) def RollBack(self): try: