2010YOUY01 commented on PR #15610: URL: https://github.com/apache/datafusion/pull/15610#issuecomment-2812536781
> tested my fuzz tests with this pr and all of them are failing currently Update: I think the failure is not due to this PR's implementation, instead it's caused by `FairMemoryPool`'s limitation. After manually setting `max_spill_merge_degree` to 2, first 3 tests passed, the 4th one failed with ``` Error: ResourcesExhausted("Additional allocation failed with top memory consumers (across reservations) as: mock_memory_consumer#2(can spill: false) consumed 1695480 bytes, ExternalSorterMerge[0]#1(can spill: false) consumed 401664 bytes. Error: Failed to allocate additional 297024 bytes for ExternalSorterMerge[0] with 0 bytes already allocated for this reservation - 8 bytes remain available for the total pool ``` I believe it's the limitation of `FairSpillPool` that non-spillable consumers are not able to back off, and it can block spilling consumers from normal execution. (and this specific test is also possible to pass due to some complex interactions if the runtime memory consumers are set up differently) I'll try to come up with a minimal reproducer later. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org