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);