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
public class LeaderZooKeeperServer extends QuorumZooKeeperServer
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, ZOOKEEPER_SERIALIZE_LAST_PROCESSED_ZXID_ENABLED
-
-
Constructor Summary
Constructors Constructor Description LeaderZooKeeperServer(FileTxnSnapLog logFactory, QuorumPeer self, ZKDatabase zkDb)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckIfValidGlobalSession(long sess, int to)voidcreateSessionTracker()intgetGlobalOutstandingLimit()LeadergetLeader()longgetServerId()Returns the id of the associated QuorumPeer, which will do for a unique id of this server.StringgetState()protected voidregisterJMX()voidregisterJMX(LeaderBean leaderBean, LocalPeerBean localPeerBean)protected voidregisterMetrics()protected voidrevalidateSession(ServerCnxn cnxn, long sessionId, int sessionTimeout)protected voidsetupRequestProcessors()protected voidshutdownComponents()voidstartup()voidsubmitLearnerRequest(Request request)Requests coming from the learner should go directly to PrepRequestProcessorbooleantouch(long sess, int to)protected voidunregisterJMX()protected voidunregisterJMX(Leader leader)protected voidunregisterMetrics()-
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, checkACL, checkPasswd, checkQuota, checkRequestSizeWhenReceivingMessage, closeSession, closeSession, connThrottle, createRequestThrottler, 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, isEnableEagerACLCheck, isReconfigEnabled, isResponseCachingEnabled, isRunning, isSerializeLastProcessedZxidEnabled, killSession, loadData, processConnectRequest, processPacket, processTxn, processTxn, reopenSession, requestFinished, restoreFromSnapshot, serverStats, setClientPortListenBacklog, setCloseSessionTxnEnabled, setCreateSessionTrackerServerId, setDigestEnabled, setEnableEagerACLCheck, setLargeRequestMaxBytes, setLargeRequestThreshold, setMaxSessionTimeout, setMinSessionTimeout, setOwner, setResponseCachingEnabled, setSecureServerCnxnFactory, setSerializeLastProcessedZxidEnabled, setServerCnxnFactory, setThrottledOpWaitTime, setTickTime, setTxnLogFactory, setZKDatabase, setZxid, shouldForceWriteInitialSnapshotAfterLeaderElection, shouldThrottle, shutdown, shutdown, startdata, startJvmPauseMonitor, startRequestThrottler, submitRequest, submitRequestNow, takeSnapshot, takeSnapshot, takeSnapshot, truncateLog, validateSession
-
-
-
-
Constructor Detail
-
LeaderZooKeeperServer
public LeaderZooKeeperServer(FileTxnSnapLog logFactory, QuorumPeer self, ZKDatabase zkDb) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getLeader
public Leader getLeader()
-
setupRequestProcessors
protected void setupRequestProcessors()
- Overrides:
setupRequestProcessorsin classZooKeeperServer
-
startup
public void startup()
- Overrides:
startupin classZooKeeperServer
-
registerMetrics
protected void registerMetrics()
- Overrides:
registerMetricsin classQuorumZooKeeperServer
-
unregisterMetrics
protected void unregisterMetrics()
- Overrides:
unregisterMetricsin classQuorumZooKeeperServer
-
shutdownComponents
protected void shutdownComponents()
- Overrides:
shutdownComponentsin classZooKeeperServer
-
getGlobalOutstandingLimit
public int getGlobalOutstandingLimit()
- Overrides:
getGlobalOutstandingLimitin classZooKeeperServer
-
createSessionTracker
public void createSessionTracker()
- Overrides:
createSessionTrackerin classZooKeeperServer
-
touch
public boolean touch(long sess, int to)
-
checkIfValidGlobalSession
public boolean checkIfValidGlobalSession(long sess, int to)
-
submitLearnerRequest
public void submitLearnerRequest(Request request)
Requests coming from the learner should go directly to PrepRequestProcessor- Parameters:
request-
-
registerJMX
protected void registerJMX()
- Overrides:
registerJMXin classZooKeeperServer
-
registerJMX
public void registerJMX(LeaderBean leaderBean, LocalPeerBean localPeerBean)
-
unregisterJMX
protected void unregisterJMX()
- Overrides:
unregisterJMXin classZooKeeperServer
-
unregisterJMX
protected void unregisterJMX(Leader leader)
-
getState
public String getState()
- Specified by:
getStatein interfaceServerStats.Provider- Overrides:
getStatein classZooKeeperServer
-
getServerId
public long getServerId()
Returns the id of the associated QuorumPeer, which will do for a unique id of this server.- Specified by:
getServerIdin interfaceSessionTracker.SessionExpirer- Overrides:
getServerIdin classZooKeeperServer
-
revalidateSession
protected void revalidateSession(ServerCnxn cnxn, long sessionId, int sessionTimeout) throws IOException
- Overrides:
revalidateSessionin classZooKeeperServer- Throws:
IOException
-
-