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

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

jeking3 edited a comment on issue #1591: THRIFT-4620: Ensure enough space for 
for zlib flush marker
URL: https://github.com/apache/thrift/pull/1591#issuecomment-420393230
 
 
   I don't believe that the cross test framework will test zlib changes; not 
sure if the unit tests do a good job at that either.  If anyone else has an 
opinion on this, let me know.  Looks fine to me otherwise, but I don't see any 
explicit test that would use a zlib transport and flush empty to force this.  
Is there a way to modify the zlib unit test to force this condition during the 
test?
   
   I see that the golang test client and server support zlib; I'm going to add 
the bits to test zlib transport in the C++ client and server and have them 
cross test, and I'll push that back into your branch to re-run in CI.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> 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
>            Priority: Major
>              Labels: c++, zlib
>
> 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)

Reply via email to