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

Reply via email to