oh!...I got it. I was using only zookeeper handle, and only one watcher object. And, this watcher object is registered for different znodes changes. So, I need not synchronize the process method.
Thanks a lot Benjamin & Dave, Srikanth. On Mon, Jul 19, 2010 at 3:46 PM, Benjamin Reed <br...@yahoo-inc.com> wrote: > 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. > > ben > > > 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. >>> >>> ben >>> >>> >>> 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 >>>> interpretation?? >>>> >>>> Thanks& Regards, >>>> Srikanth. >>>> >>>> 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: >>>>> >>>>> >>>>> >>>>> >>>>>> Hi, >>>>>> >>>>>> 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 >>>>>> >>>>>> >>>>>> >>>>>> >>>>> these >>>>> >>>>> >>>>> >>>>> >>>>>> registered znodes, then will these events be fired by the zookeeper to >>>>>> callback object sequentially or should I have to synchronize the >>>>>> >>>>>> >>>>>> >>>>>> >>>>> process() >>>>> >>>>> >>>>> >>>>> >>>>>> method of Watcher interface in order to handle these events >>>>>> sequentially? >>>>>> Suppose, I have synchronized the process method(), then will the >>>>>> events >>>>>> fired by zookeeper be missed by the callback object when some other >>>>>> event >>>>>> >>>>>> >>>>>> >>>>>> >>>>> is >>>>> >>>>> >>>>> >>>>> >>>>>> being processed? Or, does the zookeeper ensures that all the events >>>>>> are >>>>>> finally reached and handled by the callback object? >>>>>> >>>>>> Thanks& Regards, >>>>>> Srikanth. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >