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;