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;