lidavidm commented on a change in pull request #9680:
URL: https://github.com/apache/arrow/pull/9680#discussion_r594361470
##########
File path: cpp/src/arrow/util/compression_zlib.cc
##########
@@ -246,7 +246,7 @@ class GZipCompressor : public Compressor {
// again with the same value of the flush parameter and more output space
// (updated avail_out), until the flush is complete (deflate returns
// with non-zero avail_out)."
- return FlushResult{bytes_written, (bytes_written == 0)};
+ return FlushResult{bytes_written, (ret == Z_BUF_ERROR && stream_.avail_out
== 0)};
Review comment:
Hmm, looks like it should just be `avail_out == 0` after all, as I also
see this comment in zlib.h:
```
If deflate returns Z_OK and with
zero avail_out, it must be called again after making room in the output
buffer because there might be more output pending
```
Whereas in the comment already cited, there's no mention of the expected
return code.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]