HBASE-19215 Incorrect exception handling on the client causes incorrect call 
timeouts and byte buffer allocations on the server

Signed-off-by: Andrew Purtell <apurt...@apache.org>


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

Branch: refs/heads/branch-2
Commit: d0fb4bd78386181868576610e27f921a13849efd
Parents: efe116f
Author: Abhishek Singh Chouhan <achou...@apache.org>
Authored: Mon Nov 13 17:16:31 2017 +0530
Committer: Andrew Purtell <apurt...@apache.org>
Committed: Mon Nov 13 18:02:21 2017 -0800

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java     | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d0fb4bd7/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java
----------------------------------------------------------------------
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java
index fcc6f7c..029bade 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java
@@ -609,7 +609,11 @@ class BlockingRpcConnection extends RpcConnection 
implements Runnable {
     // pending calls map.
     try {
       call.callStats.setRequestSizeBytes(write(this.out, requestHeader, 
call.param, cellBlock));
-    } catch (IOException e) {
+    } catch (Throwable t) {
+      if(LOG.isTraceEnabled()) {
+        LOG.trace("Error while writing call, call_id:" + call.id, t);
+      }
+      IOException e = IPCUtil.toIOE(t);
       closeConn(e);
       return;
     }

Reply via email to