The Zookeeper class
(PECL zookeeper >= 0.1.0)
Introduction
Represents ZooKeeper session.
Class synopsis
$host
= ''
[, callable $watcher_cb
= NULL
[, int $recv_timeout
= 10000
]]] )$host
[, callable $watcher_cb
= NULL
[, int $recv_timeout
= 10000
]] ) : void$path
[, callable $watcher_cb
= NULL
[, array &$stat
= NULL
[, int $max_size
= 0
]]] ) : stringPredefined Constants
ZooKeeper Permissions
Zookeeper::PERM_READ
-
Can read nodes value and list its children
Zookeeper::PERM_WRITE
-
Can set the nodes value
Zookeeper::PERM_CREATE
-
Can create children
Zookeeper::PERM_DELETE
-
Can delete children
Zookeeper::PERM_ADMIN
-
Can execute set_acl()
Zookeeper::PERM_ALL
-
All of the above flags ORd together
ZooKeeper Create Flags
Zookeeper::EPHEMERAL
-
If Zookeeper::EPHEMERAL flag is set, the node will automatically get removed if the client session goes away.
Zookeeper::SEQUENCE
-
If the Zookeeper::SEQUENCE flag is set, a unique monotonically increasing sequence number is appended to the path name. The sequence number is always fixed length of 10 digits, 0 padded.
ZooKeeper Log Levels
Zookeeper::LOG_LEVEL_ERROR
-
Outputs only error mesages
Zookeeper::LOG_LEVEL_WARN
-
Outputs errors/warnings
Zookeeper::LOG_LEVEL_INFO
-
Outputs big action messages besides errors/warnings
Zookeeper::LOG_LEVEL_DEBUG
-
Outputs all
ZooKeeper States
Zookeeper::EXPIRED_SESSION_STATE
-
Connected but session expired
Zookeeper::AUTH_FAILED_STATE
-
Connected but auth failed
Zookeeper::CONNECTING_STATE
-
Connecting
Zookeeper::ASSOCIATING_STATE
-
Associating
Zookeeper::CONNECTED_STATE
-
Connected
Zookeeper::READONLY_STATE
-
TODO: help us improve this extension.
Zookeeper::NOTCONNECTED_STATE
-
Connection failed
ZooKeeper Watch Types
Zookeeper::CREATED_EVENT
-
A node has been created
This is only generated by watches on non-existent nodes. These watches are set using Zookeeper::exists.
Zookeeper::DELETED_EVENT
-
A node has been deleted
This is only generated by watches on nodes. These watches are set using Zookeeper::exists and Zookeeper::get.
Zookeeper::CHANGED_EVENT
-
A node has changed
This is only generated by watches on nodes. These watches are set using Zookeeper::exists and Zookeeper::get.
Zookeeper::CHILD_EVENT
-
A change as occurred in the list of children
This is only generated by watches on the child list of a node. These watches are set using Zookeeper::getChildren.
Zookeeper::SESSION_EVENT
-
A session has been lost
This is generated when a client loses contact or reconnects with a server.
Zookeeper::NOTWATCHING_EVENT
-
A watch has been removed
This is generated when the server for some reason, probably a resource constraint, will no longer watch a node for a client.
ZooKeeper System and Server-side Errors
Zookeeper::SYSTEMERROR
-
This is never thrown by the server, it shouldn't be used other than to indicate a range. Specifically error codes greater than this value, but lesser than Zookeeper::APIERROR, are system errors.
Zookeeper::RUNTIMEINCONSISTENCY
-
A runtime inconsistency was found.
Zookeeper::DATAINCONSISTENCY
-
A data inconsistency was found.
Zookeeper::CONNECTIONLOSS
-
Connection to the server has been lost.
Zookeeper::MARSHALLINGERROR
-
Error while marshalling or unmarshalling data.
Zookeeper::UNIMPLEMENTED
-
Operation is unimplemented.
Zookeeper::OPERATIONTIMEOUT
-
Operation timeout.
Zookeeper::BADARGUMENTS
-
Invalid arguments.
Zookeeper::INVALIDSTATE
-
Invliad zhandle state.
Zookeeper::NEWCONFIGNOQUORUM
-
No quorum of new config is connected and up-to-date with the leader of last committed config - try invoking reconfiguration after new servers are connected and synced.
Available as of ZooKeeper 3.5.0
Zookeeper::RECONFIGINPROGRESS
-
Reconfiguration requested while another reconfiguration is currently in progress. This is currently not supported. Please retry.
Available as of ZooKeeper 3.5.0
ZooKeeper API Errors
Zookeeper::OK
-
Everything is OK.
Zookeeper::APIERROR
-
This is never thrown by the server, it shouldn't be used other than to indicate a range. Specifically error codes greater than this value are API errors (while values less than this indicate a Zookeeper::SYSTEMERROR).
Zookeeper::NONODE
-
Node does not exist.
Zookeeper::NOAUTH
-
Not authenticated.
Zookeeper::BADVERSION
-
Version conflict.
Zookeeper::NOCHILDRENFOREPHEMERALS
-
Ephemeral nodes may not have children.
Zookeeper::NODEEXISTS
-
The node already exists.
Zookeeper::NOTEMPTY
-
The node has children.
Zookeeper::SESSIONEXPIRED
-
The session has been expired by the server.
Zookeeper::INVALIDCALLBACK
-
Invalid callback specified.
Zookeeper::INVALIDACL
-
Invalid ACL specified.
Zookeeper::AUTHFAILED
-
Client authentication failed.
Zookeeper::CLOSING
-
ZooKeeper is closing.
Zookeeper::NOTHING
-
(not error) No server responses to process.
Zookeeper::SESSIONMOVED
-
Session moved to another server, so operation is ignored.
Zookeeper::NOTREADONLY
-
State-changing request is passed to read-only server.
Zookeeper::EPHEMERALONLOCALSESSION
-
Attempt to create ephemeral node on a local session.
Zookeeper::NOWATCHER
-
The watcher couldn't be found.
Zookeeper::RECONFIGDISABLED
-
Attempts to perform a reconfiguration operation when reconfiguration feature is disabled.
Table of Contents
- Zookeeper::addAuth — Specify application credentials
- Zookeeper::close — Close the zookeeper handle and free up any resources
- Zookeeper::connect — Create a handle to used communicate with zookeeper
- Zookeeper::__construct — Create a handle to used communicate with zookeeper
- Zookeeper::create — Create a node synchronously
- Zookeeper::delete — Delete a node in zookeeper synchronously
- Zookeeper::exists — Checks the existence of a node in zookeeper synchronously
- Zookeeper::get — Gets the data associated with a node synchronously
- Zookeeper::getAcl — Gets the acl associated with a node synchronously
- Zookeeper::getChildren — Lists the children of a node synchronously
- Zookeeper::getClientId — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
- Zookeeper::getConfig — Get instance of ZookeeperConfig
- Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect
- Zookeeper::getState — Get the state of the zookeeper connection
- Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered
- Zookeeper::set — Sets the data associated with a node
- Zookeeper::setAcl — Sets the acl associated with a node synchronously
- Zookeeper::setDebugLevel — Sets the debugging level for the library
- Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization
- Zookeeper::setLogStream — Sets the stream to be used by the library for logging
- Zookeeper::setWatcher — Set a watcher function
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 30/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/php-rf-class.zookeeper.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.