Closed
Description
Every two hours (by default) each ingester cuts blocks from head nearly at the same time. Each ingester does it for any tenant, because we have 1 TSDB opened for each tenant. We're observing an increased latency in the ingesters when this occur (other than an increased memory usage): the more tenants are writing to an ingester, the more this problem is apparent.
We could call DisableCompactions()
on each TSDB right after creation and have a loop inside Cortex to periodically call Compact()
on each TSDB (Compact()
has been made public in the PR prometheus/prometheus#6667). This way we can control the max concurrency.