Struct zookeeper::Stat [] [src]

pub struct Stat {
    pub czxid: i64,
    pub mzxid: i64,
    pub ctime: i64,
    pub mtime: i64,
    pub version: i32,
    pub cversion: i32,
    pub aversion: i32,
    pub ephemeral_owner: i64,
    pub data_length: i32,
    pub num_children: i32,
    pub pzxid: i64,
}

Statistics about a znode, similar to the UNIX stat structure.

Time in ZooKeeper

The concept of time is tricky in distributed systems. ZooKeeper keeps track of time in a number of ways.

  • zxid: Every change to a ZooKeeper cluster 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 -- if zxid:a is smaller than zxid:b, then the associated change to zxid:a happened before zxid:b.
  • Version Numbers: Every change to a znode will cause an increase to one of the version numbers of that node.
  • Clock Time: ZooKeeper does not use clock time to make decisions, but it uses it to put timestamps into the Stat structure.

Fields

The transaction ID that created the znode.

The last transaction that modified the znode.

Milliseconds since epoch when the znode was created.

Milliseconds since epoch when the znode was last modified.

The number of changes to the data of the znode.

The number of changes to the children of the znode.

The number of changes to the ACL of the znode.

The session ID of the owner of this znode, if it is an ephemeral entry.

The length of the data field of the znode.

The number of children this znode has.

The transaction ID that last modified the children of the znode.

Methods

impl Stat
[src]

Is the znode an ephemeral entry?

Trait Implementations

impl Debug for Stat
[src]

Formats the value using the given formatter.