From 2b1b54e47f030eac4d385bb9bd65f493e560ebdc Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Wed, 29 Jun 2016 04:38:46 +0000
Subject: [PATCH] Task #9192: Add debug output for predecessor/successor ids

---
 MAC/Services/src/PipelineControl.py | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/MAC/Services/src/PipelineControl.py b/MAC/Services/src/PipelineControl.py
index bb4ca8a5835..8a4798f18a8 100755
--- a/MAC/Services/src/PipelineControl.py
+++ b/MAC/Services/src/PipelineControl.py
@@ -220,10 +220,13 @@ class PipelineDependencies(object):
     """
     radb_task = self.rarpc.getTask(otdb_id=otdb_id)
 
-    predecessor_ids = radb_task['predecessor_ids']
-    predecessor_tasks = self.rarpc.getTasks(task_ids=predecessor_ids)
+    predecessor_radb_ids = radb_task['predecessor_ids']
+    predecessor_tasks = self.rarpc.getTasks(task_ids=predecessor_radb_ids)
+    predecessor_states = {t["otdb_id"]: t["status"] for t in predecessor_tasks}
 
-    return {t["otdb_id"]: t["status"] for t in predecessor_tasks}
+    logger.debug("getPredecessorStates(%s) = %s", otdb_id, predecessor_states)
+
+    return predecessor_states
 
   def getSuccessorIds(self, otdb_id):
     """
@@ -231,19 +234,27 @@ class PipelineDependencies(object):
     """
     radb_task = self.rarpc.getTask(otdb_id=otdb_id)
 
-    successor_ids = radb_task['successor_ids']
-    successor_tasks = self.rarpc.getTasks(task_ids=successor_ids) if successor_ids else []
+    successor_radb_ids = radb_task['successor_ids']
+    successor_tasks = self.rarpc.getTasks(task_ids=successor_ids) if successor_radb_ids else []
+    successor_otdb_ids = [t["otdb_id"] for t in successor_tasks]
+
+    logger.debug("getSuccessorIds(%s) = %s", otdb_id, successor_otdb_ids)
 
-    return [t["otdb_id"] for t in successor_tasks]
+    return successor_otdb_ids
 
   def canStart(self, otdbId):
     """
       Return whether `otdbId' can start, according to the status of the predecessors
       and its own status.
     """
+    myState = self.getState(otdbId)
+    predecessorStates = self.getPredecessorStates(otdbId)
+
+    logger.debug("canStart(%s)? state = %s, predecessors = %s", otdbId, myState, predecessorStates)
+
     return (
-      self.getState(otdbId) == "scheduled" and
-      all([x == "finished" for x in self.getPredecessorStates(otdbId).values()])
+      myState == "scheduled" and
+      all([x == "finished" for x in predecessorStates.values()])
     )
 
 class PipelineControl(OTDBBusListener):
-- 
GitLab