>From Ali Alsuliman <[email protected]>:
Ali Alsuliman has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18021 )
Change subject: [NO ISSUE][FUN] Skip job capacity assignment for
completed/active requests
......................................................................
[NO ISSUE][FUN] Skip job capacity assignment for completed/active requests
- user model changes: no
- storage format changes: no
- interface changes: no
Change-Id: I87c2fd9c864b29e8ec905df9d22e1e5cfa99147c
---
M
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/CompletedRequestsDatasource.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/misc/completed_requests/completed_requests.3.regex
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/AsterixOptimizationContext.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/misc/active_requests/active_requests.4.regex
M
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/ActiveRequestsDatasource.java
6 files changed, 38 insertions(+), 6 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/21/18021/1
diff --git
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/AsterixOptimizationContext.java
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/AsterixOptimizationContext.java
index 05e7f7b..733da2d 100644
---
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/AsterixOptimizationContext.java
+++
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/AsterixOptimizationContext.java
@@ -24,6 +24,7 @@
import java.util.function.Predicate;
import org.apache.asterix.metadata.declared.DataSource;
+import org.apache.asterix.metadata.declared.FunctionDataSource;
import org.apache.asterix.metadata.utils.MetadataConstants;
import
org.apache.hyracks.algebricks.common.constraints.AlgebricksPartitionConstraint;
import
org.apache.hyracks.algebricks.core.algebra.expressions.IConflictingTypeResolver;
@@ -83,10 +84,10 @@
}
for (Int2ObjectMap.Entry<Set<DataSource>> me :
dataSourceMap.int2ObjectEntrySet()) {
int dataSourceType = me.getIntKey();
- if (dataSourceType != DataSource.Type.INTERNAL_DATASET) {
+ if (dataSourceType != DataSource.Type.INTERNAL_DATASET &&
dataSourceType != DataSource.Type.FUNCTION) {
return false;
}
- Predicate<DataSource> dataSourceTest =
AsterixOptimizationContext::isMetadata;
+ Predicate<DataSource> dataSourceTest =
AsterixOptimizationContext::skipJobCapacityAssignment;
if (!me.getValue().stream().allMatch(dataSourceTest)) {
return false;
}
@@ -94,7 +95,11 @@
return true;
}
- private static boolean isMetadata(DataSource ds) {
- return
MetadataConstants.METADATA_DATAVERSE_NAME.equals(ds.getId().getDataverseName());
+ private static boolean skipJobCapacityAssignment(DataSource ds) {
+ return
MetadataConstants.METADATA_DATAVERSE_NAME.equals(ds.getId().getDataverseName())
|| isSkipping(ds);
+ }
+
+ private static boolean isSkipping(DataSource ds) {
+ return (ds instanceof FunctionDataSource) && ((FunctionDataSource)
ds).skipJobCapacityAssignment();
}
}
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/ActiveRequestsDatasource.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/ActiveRequestsDatasource.java
index 24a127a..5239d01 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/ActiveRequestsDatasource.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/ActiveRequestsDatasource.java
@@ -43,4 +43,9 @@
AlgebricksAbsolutePartitionConstraint.randomLocation(locations.getLocations());
return new ClientRequestsFunction(randomLocation,
ClientRequestsRequest.RequestType.RUNNING);
}
+
+ @Override
+ public boolean skipJobCapacityAssignment() {
+ return true;
+ }
}
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/CompletedRequestsDatasource.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/CompletedRequestsDatasource.java
index 0bfbff1..f02af21 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/CompletedRequestsDatasource.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/CompletedRequestsDatasource.java
@@ -43,4 +43,9 @@
AlgebricksAbsolutePartitionConstraint.randomLocation(locations.getLocations());
return new ClientRequestsFunction(randomLocation,
ClientRequestsRequest.RequestType.COMPLETED);
}
+
+ @Override
+ public boolean skipJobCapacityAssignment() {
+ return true;
+ }
}
diff --git
a/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/active_requests/active_requests.4.regex
b/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/active_requests/active_requests.4.regex
index e2d166b..695472c 100644
---
a/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/active_requests/active_requests.4.regex
+++
b/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/active_requests/active_requests.4.regex
@@ -1 +1 @@
-/memory\D+229376/
\ No newline at end of file
+/memory\D+0/
\ No newline at end of file
diff --git
a/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/completed_requests/completed_requests.3.regex
b/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/completed_requests/completed_requests.3.regex
index e2d166b..695472c 100644
---
a/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/completed_requests/completed_requests.3.regex
+++
b/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/completed_requests/completed_requests.3.regex
@@ -1 +1 @@
-/memory\D+229376/
\ No newline at end of file
+/memory\D+0/
\ No newline at end of file
diff --git
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
index 5c874d7..6b9b03b 100644
---
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
+++
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
@@ -108,6 +108,10 @@
tupleFilterFactory, outputLimit);
}
+ public boolean skipJobCapacityAssignment() {
+ return false;
+ }
+
protected abstract IDatasourceFunction createFunction(MetadataProvider
metadataProvider,
AlgebricksAbsolutePartitionConstraint locations);
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18021
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings
Gerrit-Project: asterixdb
Gerrit-Branch: trinity
Gerrit-Change-Id: I87c2fd9c864b29e8ec905df9d22e1e5cfa99147c
Gerrit-Change-Number: 18021
Gerrit-PatchSet: 1
Gerrit-Owner: Ali Alsuliman <[email protected]>
Gerrit-MessageType: newchange