docs/internals/adr/gaps/006-no-independent-auto-scaling.md
Status: Open Discovered: 2026-02-19 Context: Cloud-native storage characteristics analysis (independent scaling, burst handling)
Quickwit does not independently auto-scale its query, ingest, and compaction workloads. All three share the same node pool and resource allocation. When ingest load spikes, query performance degrades; when query load spikes, compaction falls behind, accumulating small files that further degrade queries.
Cloud-native observability systems require independent scaling because these workloads have fundamentally different resource profiles and burstiness patterns:
Without independent scaling, there is no burst handling mechanism (characteristic C17). When ingest traffic exceeds the capacity of the shared node pool, there is no overflow buffer or burst lane to absorb the excess.
Quickwit nodes serve all roles simultaneously. The quickwit run command starts a node that handles ingest, indexing, searching, and compaction. While Kubernetes deployments can separate indexer and searcher roles, the compaction (merge) workload always runs co-located with the indexer and cannot be independently scaled.
All signals equally affected. Independent scaling is signal-agnostic.