8341: Fall back to live logs if log collection is saved but missing.
[arvados.git] / tools / crunchstat-summary / crunchstat_summary / summarizer.py
index 5caf83472f84f28b1a48e68cb68a30083058076d..60f1b2070adc6e35cb5d3181dd90e3e368d9cc1a 100644 (file)
@@ -345,10 +345,16 @@ class JobSummarizer(Summarizer):
             self.job = arv.jobs().get(uuid=job).execute()
         else:
             self.job = job
+        rdr = None
         if self.job['log']:
-            rdr = crunchstat_summary.reader.CollectionReader(self.job['log'])
-            label = self.job['uuid']
-        else:
+            try:
+                rdr = crunchstat_summary.reader.CollectionReader(self.job['log'])
+            except arvados.errors.NotFoundError as e:
+                logger.warning("Trying event logs after failing to read "
+                               "log collection %s: %s", self.job['log'], e)
+            else:
+                label = self.job['uuid']
+        if rdr is None:
             rdr = crunchstat_summary.reader.LiveLogReader(self.job['uuid'])
             label = self.job['uuid'] + ' (partial)'
         super(JobSummarizer, self).__init__(rdr, **kwargs)