I am not sure if I was clear enoguh in my last message.

What is suggested was this:

Create a client with a timeout of lets say 10 seconds!

Zookeeper zk = new ZooKeeper(10000); (for brevity ignoring other parameters)

Zk.create("/parent/ephemeral", data, EPEMERAL);

//create a another thread that triggeers at 120 seconds

On a trigger from this thread call zk.delete("/parent/ephemeral");

That's how lease can be done at the application side.

Obviously your lease expires on a session close and other events as well,
you need to be monitoring.


On 2/24/10 11:09 AM, "Martin Waite" <waite....@googlemail.com> wrote:

> Hi Mahadev,
> That is interesting.  All I need to do is hold the connection for the
> required time of a session that created an ephemeral node.
> Zookeeper is an interesting tool.
> Thanks again,
> Martin
> On 24 February 2010 17:00, Mahadev Konar <maha...@yahoo-inc.com> wrote:
>> Hi Martin,
>>  There isnt an inherent model for leases in the zookeeper library itself.
>> To implement leases you will have to implement them at your application
>> side
>> with timeouts triggers (lease triggers) leading to session close at the
>> client.
>> Thanks
>> mahadev
>> On 2/24/10 3:40 AM, "Martin Waite" <waite....@googlemail.com> wrote:
>>> Hi,
>>> Is there a good model for implementing leases in Zookeeper ?
>>> What I want to achieve is for a client to create a lock, and for that
>> lock
>>> to disappear two minutes later - regardless of whether the client is
>> still
>>> connected to zk.   Like ephemeral nodes - but with a time delay.
>>> regards,
>>> Martin

Reply via email to