From af9422c04a343730d9ed6f3cf46cd6fc9d77c04a Mon Sep 17 00:00:00 2001 From: tedyu Date: Fri, 1 Jul 2016 14:26:09 -0700 Subject: [PATCH] HBASE-16159 OutOfMemory exception when using AsyncRpcClient with encryption to read rpc response (Colin Ma) --- .../org/apache/hadoop/hbase/security/SaslClientHandler.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslClientHandler.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslClientHandler.java index 9b522ae2ab2..d583e20b217 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslClientHandler.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslClientHandler.java @@ -216,6 +216,8 @@ public class SaslClientHandler extends ChannelDuplexHandler { writeSaslToken(ctx, saslToken); } } + // release the memory + in.release(); if (saslClient.isComplete()) { String qop = (String) saslClient.getNegotiatedProperty(Sasl.QOP); @@ -246,6 +248,8 @@ public class SaslClientHandler extends ChannelDuplexHandler { } saslToken = new byte[length]; in.readBytes(saslToken); + // release the memory + in.release(); } catch (IndexOutOfBoundsException e) { return; }