[
https://issues.apache.org/jira/browse/THRIFT-4620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James E. King III resolved THRIFT-4620.
---------------------------------------
Resolution: Fixed
Assignee: James E. King III
Fix Version/s: 0.12.0
Committed along with some changes that enable zlib wrapping buffered transport
in cpp,go,py,py3 for crosstest.
> TZlibTransport.cpp doesn't ensure that there is enough space for the zlib
> flush marker in the buffer.
> -----------------------------------------------------------------------------------------------------
>
> Key: THRIFT-4620
> URL: https://issues.apache.org/jira/browse/THRIFT-4620
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.9
> Reporter: Dominic Coyne
> Assignee: James E. King III
> Priority: Major
> Labels: c++, zlib
> Fix For: 0.12.0
>
>
> I asked [this
> question|https://stackoverflow.com/questions/51784225/how-does-thrift-handle-zlib-flush-markers-being-split-over-multiple-messages]
> on stack overflow related to a crash that I have been getting with Thrift.
> The problem occurs when using TZlibTransport.cpp. After writing to the buffer
> a few times, we do a flush. If there isn't enough space in cwbuf_ , the
> Thrift flush marker is split across two messages, which causes an error in
> the client, as a deflate stream can't start with a partial flush marker, ff.
> Thrift should assure that there will be enough space in the buffer for the
> complete flush marker, before a deflate.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)