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.
> 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,
>>> 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
>>> 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