Updated Branches: refs/heads/1.5.1-SNAPSHOT da2b79bc4 -> 4cac84ecd refs/heads/1.6.0-SNAPSHOT 3485ba3bb -> 6afef02fc refs/heads/master 6669b1e95 -> d44ece4e4
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/1.5.1-SNAPSHOT Commit: 4cac84ecd70bce51f12791194d1ab721f29b2d57 Parents: da2b79b Author: Eric Newton <eric.new...@gmail.com> Authored: Fri Nov 22 16:28:11 2013 -0500 Committer: Josh Elser <els...@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) {