Incident Library
  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases4 cases

1 to 4 of 4

  1. Symptoms

    From the evening of 27 September 2026 (UTC), InfluxDB Cloud customers in Azure West Europe saw slow queries and query timeouts, and a query queue depth alert fired at 22:58 UTC. Writes were accepted the whole time, but new data on some partitions could not be queried right away.

    Root cause
    Component
    Contributing factor
    Detection

    A query queue depth alert fired at 22:58 UTC on 27 September and an incident was opened.

    Remediation
    • Doubled query-layer capacity
    • Restarted stuck storage pods one at a time
    • Raised the readiness probe timeout and rolled it out fleet-wide
    • Doubled recovery concurrency after a restart
    • Raised the cleanup timeout to 24 hours, which stopped the forced restarts
    • Raised each storage pod's resource request so each host held fewer pods, doubling page cache memory and disk throughput per pod
    Action items
    • Add warning alerts for page-fault rate, cache coverage, disk reads on storage volumes and query abandonment
    • List major page faults in the runbooks as a leading indicator of storage performance degradation, with the relief valves that can be tuned
    • Keep tracking down the storage-engine reference leak
    • Move the disk check out of the health path
    Lessons

    Because the storage process uses little memory and the page cache takes what is left, a page cache too small for the data being queried does not show up as memory pressure on the usual memory metrics. InfluxData now treats major page faults as a leading indicator of storage performance degradation and alerts on cache pressure before customers see it.

  2. Symptoms

    At 13:30 UTC on 9 March 2026, CDN77's data team was alerted to a sudden rise in the ZooKeeperWait metric on the ClickHouse cluster behind one of its large data pipelines. Alerting for this cluster size is set at 10 sec for the low watermark and 20 sec for the high one, and the metric reached thousands of seconds. The same rise appeared on three symmetrically redundant ClickHouse instances in different datacenters, each with its own ZooKeeper instance, and the pipeline stayed degraded for over an hour, with no observable impact on internal users, customers or partners.

    Trigger

    From 13:15 UTC two client machines that had been cut off from the network for several months came back and their log shippers sent months of queued, very small batches of health check data with old timestamps, spanning a very large time range.

    Root cause
    Component
    Contributing factor
    Detection

    An alert on the ZooKeeperWait metric fired at 13:30 UTC, fifteen minutes after the problematic inserts began at 13:15. The cluster's alerting uses a low watermark of 10 sec and a high watermark of 20 sec.

    Remediation
    • Dropped and recreated the one table partitioned by 5 minutes that had not cleared its backlog of parts
    • Broadened that table's partitioning from minutes to hours
    Action items
    • Reject out-of-range timestamps in the root MaterializedView tables
    • Record statistics on rejected rows in a second materialized view
    • Refine the deliberately wide rejection boundaries as data on rejections comes in
    • Keep a minimal test scenario with an insert query whose timestamps span days or months
    • Make a range of observability improvements
    Lessons

    Data structure matters even in a pipeline built around volume: incoherent timestamps can destabilise it as effectively as changes in cardinality. A metric that looks odd and cannot be explained at once should not be set aside under incident pressure; the falling mean insert size was what led to the cause. Means and medians each have their place, and here the mean, not the median, exposed the problem. Partitioning has to be chosen carefully: too few partitions give oversized parts, slow mutations and costly or ineffective TTL, while too many slow column scans, add final merging to aggregating queries and overload the Keeper.

  3. Symptoms

    From 17:03 UTC on January 27, 2026, a small subset of Intercom customers, fewer than 1%, saw inconsistent latency and stale data when reading from the platform. At 17:25 UTC an alarm on an excessive message backlog in a worker declared an incident automatically.

    Trigger

    An internal app deletion process, running more concurrent deletion steps per app than usual with no rate limiting, and the ETL data pipeline both put heavy load on the same database shard at the same time.

    Root cause
    Component
    Contributing factor
    Detection

    An alarm on an excessive message backlog in a worker fired at 17:25 UTC and declared an incident automatically.

    Remediation
    • Disabled ETL processing to reduce load on the affected shard
    • Scaled the app deletion workers to zero
    • Re-enabled ETL carefully once monitoring showed stable metrics
    Action items
    • Increase the capacity of shards to leave headroom for unexpected load spikes
    • Add rate limiting and resource controls to the app deletion process so it backs off when database load is high
    • Review how background work such as ETL and maintenance tasks competes with customer-facing operations for database capacity
    • Alert on replication lag earlier and link it to specific workloads
    • Communicate proactively with affected customers in incidents with a limited blast radius
    Lessons

    Because data is spread across many independent shards, the overload stayed on one shard and reached fewer than 1% of customers instead of the whole platform.

  4. Symptoms

    A reader of Repro's Aurora MySQL cluster restarted for no known reason, and right after that the writer's insert latency rose to about seven times normal and writer performance stayed badly degraded for a long time. This happened more than once, twice within two weeks by 11 November 2019. While the writer was slow, the applications that process data collected by the Repro SDK fell behind, and the team could only watch until the writer recovered.

    Trigger

    Long-running queries on the reader; the author recalls that the cause was a query sent to the reader from Redash.

    Root cause
    Component
    Contributing factor
    Remediation
    • Waited for writer performance to return, since the rollback segment release could not be sped up
    Action items
    • Add a monitor on the rollback segment, mysql.innodb.history_list_length in Datadog
    • Kill queries that run long enough to make the reader restart as soon as they are found
    • Set max_execution_time so queries are stopped after a fixed time
    Lessons

    Once the rollback segment has grown large, nothing speeds up its release across the cluster, so the way to avoid the latency is to keep transactions small and stop long-running queries before the rollback segment grows.

Check your cluster for this

These 4 cases involve Database and Database replication. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.

By root cause1