[SYSTEMDS-2618] Simplified privacy handling of federated UDF inputs
Closes #1053.
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 2d6ea04..76166f2 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
@@ -302,6 +302,7 @@
FederatedUDF udf = (FederatedUDF) request.getParam(0);
Data[] inputs = Arrays.stream(udf.getInputIDs())
.mapToObj(id -> ec.getVariable(String.valueOf(id)))
+ .map(PrivacyMonitor::handlePrivacy)
.toArray(Data[]::new);
//execute user-defined function
diff --git a/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java b/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
index 047aff3..e1ecb19 100644
--- a/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
+++ b/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
@@ -190,7 +190,7 @@
@Override
public FederatedResponse execute(ExecutionContext ec, Data... data) {
- FrameObject fo = (FrameObject) PrivacyMonitor.handlePrivacy(data[0]);
+ FrameObject fo = (FrameObject) data[0];
FrameBlock fb = fo.acquireRead();
String[] colNames = fb.getColumnNames();
@@ -220,8 +220,7 @@
@Override
public FederatedResponse execute(ExecutionContext ec, Data... data) {
- FrameObject fo = (FrameObject) PrivacyMonitor.handlePrivacy(data[0]);
- FrameBlock fb = fo.acquireReadAndRelease();
+ FrameBlock fb = ((FrameObject)data[0]).acquireReadAndRelease();
// apply transformation
MatrixBlock mbout = _encoder.apply(fb,
diff --git a/src/main/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.java b/src/main/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.java
index 4f31d4f..762ed68 100644
--- a/src/main/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.java
+++ b/src/main/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.java
@@ -299,7 +299,7 @@
}
public FederatedResponse execute(ExecutionContext ec, Data... data) {
- MatrixObject mo = (MatrixObject) PrivacyMonitor.handlePrivacy(data[0]);
+ MatrixObject mo = (MatrixObject) data[0];
MatrixBlock mb = mo.acquireRead();
String[] colNames = _meta.getColumnNames();
@@ -331,8 +331,7 @@
@Override
public FederatedResponse execute(ExecutionContext ec, Data... data) {
- FrameObject fo = (FrameObject) PrivacyMonitor.handlePrivacy(data[0]);
- FrameBlock fb = fo.acquireReadAndRelease();
+ FrameBlock fb = ((FrameObject)data[0]).acquireReadAndRelease();
// return column names
return new FederatedResponse(ResponseType.SUCCESS, new Object[] {fb.getColumnNames()});
}
@@ -350,8 +349,7 @@
@Override
public FederatedResponse execute(ExecutionContext ec, Data... data) {
- FrameObject fo = (FrameObject) PrivacyMonitor.handlePrivacy(data[0]);
- FrameBlock fb = fo.acquireReadAndRelease();
+ FrameBlock fb = ((FrameObject)data[0]).acquireReadAndRelease();
_encoder.build(fb);
return new FederatedResponse(ResponseType.SUCCESS, new Object[] {_encoder});
}