zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mdzfirst mdzfirst <mdzfi...@gmail.com>
Subject Re: WriteLock does not work.
Date Sun, 15 Dec 2013 15:07:43 GMT
Looks good. I will try it. Thanks a lot! :-)


2013/12/15 Jordan Zimmerman <jordan@jordanzimmerman.com>

> Are you using a JVM language? Curator already has a revocable lock recipe.
>
>
> http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/locks/InterProcessMutex.html
>
> -Jordan
>
> On Dec 15, 2013, at 8:28 AM, mdzfirst mdzfirst <mdzfirst@gmail.com> wrote:
>
> > Hi everyone,
> >
> > I would like to implement a 'preemptible' mutex with the WriteLock
> example
> > in the recipe. My method is like this.
> >
> > 1. Acquire the WriteLock and get the resources
> > 2. Set a watch on the lock's root node with getChildren() repeatedly,
> using
> > a separate ZooKeeper client
> > 3. If only one child (self) is found, sleep
> > 4. The callback function only wakes up the main thread
> > 5. If the watch is triggered and > 1 children are found, release the
> > resources and unlock the WriteLock
> >
> > In my design, I will execute the jar multiple times. Each time a new one
> is
> > started, the old one should be forced to release the mutex. It works. The
> > first execution does stop. However, the second process seems to lose its
> > watch on the first one, because the callback function I passed to the
> > WriteLock object is never evoked. The callback function is used to
> > synchronize the locking request and is thus very important.
> >
> > Can anyone see any flaws in my design, or provide a different way that
> > works? Thanks~
> >
> > Best regards,
> > mdzfirst
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message