We're Fly.io, a public cloud that runs apps in many locations worldwide. Our Anycast router is a large Rust project with thousands of servers globally. A customer's app might run on any server; we need to know which one is best for them. The problem is managing millions of connections and state. We've been through multiple iterations, settling on Corrosion2, a stable system that uses SQLite databases mirrored across servers. However, the routing protocol, corrosion, still has issues. We want to transform our router into a regionalized version with partitioned state. A new bug arises when we lazy-load more of the Catalog state, causing proxies to lock up and get bounced by the watchdog. After several rounds of investigation, including introducing a deadlock detector, switching to recursive read locks, and eventually finding a memory corruption issue in the parking_lot library, we fix the bug by clearing the writer bit separately from the reader. The story highlights the complexity of concurrency bugs and the importance of tools like miri for detecting issues.