You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2015/01/10 01:59:31 UTC

[2/9] accumulo git commit: ACCUMULO-3466 Shortcircuit Range.mergeOverlapping for one range.

ACCUMULO-3466 Shortcircuit Range.mergeOverlapping for one range.

Make sure callers don't try to do things to the immutable list of size 1.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/19cd2099
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/19cd2099
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/19cd2099

Branch: refs/heads/1.6
Commit: 19cd209981e09c78299c87addace719037994b85
Parents: 9827b05
Author: Josh Elser <el...@apache.org>
Authored: Fri Jan 9 18:42:49 2015 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Fri Jan 9 18:42:49 2015 -0500

----------------------------------------------------------------------
 core/src/main/java/org/apache/accumulo/core/data/Range.java      | 2 ++
 .../java/org/apache/accumulo/server/tabletserver/Tablet.java     | 4 +++-
 .../apache/accumulo/test/randomwalk/sequential/BatchVerify.java  | 4 +++-
 3 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/19cd2099/core/src/main/java/org/apache/accumulo/core/data/Range.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/data/Range.java b/core/src/main/java/org/apache/accumulo/core/data/Range.java
index 0d40289..59f7aa8 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/Range.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/Range.java
@@ -381,6 +381,8 @@ public class Range implements WritableComparable<Range> {
   public static List<Range> mergeOverlapping(Collection<Range> ranges) {
     if (ranges.size() == 0)
       return Collections.emptyList();
+    if (ranges.size() == 1)
+      return Collections.singletonList(ranges.iterator().next());
 
     List<Range> ral = new ArrayList<Range>(ranges);
     Collections.sort(ral);

http://git-wip-us.apache.org/repos/asf/accumulo/blob/19cd2099/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java b/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
index 21ab7e4..96856ae 100644
--- a/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
+++ b/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
@@ -1717,7 +1717,9 @@ public class Tablet {
     }
 
     ranges = Range.mergeOverlapping(ranges);
-    Collections.sort(ranges);
+    if (ranges.size() > 1) {
+      Collections.sort(ranges);
+    }
 
     Range tabletRange = extent.toDataRange();
     for (Range range : ranges) {

http://git-wip-us.apache.org/repos/asf/accumulo/blob/19cd2099/test/src/main/java/org/apache/accumulo/test/randomwalk/sequential/BatchVerify.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/randomwalk/sequential/BatchVerify.java b/test/src/main/java/org/apache/accumulo/test/randomwalk/sequential/BatchVerify.java
index 12cb18b..55f4e32 100644
--- a/test/src/main/java/org/apache/accumulo/test/randomwalk/sequential/BatchVerify.java
+++ b/test/src/main/java/org/apache/accumulo/test/randomwalk/sequential/BatchVerify.java
@@ -66,7 +66,9 @@ public class BatchVerify extends Test {
       }
 
       ranges = Range.mergeOverlapping(ranges);
-      Collections.sort(ranges);
+      if (ranges.size() > 1) {
+        Collections.sort(ranges);
+      }
 
       if (count == 0 || ranges.size() == 0)
         return;