Class LeaderZooKeeperServer
java.lang.Object
org.apache.zookeeper.server.ZooKeeperServer
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer
org.apache.zookeeper.server.quorum.LeaderZooKeeperServer
- All Implemented Interfaces:
ServerStats.Provider
,SessionTracker.SessionExpirer
Just like the standard ZooKeeperServer. We just replace the request
processors: PrepRequestProcessor -> ProposalRequestProcessor ->
CommitProcessor -> Leader.ToBeAppliedRequestProcessor ->
FinalRequestProcessor
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.zookeeper.server.ZooKeeperServer
ZooKeeperServer.MissingSessionException, ZooKeeperServer.State
-
Field Summary
Fields inherited from class org.apache.zookeeper.server.quorum.QuorumZooKeeperServer
self, 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
-
Constructor Summary
ConstructorsConstructorDescriptionLeaderZooKeeperServer
(FileTxnSnapLog logFactory, QuorumPeer self, ZKDatabase zkDb) -
Method Summary
Modifier and TypeMethodDescriptionboolean
checkIfValidGlobalSession
(long sess, int to) void
int
long
Returns the id of the associated QuorumPeer, which will do for a unique id of this server.getState()
protected void
void
registerJMX
(LeaderBean leaderBean, LocalPeerBean localPeerBean) protected void
protected void
revalidateSession
(ServerCnxn cnxn, long sessionId, int sessionTimeout) protected void
void
shutdown()
void
startup()
void
submitLearnerRequest
(Request request) Requests coming from the learner should go directly to PrepRequestProcessorboolean
touch
(long sess, int to) protected void
protected void
unregisterJMX
(Leader leader) protected void
Methods inherited from class org.apache.zookeeper.server.quorum.QuorumZooKeeperServer
checkUpgradeSession, dumpConf, dumpMonitorValues, setLocalSessionFlag, setState, startSessionTracker, upgrade
Methods inherited from class org.apache.zookeeper.server.ZooKeeperServer
authWriteRequest, canShutdown, checkACL, checkPasswd, checkQuota, checkRequestSizeWhenReceivingMessage, closeSession, closeSession, connThrottle, decInProcess, dumpEphemerals, enqueueRequest, expire, expire, finishSessionInit, getClientPort, getClientPortListenBacklog, getConf, getConnectionDropChance, getDataDirSize, getEphemerals, getGetChildrenResponseCache, 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, reopenSession, requestFinished, 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, validateSession
-
Constructor Details
-
LeaderZooKeeperServer
public LeaderZooKeeperServer(FileTxnSnapLog logFactory, QuorumPeer self, ZKDatabase zkDb) throws IOException - Throws:
IOException
-
-
Method Details
-
getLeader
-
setupRequestProcessors
protected void setupRequestProcessors()- Overrides:
setupRequestProcessors
in classZooKeeperServer
-
startup
public void startup()- Overrides:
startup
in classZooKeeperServer
-
registerMetrics
protected void registerMetrics()- Overrides:
registerMetrics
in classQuorumZooKeeperServer
-
unregisterMetrics
protected void unregisterMetrics()- Overrides:
unregisterMetrics
in classQuorumZooKeeperServer
-
shutdown
public void shutdown()- Overrides:
shutdown
in classZooKeeperServer
-
getGlobalOutstandingLimit
public int getGlobalOutstandingLimit()- Overrides:
getGlobalOutstandingLimit
in classZooKeeperServer
-
createSessionTracker
public void createSessionTracker()- Overrides:
createSessionTracker
in classZooKeeperServer
-
touch
public boolean touch(long sess, int to) -
checkIfValidGlobalSession
public boolean checkIfValidGlobalSession(long sess, int to) -
submitLearnerRequest
Requests coming from the learner should go directly to PrepRequestProcessor- Parameters:
request
-
-
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
-
revalidateSession
protected void revalidateSession(ServerCnxn cnxn, long sessionId, int sessionTimeout) throws IOException - Overrides:
revalidateSession
in classZooKeeperServer
- Throws:
IOException
-