I don't think this should be possible (if it happens it's a bug in zk). Perhaps, for some reason, there really are 2 change actions (children created, or the same child created twice) and not just one?

Re-registering the watch "inside the watch" is fine. The server sends watch notifications as one way messages, when it notices a znode child list has changed it fires off change messages to all the registered clients. The client then receives the notification and calls the handler.


Patrick

On 06/15/2010 05:47 PM, Jun Rao wrote:
Hi,

I get a quick question on ZK 3.2.2. Here is a sequence of events during a
test:
1. client 1 creates an ephemeral node under /a
2. client 1 sets a watch using getChildren on /a
3. client 2 creates an ephemeral node under /a
4. client 1's watch gets triggered (a node change event). Inside the watch,
client 1 does getChildren on /a and sets the watch.
5. client 1's watch gets triggered again (a node change event)

My question is why the same node change event gets triggered twice. It seems
that step 5 shouldn't have happened.

Thanks,

Jun

Reply via email to