Is your feature request related to a problem or challenge?
We ran into a case where a DataFusion process hit memory resource limits (and got OOMed) before it actually got near the set memory pool limit.
The nature of the query (many join operators, many partitions), led claude to believe a significant part of it was down to unaccounted memory in the SharedCoalescer, which was coincidentally also discussed in the original PR #22010 (comment)
Describe the solution you'd like
Thread a memory reservation down to SharedCoalescer and grow/shrink it as the batches are pushed/drained from it.
Even though an individual SharedCoalescer by default buffers only a modest number of rows, this problem can compound otherwise, since SharedCoalescer are per partition and per operator.
Describe alternatives you've considered
No response
Additional context
No response
Is your feature request related to a problem or challenge?
We ran into a case where a DataFusion process hit memory resource limits (and got OOMed) before it actually got near the set memory pool limit.
The nature of the query (many join operators, many partitions), led claude to believe a significant part of it was down to unaccounted memory in the
SharedCoalescer, which was coincidentally also discussed in the original PR #22010 (comment)Describe the solution you'd like
Thread a memory reservation down to
SharedCoalescerand grow/shrink it as the batches are pushed/drained from it.Even though an individual
SharedCoalescerby default buffers only a modest number of rows, this problem can compound otherwise, sinceSharedCoalescerare per partition and per operator.Describe alternatives you've considered
No response
Additional context
No response