Repository: thrift Updated Branches: refs/heads/master 607355e1d -> bdbf42836
THRIFT-2402: byte count of FrameBuffer in AWAITING_CLOSE state is not subtracted from readBufferBytesAllocated Client: java Patch: jfarrell Addresses issue where changeSelectInterests would cause close() to occur in the AWAITING_CLOSE state and readBufferBytesAllocated was never called Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/bdbf4283 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/bdbf4283 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/bdbf4283 Branch: refs/heads/master Commit: bdbf428365144dc8586276d42c071b44c389e4ff Parents: 607355e Author: jfarrell <[email protected]> Authored: Fri Apr 4 13:09:32 2014 -0400 Committer: jfarrell <[email protected]> Committed: Fri Apr 4 13:09:32 2014 -0400 ---------------------------------------------------------------------- .../src/org/apache/thrift/server/AbstractNonblockingServer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/bdbf4283/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java ---------------------------------------------------------------------- diff --git a/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java b/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java index 80da6ca..fd49d48 100644 --- a/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java +++ b/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java @@ -455,7 +455,9 @@ public abstract class AbstractNonblockingServer extends TServer { public void close() { // if we're being closed due to an error, we might have allocated a // buffer that we need to subtract for our memory accounting. - if (state_ == FrameBufferState.READING_FRAME || state_ == FrameBufferState.READ_FRAME_COMPLETE) { + if (state_ == FrameBufferState.READING_FRAME || + state_ == FrameBufferState.READ_FRAME_COMPLETE || + state_ == FrameBufferState.AWAITING_CLOSE) { readBufferBytesAllocated.addAndGet(-buffer_.array().length); } trans_.close();
