Closed sadikovi closed 7 years ago
@sunchao please review and advice on next steps:)
Attached Parquet file that I am using to test this bug, and running my example.rs
code.
@sadikovi Yes you're right. Please file a PR with a test case for this. Thanks :)
For required fields with PLAIN encoding, current code
read_batch
inColumnReaderImpl
goes into infinite loop. It happens when field is required, it does not have repetition/definition levels, thereforevalues_to_read
keeps being set to 0, which results in buffer being&[values_read..values_read + values_to_read]
-> empty. This goes into infinite loop because decoding for empty buffer returns 0, and loop never progresses.Fix for the issue is setting
values_to_read
explicitly, when field is required (assertion is optional):Here is schema information for which it fails.