[
https://issues.apache.org/jira/browse/THRIFT-3854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15840422#comment-15840422
]
ASF GitHub Bot commented on THRIFT-3854:
----------------------------------------
Github user jsirois commented on a diff in the pull request:
https://github.com/apache/thrift/pull/1081#discussion_r98087986
--- Diff:
lib/java/src/org/apache/thrift/transport/TFastFramedTransport.java ---
@@ -164,6 +166,10 @@ public void consumeBuffer(int len) {
readBuffer.consumeBuffer(len);
}
+ public void clear() {
+ readBuffer = new
AutoExpandingBufferReadTransport(initialBufferCapacity, 1.5);
--- End diff --
It would be nice to share the initialization code on line 110 above in the
constructor - consider factoring out a factory or calling reset from the
constructor to initialize `readBuffer` for the 1st time.
> allow users to clear read buffers
> ---------------------------------
>
> Key: THRIFT-3854
> URL: https://issues.apache.org/jira/browse/THRIFT-3854
> Project: Thrift
> Issue Type: Improvement
> Components: Java - Library
> Reporter: Chris Lockfort
> Priority: Minor
> Attachments: thrift-3854-clearable-read-buffers.patch
>
>
> My use case (which I believe many others would share):
> - I have a large number of Thrift connections in a connection pool
> - Upon return of the used connection to the pool I would like to eagerly
> clean up the read buffer because I know it will not be used again until the
> connection is checked out and a new read puts a new buffer in its place.
> - Eagerly clearing the read buffers of idle connections saves a considerable
> amount of heap memory in my application, vs. having all of the idle
> connections keep all of their read buffers allocated.
> - Currently, it looks like someone thought about this and there is a
> TMemoryInputTransport#clear() , but it isn't callable from people with a
> TFramedTransport which uses a TMemoryInputTransport for its read buffer
> (unless you count doing gross and brittle reflection magic).
> I've included a patch, but I'm very flexible / open to opinions of how
> someone more familiar to this project would want to implement a feature like
> this.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)