Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.3.0
-
None
Description
During the investigation in this doc I found a few maintenance-manager-related issues during heavy writes:
- we don't schedule flushes until we are already in "backpressure" realm, so we spent most of our time doing backpressure
- even if we configure N maintenance threads, we typically are only using ~50% of those threads due to the scheduling granularity
- when we do hit the "memory-pressure flush" threshold, all threads quickly switch to flushing, which then brings us far beneath the threshold
- long running compactions can temporarily starve flushes
- high volume of writes can starve compactions