You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add greedy mempool with configuration options (#433)
Adds a usable memory limit to each query. If
P_QUERY_MEMORY_LIMIT is set then it will use that as a
fixed limit for greedy memory pool otherwise it will use 80%
of available memory as hard limit for this query. In effect if
the memory pool quota is filled it then Datafusion will try
to spill few execution nodes in temporary directory.
This solution is not dynamic as Datafusion does not keep
track of actual available memory during its runtime. Pool
size set to Datafusion is a fixed number in bytes.
So it can happen that bound was set higher but some other
process took memory and thus actual allocation cannot
happen at runtime, Datafusion will return an error in that
case instead of OOM. Vice versa if bound was set lower
and later during runtime if more memory is available for
use even then it won't be able to use it.
0 commit comments