~/talk

PIPEFAIL: How a Missing Shell Option Slowed Cloudflare Down

Talkat Reliability @Scale Summer 2022 · on Wednesday, 2022-08-31· [distributed-systems, security]
linkedin:jhartm2
slides:none on file

A bash cronjob running in Kubernetes silently returns an empty TOML when an addressing API query slows, because the script lacks strict error handling (missing shell option) and writes that empty value into Quicksilver. The edge daemon dosd reads the empty field, crash loops, and Frontline experiences 5-second head-of-line blocking, causing ~45% CPU drop and ~20% traffic loss for about 30 minutes. The failure needs the rollback timing at :10 and the Thundering Herd against the addressing API to coincide.

AI-written summary · about

  1. 0:00Pipefail and Cloudflare intro
  2. 2:33Key concepts and architecture
  3. 4:58Change that triggered incident
  4. 6:01Impact on system metrics
  5. 7:03Initial remediation steps
  6. 8:28Root cause investigation
  7. 10:37Why Frontline slowed down
  8. 11:40Timing's role in failure
  9. 13:50Lessons learned
  10. 16:57Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.