Sleeping at Scale

When hundreds of thousands of Buildkite Agents wake up at once, a simple one-second loop can become a distributed-systems problem. Jitter helps, but where and when you add it matters.

Goodbye integers. Hello UUIDv7!

The journey Buildkite took from sequential integer primary keys, through randomly generated UUIDs, to adopting time-ordered UUIDv7 — and the database index tradeoffs along the way.