Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
ghx-label-4
Description
Currently the MemTracker only has a hard limit, which is applied to any memory increase.
One problem we have with the interaction between reserved and non-reserved memory is that the reserved memory is capped to grow up to 80% of the query memory limit unless it hits the query memory limit. If non-reserved memory grows to > 20% of the query memory limit and reserved memory grows until it hits the hard limit, then we almost always end up with a query failure because there's no headroom for additional non-reserved allocations.
We could reduce query failures if reservation increases were rejected earlier to preserve some headroom for non-reserved allocations above 20% of the query memory limit.
The proposal is that reservation increases (aside from the initial reservation) should be rejected if they exceed (x * limit). We could determine x with some experimentation, but 5-10% might be a good value.
Attachments
Issue Links
- relates to
-
IMPALA-7096 Ensure no memory limit exceeded regressions from IMPALA-4835 because of non-reserved memory
- Resolved