Description
When faced with a write-heavy workload, Kudu should take action to prevent itself from running out of memory. This includes the following:
- Providing operators with a mechanism to set a predefined memory limit, or choosing one based on a reasonable heuristic.
- When the limit is reached, taking actions to reduce memory consumption, or to at least prevent it from rising further. These actions may include:
- throttling incoming writes
- rejecting writes
- performing maintenance operations that reduce memory consumption (e.g. flushing an MRS)
A design document for this problem can be found here.
Attachments
Issue Links
- relates to
-
KUDU-1587 Memory-based backpressure is insufficient on seek-bound workloads
- Resolved