i agree with Michi.
The documentation contains this statement:
"ZooKeeper doesn't use real time, or clock time, at all except to put
timestamps into the stat structure on znode creation and znode
So i would say the mtime is just there do give some more human-readable
But you can not use mtime to get a "happened-before" info.
For "happend-before" you should use the mzxid.
Again from docu:
"Every change to the ZooKeeper state receives a stamp in the form of a *zxid
* (ZooKeeper Transaction Id). This exposes the total ordering of all
changes to ZooKeeper. Each change will have a unique zxid and if zxid1 is
smaller than zxid2 then zxid1 happened before zxid2."
Am 18. April 2012 08:34 schrieb Michi Mutsuzaki <[EMAIL PROTECTED]>:
> Hi Martin,
> The leader calls System.currentTimeMillis() and use that value as the
> mtime of znode. So if the leader changes and the new leader's time is
> set differently, mtime can go down.
> On Tue, Apr 17, 2012 at 7:45 PM, Martin Kou <[EMAIL PROTECTED]> wrote:
> > Hi folks,
> > There're a couple of timestamp values attached to znodes - are there any
> > guarantees about the consistency of those timestamps? e.g. if a set
> > operation have changed a znode's version from 2 to 3... is it guaranteed
> > that the mtime of the znode can only increase?
> > Best Regards,
> > Martin Kou