Murtadha Hubail has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/2878
Change subject: [NO ISSUE][COMP] Avoid Sorting Splits Locations
......................................................................
[NO ISSUE][COMP] Avoid Sorting Splits Locations
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Maintain a sorted copy of the locations to use for comparison
inside AlgebricksAbsolutePartitionConstraint rather than sorting
the locations that are aligned with storage.
Change-Id: I9120b225916acc3e0e9717bd18c128d345d47b61
---
M
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/StoragePathUtil.java
M
hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/constraints/AlgebricksAbsolutePartitionConstraint.java
2 files changed, 4 insertions(+), 4 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/78/2878/1
diff --git
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/StoragePathUtil.java
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/StoragePathUtil.java
index 63e29ce..05ea5c2 100644
---
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/StoragePathUtil.java
+++
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/StoragePathUtil.java
@@ -41,15 +41,12 @@
public class StoragePathUtil {
private static final Logger LOGGER = LogManager.getLogger();
- private static final Comparator<FileSplit> FILE_SPLIT_COMPARATOR =
-
Comparator.comparing(FileSplit::getNodeName).thenComparing(FileSplit::getPath);
private StoragePathUtil() {
}
public static Pair<IFileSplitProvider, AlgebricksPartitionConstraint>
splitProviderAndPartitionConstraints(
FileSplit[] splits) {
- Arrays.sort(splits, FILE_SPLIT_COMPARATOR);
IFileSplitProvider splitProvider = new
ConstantFileSplitProvider(splits);
String[] loc = new String[splits.length];
for (int p = 0; p < splits.length; p++) {
diff --git
a/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/constraints/AlgebricksAbsolutePartitionConstraint.java
b/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/constraints/AlgebricksAbsolutePartitionConstraint.java
index 7a1bb28..fa4a707 100644
---
a/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/constraints/AlgebricksAbsolutePartitionConstraint.java
+++
b/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/constraints/AlgebricksAbsolutePartitionConstraint.java
@@ -25,9 +25,12 @@
public class AlgebricksAbsolutePartitionConstraint extends
AlgebricksPartitionConstraint {
private final String[] locations;
+ private final String[] sortedLocations;
public AlgebricksAbsolutePartitionConstraint(String[] locations) {
this.locations = locations;
+ sortedLocations = locations.clone();
+ Arrays.sort(sortedLocations);
}
@Override
@@ -55,7 +58,7 @@
break;
case ABSOLUTE:
AlgebricksAbsolutePartitionConstraint thatAbsolute =
(AlgebricksAbsolutePartitionConstraint) that;
- if (Arrays.equals(locations, thatAbsolute.locations)) {
+ if (Arrays.equals(sortedLocations,
thatAbsolute.sortedLocations)) {
return this;
}
break;
--
To view, visit https://asterix-gerrit.ics.uci.edu/2878
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9120b225916acc3e0e9717bd18c128d345d47b61
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <[email protected]>