Commit afdd4ea
Propagate BufferExec input panics instead of silently truncating
A panic while polling the input inside MemoryBufferedStream's producer
task was caught by the tokio task harness, dropping the sender; the
consumer then read the closed channel as a clean EOF and silently
truncated this partition's output. Wrap the input poll in catch_unwind
and forward the panic as a DataFusionError over the existing error
channel, so it propagates and fails the query instead of being swallowed.
Found in staging: a SinglePartitioned aggregate emitting a 16-byte
FixedSizeBinary group-key array past Arrow's 2 GiB i32-offset limit
panicked, yet the query "succeeded" with partial (under-counted) results.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 4d3dc91 commit afdd4ea
1 file changed
Lines changed: 43 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
47 | 48 | | |
48 | 49 | | |
49 | 50 | | |
| |||
337 | 338 | | |
338 | 339 | | |
339 | 340 | | |
340 | | - | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
345 | 359 | | |
346 | 360 | | |
347 | 361 | | |
| |||
555 | 569 | | |
556 | 570 | | |
557 | 571 | | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
558 | 595 | | |
559 | 596 | | |
560 | 597 | | |
| |||
0 commit comments