Hi Kevin,

The server increments a znode's cversion by one each time a change to it's child list is made. Every znode has it's own cversion. It should never decrease. If you delete a znode and create it a new then the cversion is reset for that znode. The cversion also happens to be used for the sequence number. Are you using the c or java client? Is this always happening or just in some cases? reproduceable? You might try creating your ephemerals with the sequence flag, then comparing the cversion of the parent with the sequence number assigned - might help with debugging.

Patrick

On 04/11/2010 03:53 PM, Kevin Webb wrote:
I'm using Zookeeper (3.2.2) for  a simple group membership service in
the manner that is typically described[1,2]:

I create a znode for the group, and each present group member adds an
ephemeral node under the group node. I'm using the cversion of the group
node as a "group number". I expected this value to be monotonically
increasing, but I'm seeing instances where this isn't the case.
According to the programmer's guide, changes to a node will cause the
appropriate version number to increase, but it says nothing about
decreasing.

Am I misunderstanding something about the way node version numbers work?
Is there a better/recommended way to implement a monotonically
increasing group number?

Thanks!
Kevin


[1] http://hadoop.apache.org/zookeeper/docs/r3.2.2/recipes.html
[2]
http://eng.kaching.com/2010/01/actually-implementing-group-management.html

Reply via email to