Hi David,
 I think it would be really useful. It would be very helpful for someone
looking for geenrating unique tokens/generations ids ( I can think of plenty
of applications for this).

Please do consider contributing it back to the community!


On 8/6/10 7:10 AM, "David Rosenstrauch" <dar...@darose.net> wrote:

> Perhaps.  I'd have to ask my boss for permission to release the code.
> Is this something that would be interesting/useful to other people?  If
> so, I can ask about it.
> DR
> On 08/05/2010 11:02 PM, Jonathan Holloway wrote:
>> Hi David,
>> We did discuss potentially doing this as well.  It would be nice to get some
>> recipes for Zookeeper done for this area, if people think it's useful.  Were
>> you thinking of submitting this back as a recipe, if not then I could
>> potentially work on such a recipe instead.
>> Many thanks,
>> Jon.
>>> I just ran into this exact situation, and handled it like so:
>>> I wrote a library that uses the option (b) you described above.  Only
>>> instead of requesting a single sequence number, you request a block of them
>>> at a time from Zookeeper, and then locally use them up one by one from the
>>> block you retrieved.  Retrieving by block (e.g., by blocks of 10000 at a
>>> time) eliminates the contention issue.
>>> Then, if you're finished assigning ID's from that block, but still have a
>>> bunch of ID's left in the block, the library has another function to "push
>>> back" the unused ID's.  They'll then get pulled again in the next block
>>> retrieval.
>>> We don't actually have this code running in production yet, so I can't
>>> vouch for how well it works.  But the design was reviewed and given the
>>> thumbs up by the core developers on the team, and the implementation passes
>>> all my unit tests.
>>> HTH.  Feel free to email back with specific questions if you'd like more
>>> details.
>>> DR

Reply via email to