You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2015/05/27 22:29:28 UTC

[3/6] accumulo git commit: ACCUMULO-3857 Fix possible null pointer dereference

ACCUMULO-3857 Fix possible null pointer dereference


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

Branch: refs/heads/master
Commit: d5e26b5dd7d7e4c7dcf332b27fc5149f833899c6
Parents: de2763e
Author: Christopher Tubbs <ct...@apache.org>
Authored: Wed May 27 15:56:33 2015 -0400
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Wed May 27 16:05:15 2015 -0400

----------------------------------------------------------------------
 .../apache/accumulo/tserver/TabletServer.java   | 21 ++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/d5e26b5d/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
index 4de42a7..c502166 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
@@ -771,8 +771,25 @@ public class TabletServer extends AbstractMetricsImpl implements org.apache.accu
       if (state.get() == CANCELED)
         throw new CancellationException();
 
-      if (localRQ == null && state.get() == ADDED)
-        throw new IllegalStateException("Tried to get result twice");
+      if (localRQ == null) {
+        int st = state.get();
+        String stateStr;
+        switch (st) {
+          case ADDED:
+            stateStr = "ADDED";
+            break;
+          case CANCELED:
+            stateStr = "CANCELED";
+            break;
+          case INITIAL:
+            stateStr = "INITIAL";
+            break;
+          default:
+            stateStr = "UNKNOWN";
+            break;
+        }
+        throw new IllegalStateException("Tried to get result twice [state=" + stateStr + "(" + st + ")]");
+      }
 
       Object r = localRQ.poll(timeout, unit);