Skip to content
nayem.talukder

incident log / 3 entries

War Stories

Production incidents written up honestly: the problem, the investigation, the root cause, and what I'd do differently. No sanitized success stories — the value is in the dead ends.

SEV-2Resolvedmonths in the makingJul 27, 2026

The Crash With No Error Message

Backend views started throwing NoneType errors on Redis reads, and the Redis pod's logs were spotless — because OOMKill is a SIGKILL, and dead processes don't write farewell notes.

cause no-TTL job keys + RDB reload of the bloatfix purge stale keys; real fix is TTLs at write timelesson check Last State, not logs — SIGKILL leaves no trace

Redis · Kubernetes · Django3 min read

SEV-1ResolvedunrecordedJun 8, 2026

The 150GB Volume That Weighed 190GB

Zero snapshot-cleanup jobs plus 200% over-provisioning let dead Longhorn snapshots pin ~100GB of ghost blocks under the Harbor registry volume. It filled a 196GB disk, the filesystem went read-only, and every build in the cluster started failing with I/O errors.

cause snapshots marked removed but never purgedfix daily RecurringJobs + grow disk + manual salvagelesson every layer needs its own garbage collector

Longhorn · Harbor · Kaniko · ext44 min read

SEV-1Resolved~4 hoursMay 12, 2026

The Afternoon the Cluster Ate Itself

Seven workers hit disk pressure, and every standard fix made it worse: restarted agents flapped back NotReady in minutes, kubelets hung silently for 30+ minutes on startup, and Harbor — the registry every recovering pod needed — went down with the cluster it runs on.

cause no ephemeral-storage limits + cluster at capacity edgefix reboot (not restart) + scale dev namespaces to 0lesson your recovery path can't depend on the thing that's down

RKE2 · Longhorn · Harbor · Argo CD · kubelet4 min read