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!

Thanks
mahadev


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