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 2014/01/24 17:39:09 UTC
[3/6] git commit: ACCUMULO-1921 check for null
ACCUMULO-1921 check for null
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/4cac84ec
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/4cac84ec
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/4cac84ec
Branch: refs/heads/master
Commit: 4cac84ecd70bce51f12791194d1ab721f29b2d57
Parents: da2b79b
Author: Eric Newton <er...@gmail.com>
Authored: Fri Nov 22 16:28:11 2013 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Fri Jan 24 11:38:00 2014 -0500
----------------------------------------------------------------------
.../server/tabletserver/TabletServer.java | 26 +++++++++++---------
1 file changed, 14 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/4cac84ec/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java b/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
index c5695bc..8f2bbed 100644
--- a/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
+++ b/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
@@ -2449,20 +2449,22 @@ public class TabletServer extends AbstractMetricsImpl implements org.apache.accu
SortedMap<Key,Value> tabletsKeyValues = new TreeMap<Key,Value>();
try {
Pair<Text,KeyExtent> pair = verifyTabletInformation(extent, TabletServer.this.getTabletSession(), tabletsKeyValues, getClientAddressString(), getLock());
- locationToOpen = pair.getFirst();
- if (pair.getSecond() != null) {
- synchronized (openingTablets) {
- openingTablets.remove(extent);
- openingTablets.notifyAll();
- // it expected that the new extent will overlap the old one... if it does not, it should not be added to unopenedTablets
- if (!KeyExtent.findOverlapping(extent, new TreeSet<KeyExtent>(Arrays.asList(pair.getSecond()))).contains(pair.getSecond())) {
- throw new IllegalStateException("Fixed split does not overlap " + extent + " " + pair.getSecond());
+ if (pair != null) {
+ locationToOpen = pair.getFirst();
+ if (pair.getSecond() != null) {
+ synchronized (openingTablets) {
+ openingTablets.remove(extent);
+ openingTablets.notifyAll();
+ // it expected that the new extent will overlap the old one... if it does not, it should not be added to unopenedTablets
+ if (!KeyExtent.findOverlapping(extent, new TreeSet<KeyExtent>(Arrays.asList(pair.getSecond()))).contains(pair.getSecond())) {
+ throw new IllegalStateException("Fixed split does not overlap " + extent + " " + pair.getSecond());
+ }
+ unopenedTablets.add(pair.getSecond());
}
- unopenedTablets.add(pair.getSecond());
+ // split was rolled back... try again
+ new AssignmentHandler(pair.getSecond()).run();
+ return;
}
- // split was rolled back... try again
- new AssignmentHandler(pair.getSecond()).run();
- return;
}
} catch (Exception e) {
synchronized (openingTablets) {