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,
> 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
>> with timeouts triggers (lease triggers) leading to session close at the
>> On 2/24/10 3:40 AM, "Martin Waite" <waite....@googlemail.com> wrote:
>>> 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
>>> to disappear two minutes later - regardless of whether the client is
>>> connected to zk. Like ephemeral nodes - but with a time delay.