Class QuorumZooKeeperServer
- java.lang.Object
-
- org.apache.zookeeper.server.ZooKeeperServer
-
- org.apache.zookeeper.server.quorum.QuorumZooKeeperServer
-
- All Implemented Interfaces:
ServerStats.Provider
,SessionTracker.SessionExpirer
- Direct Known Subclasses:
LeaderZooKeeperServer
,LearnerZooKeeperServer
public abstract class QuorumZooKeeperServer extends ZooKeeperServer
Abstract base class for all ZooKeeperServers that participate in a quorum.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.zookeeper.server.ZooKeeperServer
ZooKeeperServer.MissingSessionException, ZooKeeperServer.State
-
-
Field Summary
Fields Modifier and Type Field Description QuorumPeer
self
protected UpgradeableSessionTracker
upgradeableSessionTracker
-
Fields 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, ZOOKEEPER_SERIALIZE_LAST_PROCESSED_ZXID_ENABLED
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
QuorumZooKeeperServer(FileTxnSnapLog logFactory, int tickTime, int minSessionTimeout, int maxSessionTimeout, int listenBacklog, ZKDatabase zkDb, QuorumPeer self)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Request
checkUpgradeSession(Request request)
void
dumpConf(PrintWriter pwriter)
void
dumpMonitorValues(BiConsumer<String,Object> response)
Hook into admin server, useful to expose additional data that do not represent metrics.protected void
registerMetrics()
protected void
setLocalSessionFlag(Request si)
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
startSessionTracker()
protected void
unregisterMetrics()
void
upgrade(long sessionId)
Implements the SessionUpgrader interface,-
Methods inherited from class org.apache.zookeeper.server.ZooKeeperServer
authWriteRequest, canShutdown, checkACL, checkPasswd, checkQuota, checkRequestSizeWhenReceivingMessage, closeSession, closeSession, connThrottle, createRequestThrottler, createSessionTracker, decInProcess, dumpEphemerals, 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, getServerId, getSessionExpiryMap, getSessionTracker, getSnapCount, getSnapSizeInBytes, getState, getThrottledOpWaitTime, getTickTime, getTxnLogElapsedSyncTime, getTxnLogFactory, getZKDatabase, getZkShutdownHandler, getZooKeeperServerListener, getZxid, incInProcess, isCloseSessionTxnEnabled, isDigestEnabled, isEnableEagerACLCheck, isReconfigEnabled, isResponseCachingEnabled, isRunning, isSerializeLastProcessedZxidEnabled, killSession, loadData, processConnectRequest, processPacket, processTxn, processTxn, registerJMX, reopenSession, requestFinished, restoreFromSnapshot, revalidateSession, serverStats, setClientPortListenBacklog, setCloseSessionTxnEnabled, setCreateSessionTrackerServerId, setDigestEnabled, setEnableEagerACLCheck, setLargeRequestMaxBytes, setLargeRequestThreshold, setMaxSessionTimeout, setMinSessionTimeout, setOwner, setResponseCachingEnabled, setSecureServerCnxnFactory, setSerializeLastProcessedZxidEnabled, setServerCnxnFactory, setThrottledOpWaitTime, setTickTime, setTxnLogFactory, setupRequestProcessors, setZKDatabase, setZxid, shouldForceWriteInitialSnapshotAfterLeaderElection, shouldThrottle, shutdown, shutdown, startdata, startJvmPauseMonitor, startRequestThrottler, startServing, startup, startupWithoutServing, submitRequest, submitRequestNow, takeSnapshot, takeSnapshot, takeSnapshot, truncateLog, unregisterJMX, validateSession
-
-
-
-
Field Detail
-
self
public final QuorumPeer self
-
upgradeableSessionTracker
protected UpgradeableSessionTracker upgradeableSessionTracker
-
-
Constructor Detail
-
QuorumZooKeeperServer
protected QuorumZooKeeperServer(FileTxnSnapLog logFactory, int tickTime, int minSessionTimeout, int maxSessionTimeout, int listenBacklog, ZKDatabase zkDb, QuorumPeer self)
-
-
Method Detail
-
startSessionTracker
protected void startSessionTracker()
- Overrides:
startSessionTracker
in classZooKeeperServer
-
checkUpgradeSession
public Request checkUpgradeSession(Request request) throws IOException, KeeperException
- Throws:
IOException
KeeperException
-
upgrade
public void upgrade(long sessionId)
Implements the SessionUpgrader interface,- Parameters:
sessionId
-
-
setLocalSessionFlag
protected void setLocalSessionFlag(Request si)
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
-
dumpConf
public void dumpConf(PrintWriter pwriter)
- Overrides:
dumpConf
in classZooKeeperServer
-
setState
protected void setState(ZooKeeperServer.State state)
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.
- During maintenance (e.g. restore) the server sets the state to MAINTENANCE
- Overrides:
setState
in classZooKeeperServer
- Parameters:
state
- new server state.
-
registerMetrics
protected void registerMetrics()
- Overrides:
registerMetrics
in classZooKeeperServer
-
unregisterMetrics
protected void unregisterMetrics()
- Overrides:
unregisterMetrics
in classZooKeeperServer
-
dumpMonitorValues
public void dumpMonitorValues(BiConsumer<String,Object> response)
Description copied from class:ZooKeeperServer
Hook into admin server, useful to expose additional data that do not represent metrics.- Overrides:
dumpMonitorValues
in classZooKeeperServer
- Parameters:
response
- a sink which collects the data.
-
-