Class ReadOnlyZooKeeperServer
java.lang.Object
org.apache.zookeeper.server.ZooKeeperServer
org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer
- All Implemented Interfaces:
ServerStats.Provider
,SessionTracker.SessionExpirer
A ZooKeeperServer which comes into play when peer is partitioned from the
majority. Handles read-only clients, but drops connections from not-read-only
ones.
The very first processor in the chain of request processors is a ReadOnlyRequestProcessor which drops state-changing requests.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.zookeeper.server.ZooKeeperServer
ZooKeeperServer.MissingSessionException, ZooKeeperServer.State
-
Field Summary
FieldsFields inherited from class org.apache.zookeeper.server.ZooKeeperServer
ALLOW_SASL_FAILED_CLIENTS, CLOSE_SESSION_TXN_ENABLED, DEFAULT_STARTING_BUFFER_SIZE, DEFAULT_THROTTLED_OP_WAIT_TIME, DEFAULT_TICK_TIME, ENABLE_EAGER_ACL_CHECK, ENFORCE_QUOTA, enforceQuota, firstProcessor, GET_CHILDREN_RESPONSE_CACHE_SIZE, GET_DATA_RESPONSE_CACHE_SIZE, GLOBAL_OUTSTANDING_LIMIT, initialConfig, INT_BUFFER_STARTING_SIZE_BYTES, intBufferStartingSizeBytes, jmxDataTreeBean, jmxServerBean, jvmPauseMonitor, listenBacklog, LOG, maxSessionTimeout, minSessionTimeout, ok, reconfigEnabled, SASL_SUPER_USER, secureServerCnxnFactory, serverCnxnFactory, sessionTracker, SKIP_ACL, SNAP_COUNT, state, throttledOpWaitTime, tickTime, ZOOKEEPER_DIGEST_ENABLED
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
dumpConf
(PrintWriter pwriter) long
Returns the id of the associated QuorumPeer, which will do for a unique id of this server.getState()
protected void
void
registerJMX
(ZooKeeperServerBean serverBean, LocalPeerBean localPeerBean) protected void
If the underlying Zookeeper server support local session, this method will set a isLocalSession to true if a request is associated with a local session.protected void
setState
(ZooKeeperServer.State state) Sets the state of ZooKeeper server.protected void
void
shutdown()
protected void
void
startup()
protected void
protected void
protected void
validateSession
(ServerCnxn cnxn, long sessionId) Validate if a particular session can be reestablished.Methods inherited from class org.apache.zookeeper.server.ZooKeeperServer
authWriteRequest, canShutdown, checkACL, checkPasswd, checkQuota, checkRequestSizeWhenReceivingMessage, closeSession, closeSession, connThrottle, decInProcess, dumpEphemerals, dumpMonitorValues, enqueueRequest, expire, expire, finishSessionInit, getClientPort, getClientPortListenBacklog, getConf, getConnectionDropChance, getDataDirSize, getEphemerals, getGetChildrenResponseCache, getGlobalOutstandingLimit, getInflight, getInitialConfig, getInProcess, getLargeRequestBytes, getLargeRequestMaxBytes, getLargeRequestThreshold, getLastProcessedZxid, getLogDirSize, getMaxClientCnxnsPerHost, getMaxSessionTimeout, getMinSessionTimeout, getNumAliveConnections, getOutstandingHandshakeNum, getOutstandingRequests, getReadResponseCache, getRequestPathMetricsCollector, getSecureClientPort, getSecureServerCnxnFactory, getServerCnxnFactory, getSessionExpiryMap, getSessionTracker, getSnapCount, getSnapSizeInBytes, getThrottledOpWaitTime, getTickTime, getTxnLogElapsedSyncTime, getTxnLogFactory, getZKDatabase, getZkShutdownHandler, getZooKeeperServerListener, getZxid, incInProcess, isCloseSessionTxnEnabled, isDigestEnabled, isReconfigEnabled, isResponseCachingEnabled, isRunning, killSession, loadData, processConnectRequest, processPacket, processTxn, processTxn, registerMetrics, reopenSession, requestFinished, revalidateSession, serverStats, setClientPortListenBacklog, setCloseSessionTxnEnabled, setCreateSessionTrackerServerId, setDigestEnabled, setLargeRequestMaxBytes, setLargeRequestThreshold, setMaxSessionTimeout, setMinSessionTimeout, setOwner, setResponseCachingEnabled, setSecureServerCnxnFactory, setServerCnxnFactory, setThrottledOpWaitTime, setTickTime, setTxnLogFactory, setZKDatabase, setZxid, shouldForceWriteInitialSnapshotAfterLeaderElection, shouldThrottle, shutdown, startdata, startJvmPauseMonitor, startRequestThrottler, startServing, startupWithoutServing, submitRequest, submitRequestNow, takeSnapshot, takeSnapshot, truncateLog, unregisterMetrics
-
Field Details
-
self
-
-
Method Details
-
setupRequestProcessors
protected void setupRequestProcessors()- Overrides:
setupRequestProcessors
in classZooKeeperServer
-
startup
public void startup()- Overrides:
startup
in classZooKeeperServer
-
createSessionTracker
public void createSessionTracker()- Overrides:
createSessionTracker
in classZooKeeperServer
-
startSessionTracker
protected void startSessionTracker()- Overrides:
startSessionTracker
in classZooKeeperServer
-
setLocalSessionFlag
Description copied from class:ZooKeeperServer
If the underlying Zookeeper server support local session, this method will set a isLocalSession to true if a request is associated with a local session.- Overrides:
setLocalSessionFlag
in classZooKeeperServer
-
validateSession
Description copied from class:ZooKeeperServer
Validate if a particular session can be reestablished.- Overrides:
validateSession
in classZooKeeperServer
- Throws:
IOException
-
registerJMX
protected void registerJMX()- Overrides:
registerJMX
in classZooKeeperServer
-
registerJMX
-
unregisterJMX
protected void unregisterJMX()- Overrides:
unregisterJMX
in classZooKeeperServer
-
unregisterJMX
-
getState
- Specified by:
getState
in interfaceServerStats.Provider
- Overrides:
getState
in classZooKeeperServer
-
getServerId
public long getServerId()Returns the id of the associated QuorumPeer, which will do for a unique id of this server.- Specified by:
getServerId
in interfaceSessionTracker.SessionExpirer
- Overrides:
getServerId
in classZooKeeperServer
-
shutdown
public void shutdown()- Overrides:
shutdown
in classZooKeeperServer
-
dumpConf
- Overrides:
dumpConf
in classZooKeeperServer
-
setState
Description copied from class:ZooKeeperServer
Sets the state of ZooKeeper server. After changing the state, it notifies the server state change to a registered shutdown handler, if any.The following are the server state transitions:
- During startup the server will be in the INITIAL state.
- After successfully starting, the server sets the state to RUNNING.
- The server transitions to the ERROR state if it hits an internal
error.
ZooKeeperServerListenerImpl
notifies any critical resource error events, e.g., SyncRequestProcessor not being able to write a txn to disk. - During shutdown the server sets the state to SHUTDOWN, which corresponds to the server not running.
- Overrides:
setState
in classZooKeeperServer
- Parameters:
state
- new server state.
-