Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Soft-pressure flusher can cause OOM #3717
As explained in #3716, there could be soft pressure, but soft-pressure flusher may not be able to make progress. It will keep trying to flush empty memtables, which block on earlier flushes to complete, and thus allocate continuations in memory. Those continuations accumulate in memory and can cause OOM.
#3715 makes the problem worse for system tables, because the original flush will take longer to complete. Due to scheduling group isolation the soft-pressure flusher will keep getting the CPU.
This causes bad_alloc and crashes of dtest: