Incident Library

IL-0297 Mezmo · 2019-05-15database

Mezmo users could not sign in and log indexing lagged after the auth cache's Redis servers were OOM killed

A tool that tracks batches of logs was not sized for a traffic spike and overwhelmed the Redis servers of Mezmo's authentication cache until they failed. The Redis servers were OOM killed and left pid files that blocked automatic restarts, so Redis kept rebooting. Logs and their metadata backed up in the process queue until they overwhelmed the log processing nodes, and the failover from Redis to MongoDB sent so many authentication requests that MongoDB failed as well, so users could not sign in or reach their logs. The postmortem, signed by the LogDNA team, says the batch tracking instrumentation worked as intended and that the traffic increase was just enough to push the pipeline over the edge.

The first fix resized specific parts of the cluster to take a much higher load. By 18:26 UTC on 15 May the root cause had been identified and a fix deployed, and the incident was resolved at 00:12 UTC on 16 May.

Severity
–
Scope
Sign-in and access to logs in the web application, log indexing for live tail and search, and log ingestion through the agent, REST API, code libraries, Heroku and syslog
Users affected
–
Region
–
Time to detect
–
Time to resolve
–

Symptoms

On 15 May 2019, alerts and customer reports showed that the Mezmo web application did not let users sign in, and the status page reported an indexing delay: incoming logs reached live tail and search late.

None of the Redis servers of the small, distributed, disk-backed cache that stores and looks up authentication information were running. They had been OOM killed and had left pid files behind, which prevented automatic restarts, and Redis went into a reboot loop. When Redis fails the applications fall back to MongoDB, but the volume of authentication requests took MongoDB down too, and the application could not be reached at all to retrieve logs.

Symptom Service outageOOMKilledDatabase overloadThroughput degradation

Root cause

Trigger
A traffic spike that the tool tracking batches of logs was not sized to handle.

Detection

Alerts and customer reports in the early morning hours triggered the escalation procedure and woke the on-call engineers.

Remediation

Action items

Lessons

Mezmo took from the incident that deep instrumentation, tracing and observability across the platform matter more as features scale up.

Sources

Related cases

Check your cluster for this

kubegap audits a Kubernetes cluster for conditions like the ones in this case, In-memory cache, Database among them, read-only, from Claude Code or Codex. Its checks cite public reports like this one.

For AI tools and scripts

The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.