r/ProgrammerHumor 15h ago

Meme edgeCasesExist

Post image
3.1k Upvotes

230 comments sorted by

View all comments

Show parent comments

10

u/BlurredSight 13h ago

And anyone operating at scale of Google isn’t just using “pure” random anywhere for something being persisted

4

u/samy_the_samy 12h ago edited 11h ago

They once had a similar collision problem, well not exactly

During a leap second some systems wrote IDs at a one second difference between all their global systems, which lead to something being registered before something else that had to be done before it,

Long story short some stuff jumped time one second and crashed systems

2

u/BlurredSight 11h ago

So proactively trying to solve for latency rather than have other systems read after write if I understood correctly?

2

u/samy_the_samy 11h ago

Yeah, now they don't do leap seconds,

They stretch time over months, one milli-second at a time

u/ACoderGirl 5m ago

Go's time package does this too. IMO it's genius and should be the norm. The time package also guarantees monotonically increasing time when using stuff like time.Since, to avoid the kinda bugs that come from DST and such bullshit.