From 77da098cef6e777dc5e8f4583191f492aec2dba4 Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Thu, 4 Nov 2021 13:55:04 +0100
Subject: [PATCH] TMSS-1144: skip non-finished and/or obsolete subtasks, as
 they are not part of the successfull provenance chain

---
 SAS/TMSS/backend/src/tmss/tmssapp/adapters/sip.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/adapters/sip.py b/SAS/TMSS/backend/src/tmss/tmssapp/adapters/sip.py
index 93efcd747ff..3dfac76744d 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/adapters/sip.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/adapters/sip.py
@@ -114,6 +114,12 @@ def add_subbtask_and_input_dataproducts_to_sip(subtask: Subtask, sip: siplib.Sip
     :param subtask: the Subtask object to add to the sip
     :param sip: the Sip object to add to
     """
+    if subtask.state.value != SubtaskState.Choices.FINISHED.value:
+        logger.info("Skipping addition of subtask id %s of type %s to sip because it is not finished but %s." % (subtask.id, subtask.specifications_template.type.value, subtask.state.value))
+
+    if subtask.state.value != SubtaskState.Choices.FINISHED.value:
+        logger.info("Skipping addition of subtask id %s of type %s to sip because it is obsolete." % (subtask.id, subtask.specifications_template.type.value))
+
     logger.info("Adding subtask id %s of type %s to sip." % (subtask.id, subtask.specifications_template.type.value))
     sip_subtask = create_sip_representation_for_subtask(subtask)
     if isinstance(sip_subtask, siplib.Observation):
@@ -545,7 +551,7 @@ def recursively_add_subbtask_and_input_dataproducts_to_sip(subtask: Subtask, sip
     :param sip: the Sip object to add to
     :return:
     """
-    if subtask is not None:
+    if subtask is not None and subtask.state.value==SubtaskState.Choices.FINISHED.value and not subtask.is_obsolete:
         add_subbtask_and_input_dataproducts_to_sip(subtask, sip)
         for predecessor in subtask.predecessors.all():
             recursively_add_subbtask_and_input_dataproducts_to_sip(predecessor, sip)
-- 
GitLab