Repository: hbase
Updated Branches:
  refs/heads/master cb118c8de -> a33097e06


NPE in RpcServer causing intermittent UT failure of 
TestMasterReplication#testHFileCyclicReplication


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

Branch: refs/heads/master
Commit: a33097e067b73be8e877b822afa90b89a0c7974f
Parents: cb118c8
Author: Yu Li <l...@apache.org>
Authored: Sat Jul 9 01:05:10 2016 +0800
Committer: Yu Li <l...@apache.org>
Committed: Sat Jul 9 01:05:10 2016 +0800

----------------------------------------------------------------------
 .../src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/a33097e0/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
index ad88e8e..73226aa 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
@@ -2246,7 +2246,13 @@ public class RpcServer implements RpcServerInterface, 
ConfigurationObserver {
       // The above callBlockingMethod will always return a SE.  Strip the SE 
wrapper before
       // putting it on the wire.  Its needed to adhere to the pb Service 
Interface but we don't
       // need to pass it over the wire.
-      if (e instanceof ServiceException) e = e.getCause();
+      if (e instanceof ServiceException) {
+        if (e.getCause() == null) {
+          LOG.debug("Caught a ServiceException with null cause", e);
+        } else {
+          e = e.getCause();
+        }
+      }
 
       // increment the number of requests that were exceptions.
       metrics.exception(e);

Reply via email to