[
https://issues.apache.org/jira/browse/THRIFT-1564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dave Watson updated THRIFT-1564:
--------------------------------
Attachment: 0006-Minor-fixes-to-TZlibTransport.patch
> Minor fixes to TZlibTransport
> ------------------------------
>
> Key: THRIFT-1564
> URL: https://issues.apache.org/jira/browse/THRIFT-1564
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Library
> Reporter: Dave Watson
> Priority: Minor
> Attachments: 0006-Minor-fixes-to-TZlibTransport.patch
>
>
> Subject: [PATCH 6/15] Minor fixes to TZlibTransport
> Summary:
> 1. Implement peek() : this avoid the constant exception handling on
> TNonblockingServer side to discover that there is no more data to read
> 2. Make zlib transport do a Z_FULL_FLUSH on flush(). This causes all lzw state
> to be thrown away and prevents dictionaries from being reused for unrelated
> requests - http://www.bolet.org/~pornin/deflate-flush.html
> Both these fixes are an attempt to fix an issue that I am seeing - 2x timeouts
> when connecting over zlib + framed as opposed to framed only, for servers that
> are not really CPU-bound.
> Test Plan:
> 1.Test with a simple client and server to verify that TNonblockingServer does
> not do handle the 'No more data to read' exception after the peek() is
> implemented.
> 2. Run a prod client with Z_FULL_FLUSH and verify no serious changes occur
> (did
> not push server with this fix). Also verified that current users of
> TZlibTransport only call finish and do not call flush()
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira