public class ObserverMaster extends LearnerMaster implements Runnable
| Modifier and Type | Method and Description |
|---|---|
void |
addLearnerHandler(LearnerHandler learnerHandler)
start tracking a learner handler
|
Iterable<Map<String,Object>> |
getActiveObservers() |
long |
getAndDecrementFollowerCounter()
decrement follower count
|
int |
getCurrentTick()
the current tick
|
long |
getEpochToPropose(long sid,
long lastAcceptedEpoch)
get the first zxid of the next epoch
|
long |
getLastProposed()
last proposed zxid
|
String |
getPeerInfo(long sid) |
QuorumAuthServer |
getQuorumAuthServer() |
byte[] |
getQuorumVerifierBytes()
identifier of current quorum verifier for new leader
|
long |
getQuorumVerifierVersion()
version of current quorum verifier
|
int |
getTickOfInitialAckDeadline()
next deadline tick marking observer sync (steady state)
|
int |
getTickOfNextAckDeadline()
deadline tick marking observer sync (initial)
|
ZKDatabase |
getZKDatabase()
ZKDatabase
|
void |
processAck(long sid,
long zxid,
SocketAddress localSocketAddress)
handle ack packet
|
void |
registerLearnerHandlerBean(LearnerHandler learnerHandler,
Socket socket)
registers the handler's bean
|
void |
removeLearnerHandler(LearnerHandler learnerHandler)
stop tracking a learner handler
|
void |
resetObserverConnectionStats() |
void |
revalidateSession(QuorumPacket qp,
LearnerHandler learnerHandler)
handle revalidate packet
|
void |
run() |
void |
start() |
long |
startForwarding(LearnerHandler learnerHandler,
long lastSeenZxid)
begin forwarding packets to learner handler
|
void |
stop() |
void |
submitLearnerRequest(Request si)
proxy request from learner to server
|
int |
syncTimeout()
time allowed for sync response
|
void |
touch(long sess,
int to)
mark session as alive
|
void |
unregisterLearnerHandlerBean(LearnerHandler learnerHandler)
unregisters the handler's bean
|
void |
waitForEpochAck(long sid,
StateSummary ss)
wait for the leader of the new epoch to be confirmed by followers
|
void |
waitForNewLeaderAck(long sid,
long zxid)
wait for new leader to settle
|
void |
waitForStartup()
wait for server to start
|
getLearnerDiffSyncThrottler, getLearnerSnapSyncThrottler, getMaxConcurrentDiffSyncs, getMaxConcurrentSnapSyncs, setMaxConcurrentDiffSyncs, setMaxConcurrentSnapSyncspublic void addLearnerHandler(LearnerHandler learnerHandler)
LearnerMasterlearnerHandler - to trackpublic void removeLearnerHandler(LearnerHandler learnerHandler)
LearnerMasterlearnerHandler - to droppublic int syncTimeout()
LearnerMasterpublic int getTickOfNextAckDeadline()
LearnerMasterpublic int getTickOfInitialAckDeadline()
LearnerMasterpublic long getAndDecrementFollowerCounter()
LearnerMasterpublic void waitForEpochAck(long sid,
StateSummary ss)
throws IOException,
InterruptedException
LearnerMastersid - learner idIOExceptionInterruptedExceptionpublic void waitForStartup()
throws InterruptedException
LearnerMasterInterruptedExceptionpublic long getLastProposed()
LearnerMasterpublic long getEpochToPropose(long sid,
long lastAcceptedEpoch)
throws InterruptedException,
IOException
LearnerMastersid - learner idInterruptedExceptionIOExceptionpublic ZKDatabase getZKDatabase()
LearnerMasterpublic void waitForNewLeaderAck(long sid,
long zxid)
throws InterruptedException
LearnerMastersid - id of learnerzxid - zxid at learnerInterruptedExceptionpublic int getCurrentTick()
LearnerMasterpublic void processAck(long sid,
long zxid,
SocketAddress localSocketAddress)
LearnerMastersid - leader idzxid - packet zxidlocalSocketAddress - forwarder's addresspublic void touch(long sess,
int to)
LearnerMastersess - session idto - timeoutpublic void revalidateSession(QuorumPacket qp, LearnerHandler learnerHandler) throws IOException
LearnerMasterqp - session packetlearnerHandler - learnerIOExceptionpublic void submitLearnerRequest(Request si)
LearnerMastersi - requestpublic long startForwarding(LearnerHandler learnerHandler, long lastSeenZxid)
LearnerMasterlearnerHandler - learnerlastSeenZxid - zxid of learnerpublic long getQuorumVerifierVersion()
LearnerMasterpublic String getPeerInfo(long sid)
sid - server idpublic byte[] getQuorumVerifierBytes()
LearnerMasterpublic QuorumAuthServer getQuorumAuthServer()
public void start()
throws IOException
IOExceptionpublic void stop()
public void resetObserverConnectionStats()
public void registerLearnerHandlerBean(LearnerHandler learnerHandler, Socket socket)
LearnerMasterlearnerHandler - handlersocket - connection to learnerpublic void unregisterLearnerHandlerBean(LearnerHandler learnerHandler)
LearnerMasterlearnerHandler - handlerCopyright © 2008–2021 The Apache Software Foundation. All rights reserved.