
Sign up to save your podcasts
Or
Welcome to The Pragmatic Engineer Podcast. Today we’re diving into a tale of how a small change sent Facebook’s infrastructure into a tailspin. In an effort to be more inclusive, Facebook added “civil union” to its list of relationship statuses. Sounds simple, right? But as the post points out, “we didn’t realize that this enumeration was hard-coded across dozens of services.”
The moment “civil union” hit production, millions of profile requests started failing. APIs that assumed only five statuses began throwing errors. Reports of 500-level crashes poured in. As the article puts it, “a single missing enum value can bring down an entire microservice architecture.”
The fix? A big coordinated rollout to update every service, SDK, and client library with the new status. The takeaway: even minor enum changes need careful impact analysis. Thanks for listening to The Pragmatic Engineer. See you next time for more lessons from real-world engineering.
Link to Article
Welcome to The Pragmatic Engineer Podcast. Today we’re diving into a tale of how a small change sent Facebook’s infrastructure into a tailspin. In an effort to be more inclusive, Facebook added “civil union” to its list of relationship statuses. Sounds simple, right? But as the post points out, “we didn’t realize that this enumeration was hard-coded across dozens of services.”
The moment “civil union” hit production, millions of profile requests started failing. APIs that assumed only five statuses began throwing errors. Reports of 500-level crashes poured in. As the article puts it, “a single missing enum value can bring down an entire microservice architecture.”
The fix? A big coordinated rollout to update every service, SDK, and client library with the new status. The takeaway: even minor enum changes need careful impact analysis. Thanks for listening to The Pragmatic Engineer. See you next time for more lessons from real-world engineering.
Link to Article