You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/01/26 20:38:24 UTC

[jira] [Commented] (THRIFT-3854) allow users to clear read buffers

    [ https://issues.apache.org/jira/browse/THRIFT-3854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15840401#comment-15840401 ] 

ASF GitHub Bot commented on THRIFT-3854:
----------------------------------------

Github user jeking3 commented on a diff in the pull request:

    https://github.com/apache/thrift/pull/1081#discussion_r98086075
  
    --- Diff: lib/java/test/org/apache/thrift/transport/TestTFastFramedTransport.java ---
    @@ -19,6 +19,8 @@
     package org.apache.thrift.transport;
     
     public class TestTFastFramedTransport extends TestTFramedTransport {
    +  protected final static int INITIAL_CAPACITY = 50;
    +
       @Override
       protected TTransport getTransport(TTransport underlying) {
         return new TFastFramedTransport(underlying, 50, 10 * 1024 * 1024);
    --- End diff --
    
    I think 50 was supposed to be changed to ``INITIAL_CAPACITY`` here, something I could do as part of the merge.


> 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)