From 213ea258de6796e1302e57f4246434ca3c9a2ac6 Mon Sep 17 00:00:00 2001 From: Roger Meier Date: Thu, 6 Feb 2014 23:41:37 +0100 Subject: [PATCH] THRIFT-1457 java: Capacity of TframedTransport write buffer is never reset Patch: Arthur Meyer --- .../org/apache/thrift/TByteArrayOutputStream.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java b/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java index 9ed83c0a..1c37ecd3 100644 --- a/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java +++ b/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java @@ -27,18 +27,29 @@ import java.io.ByteArrayOutputStream; * */ public class TByteArrayOutputStream extends ByteArrayOutputStream { + + private final int initialSize; + public TByteArrayOutputStream(int size) { super(size); + this.initialSize = size; } public TByteArrayOutputStream() { - super(); + this(32); } public byte[] get() { return buf; } + public void reset() { + super.reset(); + if (buf.length > initialSize) { + buf = new byte[initialSize]; + } + } + public int len() { return count; } -- 2.17.1