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

baunsgaard 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 0ae0204120 [MINOR] multitenant federated test solidify
0ae0204120 is described below

commit 0ae02041202c6fb6827bbd380f4debf0e0f8b65a
Author: baunsgaard <[email protected]>
AuthorDate: Fri Jan 20 13:21:46 2023 +0100

    [MINOR] multitenant federated test solidify
---
 .../multitenant/FederatedLineageTraceReuseTest.java   | 19 ++++++++++---------
 .../multitenant/FederatedMultiTenantTest.java         | 13 +++++++++----
 .../federated/multitenant/FederatedReuseReadTest.java | 14 ++++++++++++--
 .../multitenant/FederatedReuseSlicesTest.java         | 11 ++++++++++-
 .../multitenant/FederatedSerializationReuseTest.java  | 11 ++++++++++-
 .../federated/multitenant/MultiTenantTestBase.java    |  4 +++-
 6 files changed, 54 insertions(+), 18 deletions(-)

diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedLineageTraceReuseTest.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedLineageTraceReuseTest.java
index 5d249abfb6..a7da74dcf1 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedLineageTraceReuseTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedLineageTraceReuseTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.sysds.test.functions.federated.multitenant;
 
+import static org.junit.Assert.fail;
+
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
@@ -132,6 +134,8 @@ public class FederatedLineageTraceReuseTest extends 
MultiTenantTestBase {
                        c = cols;
                }
 
+               int[] workerPorts = startFedWorkers(4, new String[]{"-lineage", 
"reuse"});
+
                double[][] X1 = getRandomMatrix(r, c, 0, 3, sparsity, 3);
                double[][] X2 = getRandomMatrix(r, c, 0, 3, sparsity, 7);
                double[][] X3 = getRandomMatrix(r, c, 0, 3, sparsity, 8);
@@ -146,15 +150,6 @@ public class FederatedLineageTraceReuseTest extends 
MultiTenantTestBase {
                // empty script name because we don't execute any script, just 
start the worker
                fullDMLScriptName = "";
 
-               int[] workerPorts = startFedWorkers(4, new String[]{"-lineage", 
"reuse"});
-
-               try {
-                       Thread.sleep(4000);
-               }
-               catch(InterruptedException e) {
-                       // TODO Auto-generated catch block
-                       e.printStackTrace();
-               }
                rtplatform = execMode;
                if(rtplatform == ExecMode.SPARK) {
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -193,6 +188,12 @@ public class FederatedLineageTraceReuseTest extends 
MultiTenantTestBase {
        }
 
        private void verifyResults(OpType opType, String outputLog, ExecMode 
execMode) {
+               try{
+                       Thread.sleep(100);
+               }
+               catch(Exception e){
+                       fail(e.getMessage());
+               }
                Assert.assertTrue(checkForHeavyHitter(opType, outputLog, 
execMode));
                // verify that the matrix object has been taken from cache
                Assert.assertTrue(checkForReuses(opType, outputLog, execMode));
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedMultiTenantTest.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedMultiTenantTest.java
index d03b9fd70c..6948e8ea17 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedMultiTenantTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedMultiTenantTest.java
@@ -19,13 +19,12 @@
 
 package org.apache.sysds.test.functions.federated.multitenant;
 
-import java.lang.Math;
+import static org.junit.Assert.fail;
+
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 
-import static org.junit.Assert.fail;
-
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.sysds.api.DMLScript;
@@ -166,6 +165,7 @@ public class FederatedMultiTenantTest extends 
MultiTenantTestBase {
                        r = rows / 4;
                        c = cols;
                }
+               int[] workerPorts = startFedWorkers(4);
 
                double[][] X1 = getRandomMatrix(r, c, 0, 3, 1, 3);
                double[][] X2 = getRandomMatrix(r, c, 0, 3, 1, 7);
@@ -181,7 +181,6 @@ public class FederatedMultiTenantTest extends 
MultiTenantTestBase {
                // empty script name because we don't execute any script, just 
start the worker
                fullDMLScriptName = "";
 
-               int[] workerPorts = startFedWorkers(4);
 
                rtplatform = execMode;
                if(rtplatform == ExecMode.SPARK) {
@@ -297,6 +296,12 @@ public class FederatedMultiTenantTest extends 
MultiTenantTestBase {
        }
 
        private void verifyResults(OpType opType, String outputLog, ExecMode 
execMode) {
+               try{
+                       Thread.sleep(100);
+               }
+               catch(Exception e){
+                       fail(e.getMessage());
+               }
                Assert.assertTrue(checkForHeavyHitter(opType, outputLog, 
execMode));
 
                // compare the results via files
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseReadTest.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseReadTest.java
index 522c9aafc1..274ab1c483 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseReadTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseReadTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.sysds.test.functions.federated.multitenant;
 
+import static org.junit.Assert.fail;
+
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
@@ -142,6 +144,8 @@ public class FederatedReuseReadTest extends 
MultiTenantTestBase {
                        c = cols;
                }
 
+               int[] workerPorts = startFedWorkers(4, lineage ? new 
String[]{"-lineage", "reuse"} : null);
+
                double[][] X1 = getRandomMatrix(r, c, 0, 3, sparsity, 3);
                double[][] X2 = getRandomMatrix(r, c, 0, 3, sparsity, 7);
                double[][] X3 = getRandomMatrix(r, c, 0, 3, sparsity, 8);
@@ -156,7 +160,6 @@ public class FederatedReuseReadTest extends 
MultiTenantTestBase {
                // empty script name because we don't execute any script, just 
start the worker
                fullDMLScriptName = "";
 
-               int[] workerPorts = startFedWorkers(4, lineage ? new 
String[]{"-lineage", "reuse"} : null);
 
                rtplatform = execMode;
                if(rtplatform == ExecMode.SPARK) {
@@ -197,7 +200,14 @@ public class FederatedReuseReadTest extends 
MultiTenantTestBase {
        }
 
        private void verifyResults(OpType opType, String outputLog, ExecMode 
execMode) {
-               Assert.assertTrue(checkForHeavyHitter(opType, outputLog, 
execMode));
+               try{
+                       Thread.sleep(100);
+               }
+               catch(Exception e){
+                       fail(e.getMessage());
+               }
+               Assert.assertTrue("Heavy hitter should include: " + opType + " 
outputLog:" + outputLog,
+                       checkForHeavyHitter(opType, outputLog, execMode));
                // verify that the matrix object has been taken from cache
                Assert.assertTrue(outputLog.contains("Fed ReuseRead (Hits, 
Bytes):\t"
                        + Integer.toString((coordinatorProcesses.size()-1) * 
workerProcesses.size()) + "/"));
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseSlicesTest.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseSlicesTest.java
index 50d7f662a2..7b5a41bc77 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseSlicesTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseSlicesTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.sysds.test.functions.federated.multitenant;
 
+import static org.junit.Assert.fail;
+
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
@@ -132,6 +134,8 @@ public class FederatedReuseSlicesTest extends 
MultiTenantTestBase {
                        c = cols;
                }
 
+               int[] workerPorts = startFedWorkers(4, new String[]{"-lineage", 
"reuse"});
+
                double[][] X1 = getRandomMatrix(r, c, 0, 3, sparsity, 3);
                double[][] X2 = getRandomMatrix(r, c, 0, 3, sparsity, 7);
                double[][] X3 = getRandomMatrix(r, c, 0, 3, sparsity, 8);
@@ -146,7 +150,6 @@ public class FederatedReuseSlicesTest extends 
MultiTenantTestBase {
                // empty script name because we don't execute any script, just 
start the worker
                fullDMLScriptName = "";
 
-               int[] workerPorts = startFedWorkers(4, new String[]{"-lineage", 
"reuse"});
 
                rtplatform = execMode;
                if(rtplatform == ExecMode.SPARK) {
@@ -195,6 +198,12 @@ public class FederatedReuseSlicesTest extends 
MultiTenantTestBase {
        }
 
        private void verifyResults() {
+               try{
+                       Thread.sleep(100);
+               }
+               catch(Exception e){
+                       fail(e.getMessage());
+               }
                // compare the results via files
                HashMap<CellIndex, Double> refResults0  = 
readDMLMatrixFromOutputDir("S" + 0);
                HashMap<CellIndex, Double> refResults1  = 
readDMLMatrixFromOutputDir("S" + 1);
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedSerializationReuseTest.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedSerializationReuseTest.java
index 05f02846c0..51714c71c8 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedSerializationReuseTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedSerializationReuseTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.sysds.test.functions.federated.multitenant;
 
+import static org.junit.Assert.fail;
+
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
@@ -133,6 +135,8 @@ public class FederatedSerializationReuseTest extends 
MultiTenantTestBase {
                        c = cols;
                }
 
+               int[] workerPorts = startFedWorkers(4, new String[]{"-lineage", 
"reuse"});
+
                double[][] X1 = getRandomMatrix(r, c, 0, 3, sparsity, 3);
                double[][] X2 = getRandomMatrix(r, c, 0, 3, sparsity, 7);
                double[][] X3 = getRandomMatrix(r, c, 0, 3, sparsity, 8);
@@ -147,7 +151,6 @@ public class FederatedSerializationReuseTest extends 
MultiTenantTestBase {
                // empty script name because we don't execute any script, just 
start the worker
                fullDMLScriptName = "";
 
-               int[] workerPorts = startFedWorkers(4, new String[]{"-lineage", 
"reuse"});
 
                rtplatform = execMode;
                if(rtplatform == ExecMode.SPARK) {
@@ -191,6 +194,12 @@ public class FederatedSerializationReuseTest extends 
MultiTenantTestBase {
        }
 
        private void verifyResults(OpType opType, String outputLog, ExecMode 
execMode) {
+               try{
+                       Thread.sleep(100);
+               }
+               catch(Exception e){
+                       fail(e.getMessage());
+               }
                Assert.assertTrue(checkForHeavyHitter(opType, outputLog, 
execMode));
                // verify that the matrix object has been taken from cache
                checkForReuses(opType, outputLog, execMode);
diff --git 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/MultiTenantTestBase.java
 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/MultiTenantTestBase.java
index c2fbcbd0ed..aa7141bd18 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/MultiTenantTestBase.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/MultiTenantTestBase.java
@@ -33,6 +33,8 @@ import org.apache.sysds.common.Types.ExecMode;
 import org.apache.sysds.test.AutomatedTestBase;
 import org.junit.After;
 
+import com.google.crypto.tink.subtle.Random;
+
 public abstract class MultiTenantTestBase extends AutomatedTestBase {
        protected ArrayList<Process> workerProcesses = new ArrayList<>();
        protected ArrayList<Process> coordinatorProcesses = new ArrayList<>();
@@ -66,7 +68,7 @@ public abstract class MultiTenantTestBase extends 
AutomatedTestBase {
                        ports[counter] = getRandomAvailablePort();
                        // start process but only wait long for last one.
                        Process tmpProcess = 
startLocalFedWorker(ports[counter], addArgs, 
-                               counter == numFedWorkers-1 ? FED_WORKER_WAIT * 
3 : FED_WORKER_WAIT_S);
+                               counter == numFedWorkers-1 ? (FED_WORKER_WAIT + 
Random.randInt(1000)) * 3 : FED_WORKER_WAIT_S);
                        workerProcesses.add(tmpProcess);
                }
                return ports;

Reply via email to