cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Boxenhorn <>
Subject Re: UUIDs whose alphanumeric order is the same as their chronological order
Date Fri, 25 Jun 2010 08:13:46 GMT
Thanks, Tatu! I'm going ahead with it. Now if something goes wrong I'll say:
"But Tatu said..." (just kidding).

I've replaced Random in the code above with SecureRandom, for that extra
dose of randomness (my biggest worry was that Random self-seeds with
System.currentTimeMillis(), and there is some infinitesimal chance that two
servers could start up in the same clock tick). Any thoughts?

On Thu, Jun 24, 2010 at 8:31 PM, Tatu Saloranta <>wrote:

> On Wed, Jun 23, 2010 at 12:18 AM, David Boxenhorn <>
> wrote:
> > Tatu, I did read your comments - and I appreciate them very much!
> >
> > I want someone to argue with me (using good arguments) since what I'm
> doing
> > *does* seem weird to me - because no one else is doing it.
> >
> > What I mean by readable is that the sort order of my UUIDs are obvious to
> > humans.
> >
> > What I mean by "weird code" is mostly that it doesn't come with enough
> > authority that I would trust it as a black-box more than my own code. For
> > example, what happens when I want to port it to different kinds of
> machines?
> Ok! It all makes sense -- honestly I just wanted to try to explain why
> certain consensus builds, not to argue against your way of doing
> things.
> I don't think you are missing anything obvious, my suggestions are
> really secondary arguments. I think you have good reasons and code
> looked solid.
> And yes, implementing time-based UUIDs leads to quite a few
> complications, if one tries to address all oddities.
> This is probably why JDK UUID is so limiting, I assume JDK authors did
> not want to deal with such aspects.
> And that is why I think that fundamentally random-based variant is
> good for the main goal of achieving uniqueness.
> > But another thing weird about it is the complexity (and I think low
> speed)
> > of the algorithms I need in my *own* code to use it. Just look at it
> > !
> Yes, that is definitely overly complicated (IMO). Perhaps Cassandra
> could add convenience methods for mundane things like converting
> between java.util.UUID and byte[].
> Or authors of nice extension/convenience libraries like Hector (and
> others mentioned -- apologies for not listing I just worry I misspell
> their names :) )
> -+ Tatu +-

View raw message