Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix Parquet DELTA_BINARY_PACKED decoder move buffer ptr to the end of…
… page (facebookincubator#10485) Summary: When all data in the DELTA_BINARY_PACKED decoder has been read, its corresponding buffer ptr needs to be moved to the end of the page data. When the amount of data contained in the page is relatively small, `totalValuesRemaining_` will be less than `valuesRemainingCurrentMiniBlock_`, because the initial value of `valuesRemainingCurrentMiniBlock_` is always fixed as `valuesPerBlock_ / miniBlocksPerBlock_`. For example, if `valuesPerBlock_` = 128 and `miniBlocksPerBlock_` = 4, then `valuesRemainingCurrentMiniBlock_` would be 32. If the page only contains 4 integers, the original code, after reading all 4 data entries, would have `valuesRemainingCurrentMiniBlock_` = 32 - 4 = 28, and it would not enter the if condition to move `bufferStart_` to the end of the page. Pull Request resolved: facebookincubator#10485 Reviewed By: Yuhta Differential Revision: D59974493 Pulled By: kevinwilfong fbshipit-source-id: c67bb0690e80e42d1aeaa40673c86a127feafa0d
- Loading branch information