You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/08/10 21:33:48 UTC
asterixdb git commit: [NO ISSUE][COMP] Avoid Sorting Splits Locations
Repository: asterixdb
Updated Branches:
refs/heads/master 511a9be44 -> d6e204049
[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
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2878
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mb...@apache.org>
Tested-by: Michael Blow <mb...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/d6e20404
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/d6e20404
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/d6e20404
Branch: refs/heads/master
Commit: d6e204049185f3c7cd77753a89ca3ab2a518e69e
Parents: 511a9be
Author: Murtadha Hubail <mh...@apache.org>
Authored: Fri Aug 10 13:04:37 2018 -0700
Committer: Michael Blow <mb...@apache.org>
Committed: Fri Aug 10 14:33:31 2018 -0700
----------------------------------------------------------------------
.../java/org/apache/asterix/common/utils/StoragePathUtil.java | 3 ---
.../constraints/AlgebricksAbsolutePartitionConstraint.java | 5 ++++-
2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d6e20404/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/StoragePathUtil.java
----------------------------------------------------------------------
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 @@ import org.apache.logging.log4j.Logger;
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++) {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d6e20404/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/constraints/AlgebricksAbsolutePartitionConstraint.java
----------------------------------------------------------------------
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 @@ import org.apache.hyracks.api.exceptions.ErrorCode;
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 @@ public class AlgebricksAbsolutePartitionConstraint extends AlgebricksPartitionCo
break;
case ABSOLUTE:
AlgebricksAbsolutePartitionConstraint thatAbsolute = (AlgebricksAbsolutePartitionConstraint) that;
- if (Arrays.equals(locations, thatAbsolute.locations)) {
+ if (Arrays.equals(sortedLocations, thatAbsolute.sortedLocations)) {
return this;
}
break;