Repository navigation
Commit bc8bd9c
committed
fix(vector): reallocate LargeListVector offsets that cannot hold [0]
A zero-length split of a ListVector only clears its target, so a
LargeListVector below it keeps the allocator's shared empty buffer as
its offsets. getFieldBuffers() then set the writer index of the shared
buffer to 8: the LargeList offsets were written with no bytes when a
later vector reset it, and when none did, every other buffer still on
the shared empty buffer was sized 8 bytes and writing the batch threw
IndexOutOfBoundsException.
Reallocate the offsets buffer in getFieldBuffers() when it cannot hold
[0], as ListVector now does.1 parent d811f92 commit bc8bd9c
3 files changed
Lines changed: 55 additions & 1 deletion
File tree
- vector/src
- main/java/org/apache/arrow/vector/complex
- test/java/org/apache/arrow/vector
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
316 | 316 | | |
317 | 317 | | |
318 | 318 | | |
319 | | - | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
320 | 331 | | |
321 | 332 | | |
322 | 333 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1216 | 1216 | | |
1217 | 1217 | | |
1218 | 1218 | | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
1219 | 1232 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
188 | 203 | | |
189 | 204 | | |
190 | 205 | | |
| |||
359 | 374 | | |
360 | 375 | | |
361 | 376 | | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
362 | 392 | | |
363 | 393 | | |
364 | 394 | | |
| |||
0 commit comments