You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by ar...@apache.org on 2021/12/19 20:22:40 UTC

[systemds] branch main updated: [SYSTEMDS-2784] Fix lineage tracing of PUT_VAR

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

arnabp20 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/main by this push:
     new 1cef737  [SYSTEMDS-2784] Fix lineage tracing of PUT_VAR
1cef737 is described below

commit 1cef7374cff8af66caa853f42a7fbc0d41d65621
Author: arnabp <ar...@tugraz.at>
AuthorDate: Sun Dec 19 21:22:20 2021 +0100

    [SYSTEMDS-2784] Fix lineage tracing of PUT_VAR
    
    This patch fixes a minor issue with tracing PUT in the
    workers, which was introduced when we supported sending
    only the metadata (MatrixCharacteristics) via PUT. This fix
    allows re-enabling the FedFullReuseTests.
    
    Closes #1488
---
 .../sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java | 3 ++-
 .../java/org/apache/sysds/test/functions/lineage/FedFullReuseTest.java | 3 ---
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java
index 28f2932..282d6be 100644
--- a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java
+++ b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java
@@ -332,7 +332,8 @@ public class FederatedWorkerHandler extends ChannelInboundHandlerAdapter {
 
 		// set variable and construct empty response
 		ec.setVariable(varName, data);
-		if(DMLScript.LINEAGE)
+		if(DMLScript.LINEAGE && request.getNumParams()==1)
+			// don't trace if the data contains only metadata
 			ec.getLineage().set(varName, new LineageItem(String.valueOf(request.getChecksum(0))));
 
 		return new FederatedResponse(ResponseType.SUCCESS_EMPTY);
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/FedFullReuseTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/FedFullReuseTest.java
index 02dcc7b..1051f5c 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/FedFullReuseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/FedFullReuseTest.java
@@ -31,7 +31,6 @@ import org.apache.sysds.test.TestConfiguration;
 import org.apache.sysds.test.TestUtils;
 import org.apache.sysds.utils.Statistics;
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -70,7 +69,6 @@ public class FedFullReuseTest extends AutomatedTestBase {
 	}
 
 	@Test
-	@Ignore
 	public void federatedOutputReuse() {
 		//don't cache federated outputs in the coordinator
 		//reuse inside federated workers
@@ -78,7 +76,6 @@ public class FedFullReuseTest extends AutomatedTestBase {
 	}
 
 	@Test
-	@Ignore
 	public void nonfederatedOutputReuse() {
 		//cache non-federated outputs in the coordinator
 		federatedReuse(TEST_NAME2);