Uh oh!
There was an error while loading. Please reload this page.
GH-31992: [C++][Parquet] Handling the special case when DataPageV2 values buffer is empty - #45252
Conversation
Uh oh!
There was an error while loading. Please reload this page.
| 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
mapleFU
commented
Jan 14, 2025
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
mapleFU
commented
Jan 15, 2025
@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? |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
pitrou
commented
Jan 15, 2025
@mapleFU Can we open a bug for Parquet-java and reference it here? |
mapleFU
commented
Jan 15, 2025
Created: apache/parquet-java#3122 |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
mapleFU
commented
Jan 20, 2025
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. |
EnricoMi
commented
Apr 7, 2025
Fixes #22459. |
The issue is identical to this Apache Arrow issue: apache/arrow#22459 The fix is identical to Apache Arrow fix: apache/arrow#45252Fixes#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