Commit d3cad6e
authored
[Parquet] Do not panic when trying to skip records in delta encoded files using non-standard block sizes (apache#9794)
# Which issue does this PR close?
- Closes apache#9793.
# Rationale for this change
`DeltaBitPackDecoder::skip` uses some magic numbers when sizing the
buffer used for skipping. Files that use non-standard miniblock sizes
will cause `skip` to panic.
# What changes are included in this PR?
Check for non-standard miniblock sizes and return an error rather than a
panic.
Note: allocating a vec sized with `values_per_mini_block` resulted in a
significant performance regression.
# Are these changes tested?
Yes, test with file with non-standard sizes is added to the arrow_reader
tests.
# Are there any user-facing changes?
No.1 parent 7ffcf0d commit d3cad6e
3 files changed
Lines changed: 46 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
847 | 847 | | |
848 | 848 | | |
849 | 849 | | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | | - | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
854 | 865 | | |
855 | 866 | | |
856 | 867 | | |
| |||
863 | 874 | | |
864 | 875 | | |
865 | 876 | | |
| 877 | + | |
866 | 878 | | |
867 | 879 | | |
868 | 880 | | |
869 | 881 | | |
| 882 | + | |
| 883 | + | |
870 | 884 | | |
871 | 885 | | |
872 | 886 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
147 | 148 | | |
148 | 149 | | |
149 | 150 | | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
150 | 178 | | |
151 | 179 | | |
152 | 180 | | |
153 | 181 | | |
154 | | - | |
155 | 182 | | |
156 | 183 | | |
157 | 184 | | |
| |||
Binary file not shown.
0 commit comments