GH-31992: [C++][Parquet] Handling the special case when DataPageV2 values buffer is empty#45252
GH-31992: [C++][Parquet] Handling the special case when DataPageV2 values buffer is empty#45252mapleFU merged 5 commits intoapache:mainfrom
Conversation
|
|
|
|
||
| ASSERT_EQ(100, this->metadata_num_values()); | ||
| this->ReadColumn(Compression::SNAPPY); | ||
| ASSERT_EQ(0, this->values_read_); |
There was a problem hiding this comment.
I've verified that the unittest test would test this case
|
@pitrou so what should I need to do to merge this? Should I check #45252 (comment) in compression to check that "Compress" doesn't compress the zero-sized page? Or I should change other code? |
|
@mapleFU Can we open a bug for Parquet-java and reference it here? |
|
Created: apache/parquet-java#3122 |
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
|
Failed CI unrelated, merged |
|
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 9801801. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 13 possible false positives for unstable benchmarks that are known to sometimes produce them. |
|
Fixes #22459. |
The issue is identical to this Apache Arrow issue: apache/arrow#22459 The fix is identical to Apache Arrow fix: apache/arrow#45252 Fixes #17029.
The issue is identical to this Apache Arrow issue: apache/arrow#22459 The fix is identical to Apache Arrow fix: apache/arrow#45252 Fixes #17029.
Rationale for this change
In DataPageV2, the levels and data will not be compressed together. So, we might get the "empty" data page buffer.
When meeting this, Snappy C++ will failed to decompress the
(input_len == 0, output_len == 0)data.What changes are included in this PR?
Handling the case in
column_reader.ccAre these changes tested?
Are there any user-facing changes?
Minor fix