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. Thanks mahadev 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 >> >>