Ext3h commented on code in PR #48192:
URL: https://github.com/apache/arrow/pull/48192#discussion_r2546797428
##########
cpp/src/arrow/util/compression_zstd.cc:
##########
@@ -207,8 +226,18 @@ class ZSTDCodec : public Codec {
Result<int64_t> Compress(int64_t input_len, const uint8_t* input,
int64_t output_buffer_len, uint8_t* output_buffer)
override {
- size_t ret = ZSTD_compress(output_buffer,
static_cast<size_t>(output_buffer_len),
- input, static_cast<size_t>(input_len),
compression_level_);
+ if (!compression_context_) {
Review Comment:
`thread_local` is not appropriate, because there's a conflict on compression
level.
Need to think carefully about this. It's the same problematic implementation
detail for all the codecs - they are all using the "singleshot" APIs for stuff
that is done at high frequency with usually tiny buffers, and at least within
IPC, they are also all used in a concurrent context with the same codec...
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]