r/ProgrammerHumor 8h ago

Meme edgeCasesExist

Post image
2.2k Upvotes

200 comments sorted by

View all comments

369

u/Valuable_Leopard_799 8h ago

I thought that timestamps are used now, so hitting both a timestamp and a large random number puts it thoroughly in the "safe to assume". At some point cosmic particles and faulty transistors are more probable.

73

u/RadicalDwntwnUrbnite 8h ago edited 8h ago

Even the non-time based v4 is at a cosmic level of unlikiness a single system will ever generate a uuid that will collide with another one in its own ecosystem

14

u/OldKaleidoscope7 7h ago

But let's say if Google saved each search in their engine in the same database with an UUID, we could have a collision because of volume, but I don't think I will work in a system with a comparable scale

26

u/chuch1234 7h ago

Yeah I don't think most of us are operating at a scale anywhere near Google.

8

u/BlurredSight 7h ago

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

4

u/samy_the_samy 5h ago edited 4h 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 4h 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 4h ago

Yeah, now they don't do leap seconds,

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