zookeeper handles are not znodes. znodes refer to elements in the zookeeper data tree. you do not need to synchronize the process method when using the same Watcher object for different znodes. if you use the same watcher for called to different ZooKeeper objects (i doubt you are doing this) then you need to synchronize.


On 07/19/2010 03:36 PM, Srikanth Bondalapati: wrote:
Thanks Dave&  Ben.

So, ultimately I need to synchronize process() method, when the same Watcher
object is registered with different zookeeper handles (or Znodes). :)

On Mon, Jul 19, 2010 at 3:03 PM, Benjamin Reed<br...@yahoo-inc.com>  wrote:

yes, you (and dave) are correct. watches are invoked sequentially in order.
the only time you can run into trouble is if you register the same watcher
object with different zookeeper handles since there is a dispatch thread per
zookeeper handle.


On 07/19/2010 02:50 PM, Srikanth Bondalapati: wrote:

Does this mean that, when I am processing one event, then the zookeeper
won't be firing another event. It does so only when the first event is
completely processed&   returned by the callback object. Am I correct in my

Thanks&   Regards,

On Mon, Jul 19, 2010 at 2:40 PM, Dave Wright<wrig...@gmail.com>   wrote:

There is a single thread used to fire notification callbacks, your
callbacks will be called in order one at a time and you only need to
worry about synchronizing state with the rest of your code.

-Dave Wright

On Mon, Jul 19, 2010 at 5:37 PM, Srikanth Bondalapati:
<sbondalap...@tagged.com>   wrote:


I have a class (X) that implements the Watcher Interface. Consider, an
instance of 'X' is registered as a callback object for different Znode
changes. Now, If there are several simultaneous changes that happen on


registered znodes, then will these events be fired by the zookeeper to
callback object sequentially or should I have to synchronize the


method of Watcher interface in order to handle these events
Suppose, I have synchronized the process method(), then will the events
fired by zookeeper be missed by the callback object when some other


being processed? Or, does the zookeeper ensures that all the events are
finally reached and handled by the callback object?

Thanks&   Regards,

Reply via email to