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


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

        

Reply via email to