This is an automated email from the ASF dual-hosted git repository.

mboehm7 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/systemml.git

commit 96a719bc384f0c60dc1994be49d72d91d2031dea
Author: Matthias Boehm <mboe...@gmail.com>
AuthorDate: Tue May 12 22:26:14 2020 +0200

    [SYSTEMDS-238] Fix lineage merge on parfor w/ conditional control flow
    
    This patch makes a minor robustness fix to the parfor lineage merge for
    the case that certain workers did not make any updates of result
    variables due to conditional control flow in the parfor body.
---
 .../org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java 
b/src/main/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java
index 1c98c34..812cf2c 100644
--- 
a/src/main/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java
+++ 
b/src/main/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java
@@ -1351,7 +1351,8 @@ public class ParForProgramBlock extends ForProgramBlock
                        LineageItem current = lineages[0].get(var._name);
                        for( int i=1; i<lineages.length; i++ ) {
                                LineageItem next = lineages[i].get(var._name);
-                               current = LineageItemUtils.replace(next, retIn, 
current);
+                               if( next != null ) //robustness for cond. 
control flow
+                                       current = 
LineageItemUtils.replace(next, retIn, current);
                        }
                        ec.getLineage().set(var._name, current);
                }

Reply via email to