summaryrefslogtreecommitdiff
path: root/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum
diff options
context:
space:
mode:
Diffstat (limited to '_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum')
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/BufferStats.html398
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/CommitProcessor.html770
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Election.html245
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html207
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html287
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html206
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.html571
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Follower.html395
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerBean.html515
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerMXBean.html396
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html420
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html493
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.Proposal.html364
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html268
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.html1429
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderBean.html555
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionBean.html329
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html232
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderMXBean.html429
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html321
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderSessionTracker.html634
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html651
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Learner.html745
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandler.html784
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerBean.html350
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html232
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerMaster.html357
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSender.html373
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSessionTracker.html611
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncRequest.html276
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html347
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html372
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html568
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerBean.html722
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerMXBean.html569
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalSessionTracker.html433
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/MultipleAddresses.html644
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Observer.html454
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMXBean.html298
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMaster.html871
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html404
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html469
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/PrependableSocket.html331
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html377
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumBean.html518
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html228
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html337
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html342
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html203
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.html698
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumMXBean.html410
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html309
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html347
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html585
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html371
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html373
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html373
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.html3046
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html282
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.html1711
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerMain.html436
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.Provider.html352
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.html324
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html560
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyBean.html313
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html390
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html599
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerBean.html423
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerMXBean.html317
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html300
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerBean.html328
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerMXBean.html253
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/StateSummary.html337
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncThrottleException.html271
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html292
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html384
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html1279
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.html453
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html570
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Vote.html467
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html293
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html293
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html359
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.html505
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html241
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html241
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html303
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html303
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html298
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html189
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html201
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html218
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-frame.html35
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-summary.html211
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-tree.html161
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-use.html195
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/BufferStats.html190
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html166
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Election.html191
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Follower.html208
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerBean.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html168
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html165
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html317
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html168
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.html242
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderBean.html167
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html168
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html168
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html173
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Learner.html221
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html308
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html166
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html174
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSender.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html174
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html195
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html174
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html174
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html177
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html168
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html166
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html248
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Observer.html219
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html170
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html168
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumBean.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html167
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html167
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html166
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html199
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html190
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html166
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html240
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html409
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html219
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html192
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html192
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html281
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html420
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html281
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html179
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html186
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html169
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerBean.html168
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html189
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/StateSummary.html176
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html168
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html166
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html224
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html188
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Vote.html228
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html513
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html517
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html469
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html439
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html166
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html126
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html385
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-frame.html27
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-summary.html175
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-tree.html148
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-use.html216
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-frame.html107
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-summary.html612
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-tree.html304
-rw-r--r--_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-use.html558
198 files changed, 63298 insertions, 0 deletions
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/BufferStats.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/BufferStats.html
new file mode 100644
index 000000000..7959d3a2e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/BufferStats.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BufferStats (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BufferStats (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BufferStats.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/BufferStats.html" target="_top">Frames</a></li>
+<li><a href="BufferStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class BufferStats" class="title">Class BufferStats</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.BufferStats</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">BufferStats</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Provides live statistics about Jute buffer usage in term of proposal and client request size.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html#INIT_VALUE">INIT_VALUE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html#BufferStats--">BufferStats</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html#getLastBufferSize--">getLastBufferSize</a></span>()</code>
+<div class="block">Size of the last buffer usage.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html#getMaxBufferSize--">getMaxBufferSize</a></span>()</code>
+<div class="block">Size of the largest buffer usage.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html#getMinBufferSize--">getMinBufferSize</a></span>()</code>
+<div class="block">Size of the smallest buffer usage.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html#reset--">reset</a></span>()</code>
+<div class="block">Reset statistics.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html#setLastBufferSize-int-">setLastBufferSize</a></span>(int&nbsp;value)</code>
+<div class="block">Updates statistics by setting the last buffer usage size.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="INIT_VALUE">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>INIT_VALUE</h4>
+<pre>public static final&nbsp;int INIT_VALUE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.BufferStats.INIT_VALUE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="BufferStats--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BufferStats</h4>
+<pre>public&nbsp;BufferStats()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getLastBufferSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastBufferSize</h4>
+<pre>public&nbsp;int&nbsp;getLastBufferSize()</pre>
+<div class="block">Size of the last buffer usage.</div>
+</li>
+</ul>
+<a name="setLastBufferSize-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLastBufferSize</h4>
+<pre>public&nbsp;void&nbsp;setLastBufferSize(int&nbsp;value)</pre>
+<div class="block">Updates statistics by setting the last buffer usage size.</div>
+</li>
+</ul>
+<a name="getMinBufferSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMinBufferSize</h4>
+<pre>public&nbsp;int&nbsp;getMinBufferSize()</pre>
+<div class="block">Size of the smallest buffer usage.</div>
+</li>
+</ul>
+<a name="getMaxBufferSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxBufferSize</h4>
+<pre>public&nbsp;int&nbsp;getMaxBufferSize()</pre>
+<div class="block">Size of the largest buffer usage.</div>
+</li>
+</ul>
+<a name="reset--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reset</h4>
+<pre>public&nbsp;void&nbsp;reset()</pre>
+<div class="block">Reset statistics.</div>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BufferStats.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/BufferStats.html" target="_top">Frames</a></li>
+<li><a href="BufferStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/CommitProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/CommitProcessor.html
new file mode 100644
index 000000000..85ea34fc1
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/CommitProcessor.html
@@ -0,0 +1,770 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CommitProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="CommitProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10,"i5":10,"i6":10,"i7":9,"i8":9,"i9":10,"i10":10,"i11":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CommitProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/CommitProcessor.html" target="_top">Frames</a></li>
+<li><a href="CommitProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class CommitProcessor" class="title">Class CommitProcessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperCriticalThread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.CommitProcessor</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CommitProcessor</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a>
+implements <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></pre>
+<div class="block">This RequestProcessor matches the incoming committed requests with the
+ locally submitted requests. The trick is that locally submitted requests that
+ change the state of the system will come back as incoming committed requests,
+ so we need to match them up. Instead of just waiting for the committed requests,
+ we process the uncommitted requests that belong to other sessions.
+
+ The CommitProcessor is multi-threaded. Communication between threads is
+ handled via queues, atomics, and wait/notifyAll synchronized on the
+ processor. The CommitProcessor acts as a gateway for allowing requests to
+ continue with the remainder of the processing pipeline. It will allow many
+ read requests but only a single write request to be in flight simultaneously,
+ thus ensuring that write requests are processed in transaction id order.
+
+ - 1 commit processor main thread, which watches the request queues and
+ assigns requests to worker threads based on their sessionId so that
+ read and write requests for a particular session are always assigned
+ to the same thread (and hence are guaranteed to run in order).
+ - 0-N worker threads, which run the rest of the request processor pipeline
+ on the requests. If configured with 0 worker threads, the primary
+ commit processor thread runs the pipeline directly.
+
+ Typical (default) thread counts are: on a 32 core machine, 1 commit
+ processor thread and 32 worker threads.
+
+ Multi-threading constraints:
+ - Each session's requests must be processed in order.
+ - Write requests must be processed in zxid order
+ - Must ensure no race condition between writes in one session that would
+ trigger a watch being set by a read request in another session
+
+ The current implementation solves the third constraint by simply allowing no
+ read requests to be processed in parallel with write requests.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.RequestProcessor">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#committedRequests">committedRequests</a></span></code>
+<div class="block">Requests that have been committed.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#numRequestsProcessing">numRequestsProcessing</a></span></code>
+<div class="block">The number of requests currently being processed</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#pendingRequests">pendingRequests</a></span></code>
+<div class="block">Requests that we are holding until commit comes in.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#queuedRequests">queuedRequests</a></span></code>
+<div class="block">Incoming requests.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#queuedWriteRequests">queuedWriteRequests</a></span></code>
+<div class="block">Incoming requests that are waiting on a commit,
+ contained in order of arrival</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#stopped">stopped</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#stoppedMainLoop">stoppedMainLoop</a></span></code>
+<div class="block">For testing purposes, we use a separated stopping condition for the
+ outer loop.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/WorkerService.html" title="class in org.apache.zookeeper.server">WorkerService</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#workerPool">workerPool</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#ZOOKEEPER_COMMIT_PROC_MAX_COMMIT_BATCH_SIZE">ZOOKEEPER_COMMIT_PROC_MAX_COMMIT_BATCH_SIZE</a></span></code>
+<div class="block">Default max commit batch size: 1</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#ZOOKEEPER_COMMIT_PROC_MAX_READ_BATCH_SIZE">ZOOKEEPER_COMMIT_PROC_MAX_READ_BATCH_SIZE</a></span></code>
+<div class="block">Default max read batch size: -1 to disable the feature</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#ZOOKEEPER_COMMIT_PROC_NUM_WORKER_THREADS">ZOOKEEPER_COMMIT_PROC_NUM_WORKER_THREADS</a></span></code>
+<div class="block">Default: numCores</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#ZOOKEEPER_COMMIT_PROC_SHUTDOWN_TIMEOUT">ZOOKEEPER_COMMIT_PROC_SHUTDOWN_TIMEOUT</a></span></code>
+<div class="block">Default worker pool shutdown timeout in ms: 5000 (5s)</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#CommitProcessor-org.apache.zookeeper.server.RequestProcessor-java.lang.String-boolean-org.apache.zookeeper.server.ZooKeeperServerListener-">CommitProcessor</a></span>(<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+ boolean&nbsp;matchSyncs,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#commit-org.apache.zookeeper.server.Request-">commit</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#endOfIteration--">endOfIteration</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#getMaxCommitBatchSize--">getMaxCommitBatchSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#getMaxReadBatchSize--">getMaxReadBatchSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#needCommit-org.apache.zookeeper.server.Request-">needCommit</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#setMaxCommitBatchSize-int-">setMaxCommitBatchSize</a></span>(int&nbsp;size)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#setMaxReadBatchSize-int-">setMaxReadBatchSize</a></span>(int&nbsp;size)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#start--">start</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html#waitForEmptyPool--">waitForEmptyPool</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperCriticalThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="ZOOKEEPER_COMMIT_PROC_NUM_WORKER_THREADS">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ZOOKEEPER_COMMIT_PROC_NUM_WORKER_THREADS</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ZOOKEEPER_COMMIT_PROC_NUM_WORKER_THREADS</pre>
+<div class="block">Default: numCores</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.CommitProcessor.ZOOKEEPER_COMMIT_PROC_NUM_WORKER_THREADS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ZOOKEEPER_COMMIT_PROC_SHUTDOWN_TIMEOUT">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ZOOKEEPER_COMMIT_PROC_SHUTDOWN_TIMEOUT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ZOOKEEPER_COMMIT_PROC_SHUTDOWN_TIMEOUT</pre>
+<div class="block">Default worker pool shutdown timeout in ms: 5000 (5s)</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.CommitProcessor.ZOOKEEPER_COMMIT_PROC_SHUTDOWN_TIMEOUT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ZOOKEEPER_COMMIT_PROC_MAX_READ_BATCH_SIZE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ZOOKEEPER_COMMIT_PROC_MAX_READ_BATCH_SIZE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ZOOKEEPER_COMMIT_PROC_MAX_READ_BATCH_SIZE</pre>
+<div class="block">Default max read batch size: -1 to disable the feature</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.CommitProcessor.ZOOKEEPER_COMMIT_PROC_MAX_READ_BATCH_SIZE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ZOOKEEPER_COMMIT_PROC_MAX_COMMIT_BATCH_SIZE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ZOOKEEPER_COMMIT_PROC_MAX_COMMIT_BATCH_SIZE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ZOOKEEPER_COMMIT_PROC_MAX_COMMIT_BATCH_SIZE</pre>
+<div class="block">Default max commit batch size: 1</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.CommitProcessor.ZOOKEEPER_COMMIT_PROC_MAX_COMMIT_BATCH_SIZE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="queuedRequests">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>queuedRequests</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&gt; queuedRequests</pre>
+<div class="block">Incoming requests.</div>
+</li>
+</ul>
+<a name="queuedWriteRequests">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>queuedWriteRequests</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&gt; queuedWriteRequests</pre>
+<div class="block">Incoming requests that are waiting on a commit,
+ contained in order of arrival</div>
+</li>
+</ul>
+<a name="committedRequests">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>committedRequests</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&gt; committedRequests</pre>
+<div class="block">Requests that have been committed.</div>
+</li>
+</ul>
+<a name="pendingRequests">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pendingRequests</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&gt;&gt; pendingRequests</pre>
+<div class="block">Requests that we are holding until commit comes in. Keys represent
+ session ids, each value is a linked list of the session's requests.</div>
+</li>
+</ul>
+<a name="numRequestsProcessing">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>numRequestsProcessing</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> numRequestsProcessing</pre>
+<div class="block">The number of requests currently being processed</div>
+</li>
+</ul>
+<a name="stoppedMainLoop">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stoppedMainLoop</h4>
+<pre>protected volatile&nbsp;boolean stoppedMainLoop</pre>
+<div class="block">For testing purposes, we use a separated stopping condition for the
+ outer loop.</div>
+</li>
+</ul>
+<a name="stopped">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stopped</h4>
+<pre>protected volatile&nbsp;boolean stopped</pre>
+</li>
+</ul>
+<a name="workerPool">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>workerPool</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/WorkerService.html" title="class in org.apache.zookeeper.server">WorkerService</a> workerPool</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CommitProcessor-org.apache.zookeeper.server.RequestProcessor-java.lang.String-boolean-org.apache.zookeeper.server.ZooKeeperServerListener-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CommitProcessor</h4>
+<pre>public&nbsp;CommitProcessor(<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+ boolean&nbsp;matchSyncs,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="needCommit-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>needCommit</h4>
+<pre>protected&nbsp;boolean&nbsp;needCommit(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</pre>
+</li>
+</ul>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="endOfIteration--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>endOfIteration</h4>
+<pre>protected&nbsp;void&nbsp;endOfIteration()</pre>
+</li>
+</ul>
+<a name="waitForEmptyPool--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitForEmptyPool</h4>
+<pre>protected&nbsp;void&nbsp;waitForEmptyPool()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxReadBatchSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxReadBatchSize</h4>
+<pre>public static&nbsp;int&nbsp;getMaxReadBatchSize()</pre>
+</li>
+</ul>
+<a name="getMaxCommitBatchSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxCommitBatchSize</h4>
+<pre>public static&nbsp;int&nbsp;getMaxCommitBatchSize()</pre>
+</li>
+</ul>
+<a name="setMaxReadBatchSize-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxReadBatchSize</h4>
+<pre>public static&nbsp;void&nbsp;setMaxReadBatchSize(int&nbsp;size)</pre>
+</li>
+</ul>
+<a name="setMaxCommitBatchSize-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxCommitBatchSize</h4>
+<pre>public static&nbsp;void&nbsp;setMaxCommitBatchSize(int&nbsp;size)</pre>
+</li>
+</ul>
+<a name="commit-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commit</h4>
+<pre>public&nbsp;void&nbsp;commit(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</pre>
+</li>
+</ul>
+<a name="processRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processRequest</h4>
+<pre>public&nbsp;void&nbsp;processRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CommitProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/CommitProcessor.html" target="_top">Frames</a></li>
+<li><a href="CommitProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Election.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Election.html
new file mode 100644
index 000000000..d5c3eb7a9
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Election.html
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Election (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Election (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Election.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Election.html" target="_top">Frames</a></li>
+<li><a href="Election.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface Election" class="title">Interface Election</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Election</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html#lookForLeader--">lookForLeader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="lookForLeader--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lookForLeader</h4>
+<pre><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;lookForLeader()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>void&nbsp;shutdown()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Election.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Election.html" target="_top">Frames</a></li>
+<li><a href="Election.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html
new file mode 100644
index 000000000..714e390f0
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FastLeaderElection.Messenger (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="FastLeaderElection.Messenger (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FastLeaderElection.Messenger.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.Messenger.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class FastLeaderElection.Messenger" class="title">Class FastLeaderElection.Messenger</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.FastLeaderElection.Messenger</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection</a></dd>
+</dl>
+<hr>
+<br>
+<pre>protected class <span class="typeNameLabel">FastLeaderElection.Messenger</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Multi-threaded implementation of message handler. Messenger
+ implements two sub-classes: WorkReceiver and WorkSender. The
+ functionality of each is obvious from the name. Each of these
+ spawns a new thread.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FastLeaderElection.Messenger.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.Messenger.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html
new file mode 100644
index 000000000..27828d41a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FastLeaderElection.Notification (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="FastLeaderElection.Notification (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FastLeaderElection.Notification.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.Notification.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class FastLeaderElection.Notification" class="title">Class FastLeaderElection.Notification</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.FastLeaderElection.Notification</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">FastLeaderElection.Notification</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Notifications are messages that let other peers know that
+ a given peer has changed its vote, either because it has
+ joined leader election or because it learned of another
+ peer with higher zxid or same zxid and higher server id</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html#CURRENTVERSION">CURRENTVERSION</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html#Notification--">Notification</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="CURRENTVERSION">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CURRENTVERSION</h4>
+<pre>public static final&nbsp;int CURRENTVERSION</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.FastLeaderElection.Notification.CURRENTVERSION">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Notification--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Notification</h4>
+<pre>public&nbsp;Notification()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FastLeaderElection.Notification.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.Notification.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html
new file mode 100644
index 000000000..11c556abd
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FastLeaderElection.ToSend (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="FastLeaderElection.ToSend (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FastLeaderElection.ToSend.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.ToSend.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class FastLeaderElection.ToSend" class="title">Class FastLeaderElection.ToSend</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.FastLeaderElection.ToSend</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">FastLeaderElection.ToSend</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Messages that a peer wants to send to other peers.
+ These messages can be both Notifications and Acks
+ of reception of notification.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FastLeaderElection.ToSend.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.ToSend.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.html
new file mode 100644
index 000000000..cf3aac0ce
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FastLeaderElection.html
@@ -0,0 +1,571 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FastLeaderElection (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="FastLeaderElection (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FastLeaderElection.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FastLeaderElection.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class FastLeaderElection" class="title">Class FastLeaderElection</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.FastLeaderElection</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FastLeaderElection</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></pre>
+<div class="block">Implementation of leader election using TCP. It uses an object of the class
+ QuorumCnxManager to manage connections. Otherwise, the algorithm is push-based
+ as with the other UDP implementations.
+
+ There are a few parameters that can be tuned to change its behavior. First,
+ finalizeWait determines the amount of time to wait until deciding upon a leader.
+ This is part of the leader election algorithm.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection.Messenger</a></span></code>
+<div class="block">Multi-threaded implementation of message handler.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection.Notification</a></span></code>
+<div class="block">Notifications are messages that let other peers know that
+ a given peer has changed its vote, either because it has
+ joined leader election or because it learned of another
+ peer with higher zxid or same zxid and higher server id</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection.ToSend</a></span></code>
+<div class="block">Messages that a peer wants to send to other peers.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#MAX_NOTIFICATION_INTERVAL">MAX_NOTIFICATION_INTERVAL</a></span></code>
+<div class="block">Maximum notification interval, default is 60s</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#MIN_NOTIFICATION_INTERVAL">MIN_NOTIFICATION_INTERVAL</a></span></code>
+<div class="block">Minimum notification interval, default is equal to finalizeWait</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#FastLeaderElection-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.QuorumCnxManager-">FastLeaderElection</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a>&nbsp;manager)</code>
+<div class="block">Constructor of FastLeaderElection.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#checkLeader-java.util.Map-long-long-">checkLeader</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&gt;&nbsp;votes,
+ long&nbsp;leader,
+ long&nbsp;electionEpoch)</code>
+<div class="block">In the case there is a leader elected, and a quorum supporting
+ this leader, we have to check if the leader has voted and acked
+ that it is leading.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getCnxManager--">getCnxManager</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getLogicalClock--">getLogicalClock</a></span>()</code>
+<div class="block">Returns the current value of the logical clock counter</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getVote--">getVote</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getVoteTracker-java.util.Map-org.apache.zookeeper.server.quorum.Vote-">getVoteTracker</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&gt;&nbsp;votes,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;vote)</code>
+<div class="block">Given a set of votes, return the SyncedLearnerTracker which is used to
+ determines if have sufficient to declare the end of the election round.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#lookForLeader--">lookForLeader</a></span>()</code>
+<div class="block">Starts a new round of leader election.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#start--">start</a></span>()</code>
+<div class="block">This method starts the sender and receiver threads.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#totalOrderPredicate-long-long-long-long-long-long-">totalOrderPredicate</a></span>(long&nbsp;newId,
+ long&nbsp;newZxid,
+ long&nbsp;newEpoch,
+ long&nbsp;curId,
+ long&nbsp;curZxid,
+ long&nbsp;curEpoch)</code>
+<div class="block">Check if a pair (server id, zxid) succeeds our
+ current vote.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="MIN_NOTIFICATION_INTERVAL">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MIN_NOTIFICATION_INTERVAL</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MIN_NOTIFICATION_INTERVAL</pre>
+<div class="block">Minimum notification interval, default is equal to finalizeWait</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.FastLeaderElection.MIN_NOTIFICATION_INTERVAL">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="MAX_NOTIFICATION_INTERVAL">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MAX_NOTIFICATION_INTERVAL</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MAX_NOTIFICATION_INTERVAL</pre>
+<div class="block">Maximum notification interval, default is 60s</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.FastLeaderElection.MAX_NOTIFICATION_INTERVAL">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FastLeaderElection-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.QuorumCnxManager-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FastLeaderElection</h4>
+<pre>public&nbsp;FastLeaderElection(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a>&nbsp;manager)</pre>
+<div class="block">Constructor of FastLeaderElection. It takes two parameters, one
+ is the QuorumPeer object that instantiated this object, and the other
+ is the connection manager. Such an object should be created only once
+ by each peer during an instance of the ZooKeeper service.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>self</code> - QuorumPeer that created this object</dd>
+<dd><code>manager</code> - Connection manager</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getLogicalClock--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLogicalClock</h4>
+<pre>public&nbsp;long&nbsp;getLogicalClock()</pre>
+<div class="block">Returns the current value of the logical clock counter</div>
+</li>
+</ul>
+<a name="start--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block">This method starts the sender and receiver threads.</div>
+</li>
+</ul>
+<a name="getCnxManager--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCnxManager</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a>&nbsp;getCnxManager()</pre>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="totalOrderPredicate-long-long-long-long-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>totalOrderPredicate</h4>
+<pre>protected&nbsp;boolean&nbsp;totalOrderPredicate(long&nbsp;newId,
+ long&nbsp;newZxid,
+ long&nbsp;newEpoch,
+ long&nbsp;curId,
+ long&nbsp;curZxid,
+ long&nbsp;curEpoch)</pre>
+<div class="block">Check if a pair (server id, zxid) succeeds our
+ current vote.</div>
+</li>
+</ul>
+<a name="getVoteTracker-java.util.Map-org.apache.zookeeper.server.quorum.Vote-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVoteTracker</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;getVoteTracker(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&gt;&nbsp;votes,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;vote)</pre>
+<div class="block">Given a set of votes, return the SyncedLearnerTracker which is used to
+ determines if have sufficient to declare the end of the election round.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>votes</code> - Set of votes</dd>
+<dd><code>vote</code> - Identifier of the vote received last</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the SyncedLearnerTracker with vote details</dd>
+</dl>
+</li>
+</ul>
+<a name="checkLeader-java.util.Map-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkLeader</h4>
+<pre>protected&nbsp;boolean&nbsp;checkLeader(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&gt;&nbsp;votes,
+ long&nbsp;leader,
+ long&nbsp;electionEpoch)</pre>
+<div class="block">In the case there is a leader elected, and a quorum supporting
+ this leader, we have to check if the leader has voted and acked
+ that it is leading. We need this check to avoid that peers keep
+ electing over and over a peer that has crashed and it is no
+ longer leading.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>votes</code> - set of votes</dd>
+<dd><code>leader</code> - leader id</dd>
+<dd><code>electionEpoch</code> - epoch id</dd>
+</dl>
+</li>
+</ul>
+<a name="getVote--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVote</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;getVote()</pre>
+</li>
+</ul>
+<a name="lookForLeader--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>lookForLeader</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;lookForLeader()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block">Starts a new round of leader election. Whenever our QuorumPeer
+ changes its state to LOOKING, this method is invoked, and it
+ sends notifications to all other peers.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html#lookForLeader--">lookForLeader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FastLeaderElection.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FastLeaderElection.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Follower.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Follower.html
new file mode 100644
index 000000000..9d4a5e047
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Follower.html
@@ -0,0 +1,395 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Follower (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Follower (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Follower.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Follower.html" target="_top">Frames</a></li>
+<li><a href="Follower.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.Learner">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class Follower" class="title">Class Follower</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.Learner</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.Follower</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Follower</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></pre>
+<div class="block">This class has the control logic for the Follower.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.Learner">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#bufferedOutput">bufferedOutput</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#closeSocketAsync">closeSocketAsync</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderAddr">leaderAddr</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderIs">leaderIs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderOs">leaderOs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderProtocolVersion">leaderProtocolVersion</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#LEARNER_ASYNC_SENDING">LEARNER_ASYNC_SENDING</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#LEARNER_CLOSE_SOCKET_ASYNC">LEARNER_CLOSE_SOCKET_ASYNC</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#LOG">LOG</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#messageTracker">messageTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sock">sock</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sockBeingClosed">sockBeingClosed</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html#getLastQueued--">getLastQueued</a></span>()</code>
+<div class="block">The zxid of the last operation queued</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html#getSyncedObserversInfo--">getSyncedObserversInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html#getSyncedObserverSize--">getSyncedObserverSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html#getZxid--">getZxid</a></span>()</code>
+<div class="block">The zxid of the last operation seen</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html#processPacket-org.apache.zookeeper.server.quorum.QuorumPacket-">processPacket</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp)</code>
+<div class="block">Examine the packet received in qp and dispatch based on its contents.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html#resetObserverConnectionStats--">resetObserverConnectionStats</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html#shutdown--">shutdown</a></span>()</code>
+<div class="block">Shutdown the Peer</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.Learner">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#connectToLeader-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.String-">connectToLeader</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#createSocket--">createSocket</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#findLeader--">findLeader</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getAsyncSending--">getAsyncSending</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getPendingRevalidationsCount--">getPendingRevalidationsCount</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getSocket--">getSocket</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#nanoTime--">nanoTime</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#ping-org.apache.zookeeper.server.quorum.QuorumPacket-">ping</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#registerWithLeader-int-">registerWithLeader</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#revalidate-org.apache.zookeeper.server.quorum.QuorumPacket-">revalidate</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#setAsyncSending-boolean-">setAsyncSending</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sockConnect-java.net.Socket-java.net.InetSocketAddress-int-">sockConnect</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#startSendingThread--">startSendingThread</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#syncWithLeader-long-">syncWithLeader</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="processPacket-org.apache.zookeeper.server.quorum.QuorumPacket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processPacket</h4>
+<pre>protected&nbsp;void&nbsp;processPacket(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Examine the packet received in qp and dispatch based on its contents.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>qp</code> - </dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getZxid</h4>
+<pre>public&nbsp;long&nbsp;getZxid()</pre>
+<div class="block">The zxid of the last operation seen</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>zxid</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastQueued--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastQueued</h4>
+<pre>protected&nbsp;long&nbsp;getLastQueued()</pre>
+<div class="block">The zxid of the last operation queued</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>zxid</dd>
+</dl>
+</li>
+</ul>
+<a name="getSyncedObserverSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncedObserverSize</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;getSyncedObserverSize()</pre>
+</li>
+</ul>
+<a name="getSyncedObserversInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncedObserversInfo</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;getSyncedObserversInfo()</pre>
+</li>
+</ul>
+<a name="resetObserverConnectionStats--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resetObserverConnectionStats</h4>
+<pre>public&nbsp;void&nbsp;resetObserverConnectionStats()</pre>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#shutdown--">Learner</a></code></span></div>
+<div class="block">Shutdown the Peer</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#shutdown--">shutdown</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Follower.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Follower.html" target="_top">Frames</a></li>
+<li><a href="Follower.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.Learner">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerBean.html
new file mode 100644
index 000000000..0fa42072f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerBean.html
@@ -0,0 +1,515 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FollowerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="FollowerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FollowerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FollowerBean.html" target="_top">Frames</a></li>
+<li><a href="FollowerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class FollowerBean" class="title">Class FollowerBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServerBean</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.FollowerBean</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FollowerBean</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></pre>
+<div class="block">Follower MBean interface implementation</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#zks">zks</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#FollowerBean-org.apache.zookeeper.server.quorum.Follower-org.apache.zookeeper.server.ZooKeeperServer-">FollowerBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>&nbsp;follower,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#getElectionTimeTaken--">getElectionTimeTaken</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#getLastQueuedZxid--">getLastQueuedZxid</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#getObserverMasterPacketSizeLimit--">getObserverMasterPacketSizeLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#getPendingRevalidationCount--">getPendingRevalidationCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a></span>(int&nbsp;maxConcurrentDiffSyncs)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></span>(int&nbsp;maxConcurrentSnapshots)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#setObserverMasterPacketSizeLimit-int-">setObserverMasterPacketSizeLimit</a></span>(int&nbsp;sizeLimit)</code>
+<div class="block">set the size limit in bytes for the observer master commit packet queue</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getAuthFailedCount--">getAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getAvgRequestLatency--">getAvgRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getCommitProcMaxCommitBatchSize--">getCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getCommitProcMaxReadBatchSize--">getCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDecreaseRatio--">getConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDropDecrease--">getConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDropIncrease--">getConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionFreezeTime--">getConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionMaxTokens--">getConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionTokenFillCount--">getConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionTokenFillTime--">getConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getFlushDelay--">getFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getFsyncThresholdExceedCount--">getFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getJuteMaxBufferSize--">getJuteMaxBufferSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLastClientResponseSize--">getLastClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxBatchSize--">getMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxClientResponseSize--">getMaxClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxCnxns--">getMaxCnxns</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxRequestLatency--">getMaxRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxWriteQueuePollTime--">getMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinClientResponseSize--">getMinClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinRequestLatency--">getMinRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNonMTLSLocalConnCount--">getNonMTLSLocalConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNonMTLSRemoteConnCount--">getNonMTLSRemoteConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getPacketsReceived--">getPacketsReceived</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getPacketsSent--">getPacketsSent</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestStaleConnectionCheck--">getRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestStaleLatencyCheck--">getRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleDropStale--">getRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleLimit--">getRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleStallTime--">getRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getResponseCachingEnabled--">getResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getSecureClientAddress--">getSecureClientAddress</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getVersion--">getVersion</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#isHidden--">isHidden</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetAuthFailedCount--">resetAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetFsyncThresholdExceedCount--">resetFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetLatency--">resetLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetMaxLatency--">resetMaxLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetNonMTLSConnCount--">resetNonMTLSConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetStatistics--">resetStatistics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setCommitProcMaxCommitBatchSize-int-">setCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setCommitProcMaxReadBatchSize-int-">setCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDecreaseRatio-double-">setConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDropDecrease-double-">setConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDropIncrease-double-">setConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionFreezeTime-int-">setConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionMaxTokens-int-">setConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionTokenFillCount-int-">setConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionTokenFillTime-int-">setConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setFlushDelay-long-">setFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxBatchSize-int-">setMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxClientCnxnsPerHost-int-">setMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxWriteQueuePollTime-long-">setMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestStaleConnectionCheck-boolean-">setRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestStaleLatencyCheck-boolean-">setRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleDropStale-boolean-">setRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleLimit-int-">setRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleStallTime-int-">setRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setTickTime-int-">setTickTime</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerMXBean">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAuthFailedCount--">getAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAvgRequestLatency--">getAvgRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxCommitBatchSize--">getCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxReadBatchSize--">getCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDecreaseRatio--">getConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropDecrease--">getConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropIncrease--">getConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionFreezeTime--">getConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionMaxTokens--">getConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillCount--">getConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillTime--">getConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFlushDelay--">getFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFsyncThresholdExceedCount--">getFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getJuteMaxBufferSize--">getJuteMaxBufferSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLastClientResponseSize--">getLastClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxBatchSize--">getMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientResponseSize--">getMaxClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxCnxns--">getMaxCnxns</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxRequestLatency--">getMaxRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxWriteQueuePollTime--">getMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinClientResponseSize--">getMinClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinRequestLatency--">getMinRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSLocalConnCount--">getNonMTLSLocalConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSRemoteConnCount--">getNonMTLSRemoteConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsReceived--">getPacketsReceived</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsSent--">getPacketsSent</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleConnectionCheck--">getRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleLatencyCheck--">getRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleDropStale--">getRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleLimit--">getRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleStallTime--">getRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getResponseCachingEnabled--">getResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientAddress--">getSecureClientAddress</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getVersion--">getVersion</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetAuthFailedCount--">resetAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetFsyncThresholdExceedCount--">resetFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetLatency--">resetLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetMaxLatency--">resetMaxLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetNonMTLSConnCount--">resetNonMTLSConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetStatistics--">resetStatistics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxCommitBatchSize-int-">setCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxReadBatchSize-int-">setCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDecreaseRatio-double-">setConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropDecrease-double-">setConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropIncrease-double-">setConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionFreezeTime-int-">setConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionMaxTokens-int-">setConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillCount-int-">setConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillTime-int-">setConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setFlushDelay-long-">setFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxBatchSize-int-">setMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxClientCnxnsPerHost-int-">setMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxWriteQueuePollTime-long-">setMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleConnectionCheck-boolean-">setRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleLatencyCheck-boolean-">setRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleDropStale-boolean-">setRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleLimit-int-">setRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleStallTime-int-">setRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setTickTime-int-">setTickTime</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FollowerBean-org.apache.zookeeper.server.quorum.Follower-org.apache.zookeeper.server.ZooKeeperServer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FollowerBean</h4>
+<pre>public&nbsp;FollowerBean(<a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>&nbsp;follower,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getName--">getName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string identifying the MBean</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumAddress()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getQuorumAddress--">getQuorumAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>socket address</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastQueuedZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastQueuedZxid</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastQueuedZxid()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getLastQueuedZxid--">getLastQueuedZxid</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>last queued zxid</dd>
+</dl>
+</li>
+</ul>
+<a name="getPendingRevalidationCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPendingRevalidationCount</h4>
+<pre>public&nbsp;int&nbsp;getPendingRevalidationCount()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getPendingRevalidationCount--">getPendingRevalidationCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>count of pending revalidations</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionTimeTaken--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionTimeTaken</h4>
+<pre>public&nbsp;long&nbsp;getElectionTimeTaken()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getElectionTimeTaken--">getElectionTimeTaken</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>time taken for leader election in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="getObserverMasterPacketSizeLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObserverMasterPacketSizeLimit</h4>
+<pre>public&nbsp;int&nbsp;getObserverMasterPacketSizeLimit()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getObserverMasterPacketSizeLimit--">getObserverMasterPacketSizeLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the size limit in bytes for the observer master commit packet queue</dd>
+</dl>
+</li>
+</ul>
+<a name="setObserverMasterPacketSizeLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setObserverMasterPacketSizeLimit</h4>
+<pre>public&nbsp;void&nbsp;setObserverMasterPacketSizeLimit(int&nbsp;sizeLimit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#setObserverMasterPacketSizeLimit-int-">FollowerMXBean</a></code></span></div>
+<div class="block">set the size limit in bytes for the observer master commit packet queue</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#setObserverMasterPacketSizeLimit-int-">setObserverMasterPacketSizeLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxConcurrentSnapSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentSnapSyncs</h4>
+<pre>public&nbsp;int&nbsp;getMaxConcurrentSnapSyncs()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of concurrent snapshots permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxConcurrentSnapSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxConcurrentSnapSyncs</h4>
+<pre>public&nbsp;void&nbsp;setMaxConcurrentSnapSyncs(int&nbsp;maxConcurrentSnapshots)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentSnapshots</code> - Number of concurrent snapshots permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxConcurrentDiffSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentDiffSyncs</h4>
+<pre>public&nbsp;int&nbsp;getMaxConcurrentDiffSyncs()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of concurrent diff syncs permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxConcurrentDiffSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setMaxConcurrentDiffSyncs</h4>
+<pre>public&nbsp;void&nbsp;setMaxConcurrentDiffSyncs(int&nbsp;maxConcurrentDiffSyncs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentDiffSyncs</code> - Number of concurrent diff syncs permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FollowerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FollowerBean.html" target="_top">Frames</a></li>
+<li><a href="FollowerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerMXBean.html
new file mode 100644
index 000000000..d8042302c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerMXBean.html
@@ -0,0 +1,396 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FollowerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="FollowerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FollowerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FollowerMXBean.html" target="_top">Frames</a></li>
+<li><a href="FollowerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface FollowerMXBean" class="title">Interface FollowerMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum">FollowerBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">FollowerMXBean</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></pre>
+<div class="block">Follower MBean</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getElectionTimeTaken--">getElectionTimeTaken</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getLastQueuedZxid--">getLastQueuedZxid</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getObserverMasterPacketSizeLimit--">getObserverMasterPacketSizeLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getPendingRevalidationCount--">getPendingRevalidationCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a></span>(int&nbsp;maxConcurrentDiffSyncs)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></span>(int&nbsp;maxConcurrentSnapSyncs)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html#setObserverMasterPacketSizeLimit-int-">setObserverMasterPacketSizeLimit</a></span>(int&nbsp;sizeLimit)</code>
+<div class="block">set the size limit in bytes for the observer master commit packet queue</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerMXBean">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAuthFailedCount--">getAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAvgRequestLatency--">getAvgRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxCommitBatchSize--">getCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxReadBatchSize--">getCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDecreaseRatio--">getConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropDecrease--">getConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropIncrease--">getConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionFreezeTime--">getConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionMaxTokens--">getConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillCount--">getConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillTime--">getConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFlushDelay--">getFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFsyncThresholdExceedCount--">getFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getJuteMaxBufferSize--">getJuteMaxBufferSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLastClientResponseSize--">getLastClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxBatchSize--">getMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientResponseSize--">getMaxClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxCnxns--">getMaxCnxns</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxRequestLatency--">getMaxRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxWriteQueuePollTime--">getMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinClientResponseSize--">getMinClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinRequestLatency--">getMinRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSLocalConnCount--">getNonMTLSLocalConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSRemoteConnCount--">getNonMTLSRemoteConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsReceived--">getPacketsReceived</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsSent--">getPacketsSent</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleConnectionCheck--">getRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleLatencyCheck--">getRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleDropStale--">getRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleLimit--">getRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleStallTime--">getRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getResponseCachingEnabled--">getResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientAddress--">getSecureClientAddress</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getVersion--">getVersion</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetAuthFailedCount--">resetAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetFsyncThresholdExceedCount--">resetFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetLatency--">resetLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetMaxLatency--">resetMaxLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetNonMTLSConnCount--">resetNonMTLSConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetStatistics--">resetStatistics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxCommitBatchSize-int-">setCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxReadBatchSize-int-">setCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDecreaseRatio-double-">setConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropDecrease-double-">setConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropIncrease-double-">setConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionFreezeTime-int-">setConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionMaxTokens-int-">setConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillCount-int-">setConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillTime-int-">setConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setFlushDelay-long-">setFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxBatchSize-int-">setMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxClientCnxnsPerHost-int-">setMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxWriteQueuePollTime-long-">setMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleConnectionCheck-boolean-">setRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleLatencyCheck-boolean-">setRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleDropStale-boolean-">setRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleLimit-int-">setRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleStallTime-int-">setRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setTickTime-int-">setTickTime</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getQuorumAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAddress</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumAddress()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>socket address</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastQueuedZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastQueuedZxid</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastQueuedZxid()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>last queued zxid</dd>
+</dl>
+</li>
+</ul>
+<a name="getPendingRevalidationCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPendingRevalidationCount</h4>
+<pre>int&nbsp;getPendingRevalidationCount()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>count of pending revalidations</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionTimeTaken--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionTimeTaken</h4>
+<pre>long&nbsp;getElectionTimeTaken()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>time taken for leader election in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="getObserverMasterPacketSizeLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObserverMasterPacketSizeLimit</h4>
+<pre>int&nbsp;getObserverMasterPacketSizeLimit()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the size limit in bytes for the observer master commit packet queue</dd>
+</dl>
+</li>
+</ul>
+<a name="setObserverMasterPacketSizeLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setObserverMasterPacketSizeLimit</h4>
+<pre>void&nbsp;setObserverMasterPacketSizeLimit(int&nbsp;sizeLimit)</pre>
+<div class="block">set the size limit in bytes for the observer master commit packet queue</div>
+</li>
+</ul>
+<a name="getMaxConcurrentSnapSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentSnapSyncs</h4>
+<pre>int&nbsp;getMaxConcurrentSnapSyncs()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of concurrent snapshots permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxConcurrentSnapSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxConcurrentSnapSyncs</h4>
+<pre>void&nbsp;setMaxConcurrentSnapSyncs(int&nbsp;maxConcurrentSnapSyncs)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentSnapSyncs</code> - Number of concurrent snapshots permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxConcurrentDiffSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentDiffSyncs</h4>
+<pre>int&nbsp;getMaxConcurrentDiffSyncs()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of concurrent diff syncs permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxConcurrentDiffSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setMaxConcurrentDiffSyncs</h4>
+<pre>void&nbsp;setMaxConcurrentDiffSyncs(int&nbsp;maxConcurrentDiffSyncs)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentDiffSyncs</code> - Number of concurrent diff syncs permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FollowerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FollowerMXBean.html" target="_top">Frames</a></li>
+<li><a href="FollowerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html
new file mode 100644
index 000000000..b7da5dc98
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html
@@ -0,0 +1,420 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FollowerRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="FollowerRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FollowerRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="FollowerRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class FollowerRequestProcessor" class="title">Class FollowerRequestProcessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperCriticalThread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.FollowerRequestProcessor</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FollowerRequestProcessor</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a>
+implements <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></pre>
+<div class="block">This RequestProcessor forwards any requests that modify the state of the
+ system to the Leader.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.RequestProcessor">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html#SKIP_LEARNER_REQUEST_TO_NEXT_PROCESSOR">SKIP_LEARNER_REQUEST_TO_NEXT_PROCESSOR</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html#FollowerRequestProcessor-org.apache.zookeeper.server.quorum.FollowerZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">FollowerRequestProcessor</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperCriticalThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="SKIP_LEARNER_REQUEST_TO_NEXT_PROCESSOR">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SKIP_LEARNER_REQUEST_TO_NEXT_PROCESSOR</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SKIP_LEARNER_REQUEST_TO_NEXT_PROCESSOR</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.FollowerRequestProcessor.SKIP_LEARNER_REQUEST_TO_NEXT_PROCESSOR">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FollowerRequestProcessor-org.apache.zookeeper.server.quorum.FollowerZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FollowerRequestProcessor</h4>
+<pre>public&nbsp;FollowerRequestProcessor(<a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="processRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processRequest</h4>
+<pre>public&nbsp;void&nbsp;processRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FollowerRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="FollowerRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html
new file mode 100644
index 000000000..9878f93b4
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html
@@ -0,0 +1,493 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FollowerZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="FollowerZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FollowerZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="FollowerZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerZooKeeperServer">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class FollowerZooKeeperServer" class="title">Class FollowerZooKeeperServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.QuorumZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.LearnerZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.FollowerZooKeeperServer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FollowerZooKeeperServer</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></pre>
+<div class="block">Just like the standard ZooKeeperServer. We just replace the request
+ processors: FollowerRequestProcessor -&gt; CommitProcessor -&gt;
+ FinalRequestProcessor
+
+ A SyncRequestProcessor is also spawned off to log proposals from the leader.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html" title="class in org.apache.zookeeper.server">ZooKeeperServer.MissingSessionException</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#commitProcessor">commitProcessor</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#syncProcessor">syncProcessor</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#self">self</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgradeableSessionTracker">upgradeableSessionTracker</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ALLOW_SASL_FAILED_CLIENTS">ALLOW_SASL_FAILED_CLIENTS</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#CLOSE_SESSION_TXN_ENABLED">CLOSE_SESSION_TXN_ENABLED</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_STARTING_BUFFER_SIZE">DEFAULT_STARTING_BUFFER_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_THROTTLED_OP_WAIT_TIME">DEFAULT_THROTTLED_OP_WAIT_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_TICK_TIME">DEFAULT_TICK_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENABLE_EAGER_ACL_CHECK">ENABLE_EAGER_ACL_CHECK</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENFORCE_QUOTA">ENFORCE_QUOTA</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enforceQuota">enforceQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#firstProcessor">firstProcessor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_CHILDREN_RESPONSE_CACHE_SIZE">GET_CHILDREN_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_DATA_RESPONSE_CACHE_SIZE">GET_DATA_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GLOBAL_OUTSTANDING_LIMIT">GLOBAL_OUTSTANDING_LIMIT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#initialConfig">initialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#INT_BUFFER_STARTING_SIZE_BYTES">INT_BUFFER_STARTING_SIZE_BYTES</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#intBufferStartingSizeBytes">intBufferStartingSizeBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxDataTreeBean">jmxDataTreeBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxServerBean">jmxServerBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jvmPauseMonitor">jvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#listenBacklog">listenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#maxSessionTimeout">maxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#minSessionTimeout">minSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ok">ok</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reconfigEnabled">reconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SASL_SUPER_USER">SASL_SUPER_USER</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#secureServerCnxnFactory">secureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverCnxnFactory">serverCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#sessionTracker">sessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SKIP_ACL">SKIP_ACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SNAP_COUNT">SNAP_COUNT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#state">state</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#throttledOpWaitTime">throttledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#tickTime">tickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ZOOKEEPER_DIGEST_ENABLED">ZOOKEEPER_DIGEST_ENABLED</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#commit-long-">commit</a></span>(long&nbsp;zxid)</code>
+<div class="block">When a COMMIT message is received, eventually this method is called,
+ which matches up the zxid from the COMMIT with (hopefully) the head of
+ the pendingTxns queue and hands it to the commitProcessor to commit.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#getFollower--">getFollower</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#getGlobalOutstandingLimit--">getGlobalOutstandingLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#getLearner--">getLearner</a></span>()</code>
+<div class="block">Abstract method to return the learner associated with this server.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#logRequest-org.apache.zookeeper.txn.TxnHeader-org.apache.jute.Record-org.apache.zookeeper.txn.TxnDigest-">logRequest</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/txn/TxnHeader.html?is-external=true" title="class or interface in org.apache.zookeeper.txn">TxnHeader</a>&nbsp;hdr,
+ <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/jute/Record.html?is-external=true" title="class or interface in org.apache.jute">Record</a>&nbsp;txn,
+ <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/txn/TxnDigest.html?is-external=true" title="class or interface in org.apache.zookeeper.txn">TxnDigest</a>&nbsp;digest)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#registerMetrics--">registerMetrics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#sync--">sync</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#createSessionTracker--">createSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getServerId--">getServerId</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getTouchSnapshot--">getTouchSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#registerJMX--">registerJMX</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.ZooKeeperServerBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">revalidateSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#unregisterJMX--">unregisterJMX</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#unregisterJMX-org.apache.zookeeper.server.quorum.Learner-">unregisterJMX</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#checkUpgradeSession-org.apache.zookeeper.server.Request-">checkUpgradeSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpConf-java.io.PrintWriter-">dumpConf</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">dumpMonitorValues</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">setLocalSessionFlag</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">setState</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#startSessionTracker--">startSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgrade-long-">upgrade</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#authWriteRequest-org.apache.zookeeper.server.Request-">authWriteRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#canShutdown--">canShutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkACL-org.apache.zookeeper.server.ServerCnxn-java.util.List-int-java.util.List-java.lang.String-java.util.List-">checkACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkPasswd-long-byte:A-">checkPasswd</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkQuota-java.lang.String-byte:A-byte:A-int-">checkQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkRequestSizeWhenReceivingMessage-int-">checkRequestSizeWhenReceivingMessage</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-long-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-org.apache.zookeeper.server.ServerCnxn-org.apache.zookeeper.proto.RequestHeader-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#connThrottle--">connThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createRequestThrottler--">createRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#decInProcess--">decInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpEphemerals-java.io.PrintWriter-">dumpEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enqueueRequest-org.apache.zookeeper.server.Request-">enqueueRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-long-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-org.apache.zookeeper.server.SessionTracker.Session-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#finishSessionInit-org.apache.zookeeper.server.ServerCnxn-boolean-">finishSessionInit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPortListenBacklog--">getClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConf--">getConf</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConnectionDropChance--">getConnectionDropChance</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getEphemerals--">getEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGetChildrenResponseCache--">getGetChildrenResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInflight--">getInflight</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInitialConfig--">getInitialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInProcess--">getInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestBytes--">getLargeRequestBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLastProcessedZxid--">getLastProcessedZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingHandshakeNum--">getOutstandingHandshakeNum</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getReadResponseCache--">getReadResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getRequestPathMetricsCollector--">getRequestPathMetricsCollector</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureServerCnxnFactory--">getSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerCnxnFactory--">getServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionExpiryMap--">getSessionExpiryMap</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionTracker--">getSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapCount--">getSnapCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapSizeInBytes--">getSnapSizeInBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogFactory--">getTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZKDatabase--">getZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZkShutdownHandler--">getZkShutdownHandler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZooKeeperServerListener--">getZooKeeperServerListener</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZxid--">getZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#incInProcess--">incInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isCloseSessionTxnEnabled--">isCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isDigestEnabled--">isDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isEnableEagerACLCheck--">isEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isReconfigEnabled--">isReconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isResponseCachingEnabled--">isResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isRunning--">isRunning</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#killSession-long-long-">killSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#loadData--">loadData</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processConnectRequest-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processConnectRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processPacket-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processPacket</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.server.Request-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.txn.TxnHeader-org.apache.jute.Record-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reopenSession-org.apache.zookeeper.server.ServerCnxn-long-byte:A-int-">reopenSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#requestFinished-org.apache.zookeeper.server.Request-">requestFinished</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverStats--">serverStats</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setClientPortListenBacklog-int-">setClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCloseSessionTxnEnabled-boolean-">setCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCreateSessionTrackerServerId-int-">setCreateSessionTrackerServerId</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setDigestEnabled-boolean-">setDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setEnableEagerACLCheck-boolean-">setEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setOwner-long-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setSecureServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTickTime-int-">setTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTxnLogFactory-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">setTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZKDatabase-org.apache.zookeeper.server.ZKDatabase-">setZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZxid-long-">setZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldForceWriteInitialSnapshotAfterLeaderElection--">shouldForceWriteInitialSnapshotAfterLeaderElection</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldThrottle-long-">shouldThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown-boolean-">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startdata--">startdata</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startJvmPauseMonitor--">startJvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startRequestThrottler--">startRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startServing--">startServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startup--">startup</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startupWithoutServing--">startupWithoutServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequest-org.apache.zookeeper.server.Request-">submitRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequestNow-org.apache.zookeeper.server.Request-">submitRequestNow</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot--">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot-boolean-">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#truncateLog-long-">truncateLog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#validateSession-org.apache.zookeeper.server.ServerCnxn-long-">validateSession</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getFollower--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFollower</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>&nbsp;getFollower()</pre>
+</li>
+</ul>
+<a name="setupRequestProcessors--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setupRequestProcessors</h4>
+<pre>protected&nbsp;void&nbsp;setupRequestProcessors()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="logRequest-org.apache.zookeeper.txn.TxnHeader-org.apache.jute.Record-org.apache.zookeeper.txn.TxnDigest-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>logRequest</h4>
+<pre>public&nbsp;void&nbsp;logRequest(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/txn/TxnHeader.html?is-external=true" title="class or interface in org.apache.zookeeper.txn">TxnHeader</a>&nbsp;hdr,
+ <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/jute/Record.html?is-external=true" title="class or interface in org.apache.jute">Record</a>&nbsp;txn,
+ <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/txn/TxnDigest.html?is-external=true" title="class or interface in org.apache.zookeeper.txn">TxnDigest</a>&nbsp;digest)</pre>
+</li>
+</ul>
+<a name="commit-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commit</h4>
+<pre>public&nbsp;void&nbsp;commit(long&nbsp;zxid)</pre>
+<div class="block">When a COMMIT message is received, eventually this method is called,
+ which matches up the zxid from the COMMIT with (hopefully) the head of
+ the pendingTxns queue and hands it to the commitProcessor to commit.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>zxid</code> - - must correspond to the head of pendingTxns if it exists</dd>
+</dl>
+</li>
+</ul>
+<a name="sync--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sync</h4>
+<pre>public&nbsp;void&nbsp;sync()</pre>
+</li>
+</ul>
+<a name="getGlobalOutstandingLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGlobalOutstandingLimit</h4>
+<pre>public&nbsp;int&nbsp;getGlobalOutstandingLimit()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGlobalOutstandingLimit--">getGlobalOutstandingLimit</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getState()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html#getState--">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getState--">getState</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLearner--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearner</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;getLearner()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getLearner--">LearnerZooKeeperServer</a></code></span></div>
+<div class="block">Abstract method to return the learner associated with this server.
+ Since the Learner may change under our feet (when QuorumPeer reassigns
+ it) we can't simply take a reference here. Instead, we need the
+ subclasses to implement this.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getLearner--">getLearner</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerMetrics--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerMetrics</h4>
+<pre>protected&nbsp;void&nbsp;registerMetrics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#registerMetrics--">registerMetrics</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="unregisterMetrics--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>unregisterMetrics</h4>
+<pre>protected&nbsp;void&nbsp;unregisterMetrics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FollowerZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="FollowerZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerZooKeeperServer">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.Proposal.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.Proposal.html
new file mode 100644
index 000000000..4f37c9c52
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.Proposal.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Leader.Proposal (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Leader.Proposal (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Leader.Proposal.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Leader.Proposal.html" target="_top">Frames</a></li>
+<li><a href="Leader.Proposal.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.quorum.SyncedLearnerTracker">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class Leader.Proposal" class="title">Class Leader.Proposal</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.SyncedLearnerTracker</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.Leader.Proposal</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">Leader.Proposal</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.quorum.SyncedLearnerTracker">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html#packet">packet</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html#request">request</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.SyncedLearnerTracker">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#qvAcksetPairs">qvAcksetPairs</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html#Proposal--">Proposal</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.SyncedLearnerTracker">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#ackSetsToString--">ackSetsToString</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#addAck-java.lang.Long-">addAck</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#addQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">addQuorumVerifier</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#hasAllQuorums--">hasAllQuorums</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#hasSid-long-">hasSid</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="packet">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>packet</h4>
+<pre>public&nbsp;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a> packet</pre>
+</li>
+</ul>
+<a name="request">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>request</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a> request</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Proposal--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Proposal</h4>
+<pre>public&nbsp;Proposal()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Leader.Proposal.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Leader.Proposal.html" target="_top">Frames</a></li>
+<li><a href="Leader.Proposal.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.quorum.SyncedLearnerTracker">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html
new file mode 100644
index 000000000..836b7fc12
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Leader.XidRolloverException (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Leader.XidRolloverException (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Leader.XidRolloverException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" target="_top">Frames</a></li>
+<li><a href="Leader.XidRolloverException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class Leader.XidRolloverException" class="title">Class Leader.XidRolloverException</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.Leader.XidRolloverException</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">Leader.XidRolloverException</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.zookeeper.server.quorum.Leader.XidRolloverException">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html#XidRolloverException-java.lang.String-">XidRolloverException</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#addSuppressed-java.lang.Throwable-" title="class or interface in java.lang">addSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace--" title="class or interface in java.lang">fillInStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getCause--" title="class or interface in java.lang">getCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage--" title="class or interface in java.lang">getLocalizedMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getMessage--" title="class or interface in java.lang">getMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getSuppressed--" title="class or interface in java.lang">getSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#initCause-java.lang.Throwable-" title="class or interface in java.lang">initCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace--" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintStream-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintWriter-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace-java.lang.StackTraceElement:A-" title="class or interface in java.lang">setStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="XidRolloverException-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>XidRolloverException</h4>
+<pre>public&nbsp;XidRolloverException(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Leader.XidRolloverException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" target="_top">Frames</a></li>
+<li><a href="Leader.XidRolloverException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.html
new file mode 100644
index 000000000..6e6cc89a7
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Leader.html
@@ -0,0 +1,1429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Leader (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Leader (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":9,"i39":10,"i40":9,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Leader.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Leader.html" target="_top">Frames</a></li>
+<li><a href="Leader.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class Leader" class="title">Class Leader</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.LearnerMaster</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.Leader</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Leader</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">LearnerMaster</a></pre>
+<div class="block">This class has the control logic for the Leader.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Leader.XidRolloverException</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#ACKEPOCH">ACKEPOCH</a></span></code>
+<div class="block">This message is used by the follow to ack a proposed epoch.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#connectingFollowers">connectingFollowers</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#electingFollowers">electingFollowers</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#electionFinished">electionFinished</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#LEADERINFO">LEADERINFO</a></span></code>
+<div class="block">This message is the first that a follower receives from the leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#MAX_TIME_TO_WAIT_FOR_EPOCH">MAX_TIME_TO_WAIT_FOR_EPOCH</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#newLeaderProposal">newLeaderProposal</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#PROPOSAL">PROPOSAL</a></span></code>
+<div class="block">This message type is sent by a leader to propose a mutation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#quorumFormed">quorumFormed</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#Leader-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-">Leader</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zk)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#addLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">addLearnerHandler</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learner)</code>
+<div class="block">Adds peer to the leader.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#buildInformAndActivePacket-long-long-byte:A-">buildInformAndActivePacket</a></span>(long&nbsp;zxid,
+ long&nbsp;designatedLeader,
+ byte[]&nbsp;proposalData)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#commit-long-">commit</a></span>(long&nbsp;zxid)</code>
+<div class="block">Create a commit packet and send it to all the members of the quorum</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#commitAndActivate-long-long-">commitAndActivate</a></span>(long&nbsp;zxid,
+ long&nbsp;designatedLeader)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getAckLoggingFrequency--">getAckLoggingFrequency</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getAndDecrementFollowerCounter--">getAndDecrementFollowerCounter</a></span>()</code>
+<div class="block">decrement follower count</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getCurrentTick--">getCurrentTick</a></span>()</code>
+<div class="block">the current tick</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getEpoch--">getEpoch</a></span>()</code>
+<div class="block">Returns the current epoch of the leader.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getEpochToPropose-long-long-">getEpochToPropose</a></span>(long&nbsp;sid,
+ long&nbsp;lastAcceptedEpoch)</code>
+<div class="block">get the first zxid of the next epoch</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getForwardingFollowers--">getForwardingFollowers</a></span>()</code>
+<div class="block">Returns a copy of the current forwarding follower snapshot</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getLastProposed--">getLastProposed</a></span>()</code>
+<div class="block">last proposed zxid</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getLearners--">getLearners</a></span>()</code>
+<div class="block">Returns a copy of the current learner snapshot</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getNonVotingFollowers--">getNonVotingFollowers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getNumPendingSyncs--">getNumPendingSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getObservingLearners--">getObservingLearners</a></span>()</code>
+<div class="block">Returns a copy of the current observer snapshot</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getObservingLearnersInfo--">getObservingLearnersInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getPacketType-int-">getPacketType</a></span>(int&nbsp;packetType)</code>
+<div class="block">Get string representation of a given packet type</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getPeerInfo-long-">getPeerInfo</a></span>(long&nbsp;sid)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getProposalStats--">getProposalStats</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getQuorumAuthServer--">getQuorumAuthServer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getQuorumVerifierBytes--">getQuorumVerifierBytes</a></span>()</code>
+<div class="block">identifier of current quorum verifier for new leader</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getQuorumVerifierVersion--">getQuorumVerifierVersion</a></span>()</code>
+<div class="block">version of current quorum verifier</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getTickOfInitialAckDeadline--">getTickOfInitialAckDeadline</a></span>()</code>
+<div class="block">next deadline tick marking observer sync (steady state)</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getTickOfNextAckDeadline--">getTickOfNextAckDeadline</a></span>()</code>
+<div class="block">deadline tick marking observer sync (initial)</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getUptime--">getUptime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#getZKDatabase--">getZKDatabase</a></span>()</code>
+<div class="block">ZKDatabase</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#inform-org.apache.zookeeper.server.quorum.Leader.Proposal-">inform</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;proposal)</code>
+<div class="block">Create an inform packet and send it to all observers.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#informAndActivate-org.apache.zookeeper.server.quorum.Leader.Proposal-long-">informAndActivate</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;proposal,
+ long&nbsp;designatedLeader)</code>
+<div class="block">Create an inform and activate packet and send it to all observers.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#isQuorumSynced-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">isQuorumSynced</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv)</code>
+<div class="block">Returns true if a quorum in qv is connected and synced with the leader
+ and false otherwise</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#processAck-long-long-java.net.SocketAddress-">processAck</a></span>(long&nbsp;sid,
+ long&nbsp;zxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;followerAddr)</code>
+<div class="block">Keep a count of acks that are received by the leader for a particular
+ proposal</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#processSync-org.apache.zookeeper.server.quorum.LearnerSyncRequest-">processSync</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a>&nbsp;r)</code>
+<div class="block">Process sync requests</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#propose-org.apache.zookeeper.server.Request-">propose</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>
+<div class="block">create a proposal and send it out to all the members</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#registerLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">registerLearnerHandlerBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</code>
+<div class="block">registers the handler's bean</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#removeLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">removeLearnerHandler</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;peer)</code>
+<div class="block">Remove the learner from the learner list</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#reportLookingSid-long-">reportLookingSid</a></span>(long&nbsp;sid)</code>&nbsp;</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#resetObserverConnectionStats--">resetObserverConnectionStats</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#revalidateSession-org.apache.zookeeper.server.quorum.QuorumPacket-org.apache.zookeeper.server.quorum.LearnerHandler-">revalidateSession</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>
+<div class="block">handle revalidate packet</div>
+</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#sendSync-org.apache.zookeeper.server.quorum.LearnerSyncRequest-">sendSync</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a>&nbsp;r)</code>
+<div class="block">Sends a sync message to the appropriate server</div>
+</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#setAckLoggingFrequency-int-">setAckLoggingFrequency</a></span>(int&nbsp;frequency)</code>&nbsp;</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#setLeadingVoteSet-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-">setLeadingVoteSet</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet)</code>&nbsp;</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#setMaxTimeToWaitForEpoch-int-">setMaxTimeToWaitForEpoch</a></span>(int&nbsp;maxTimeToWaitForEpoch)</code>&nbsp;</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#startForwarding-org.apache.zookeeper.server.quorum.LearnerHandler-long-">startForwarding</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;handler,
+ long&nbsp;lastSeenZxid)</code>
+<div class="block">lets the leader know that a follower is capable of following and is done
+ syncing</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#submitLearnerRequest-org.apache.zookeeper.server.Request-">submitLearnerRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</code>
+<div class="block">proxy request from learner to server</div>
+</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#syncTimeout--">syncTimeout</a></span>()</code>
+<div class="block">time allowed for sync response</div>
+</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#touch-long-int-">touch</a></span>(long&nbsp;sess,
+ int&nbsp;to)</code>
+<div class="block">mark session as alive</div>
+</td>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#tryToCommit-org.apache.zookeeper.server.quorum.Leader.Proposal-long-java.net.SocketAddress-">tryToCommit</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;p,
+ long&nbsp;zxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;followerAddr)</code>&nbsp;</td>
+</tr>
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#unregisterLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-">unregisterLearnerHandlerBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>
+<div class="block">unregisters the handler's bean</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#waitForEpochAck-long-org.apache.zookeeper.server.quorum.StateSummary-">waitForEpochAck</a></span>(long&nbsp;id,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)</code>
+<div class="block">wait for the leader of the new epoch to be confirmed by followers</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#waitForNewLeaderAck-long-long-">waitForNewLeaderAck</a></span>(long&nbsp;sid,
+ long&nbsp;zxid)</code>
+<div class="block">Process NEWLEADER ack of a given sid and wait until the leader receives
+ sufficient acks.</div>
+</td>
+</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html#waitForStartup--">waitForStartup</a></span>()</code>
+<div class="block">wait for server to start</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerMaster">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">LearnerMaster</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLearnerDiffSyncThrottler--">getLearnerDiffSyncThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLearnerSnapSyncThrottler--">getLearnerSnapSyncThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="quorumFormed">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumFormed</h4>
+<pre>protected&nbsp;boolean quorumFormed</pre>
+</li>
+</ul>
+<a name="LEADERINFO">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEADERINFO</h4>
+<pre>public static final&nbsp;int LEADERINFO</pre>
+<div class="block">This message is the first that a follower receives from the leader.
+ It has the protocol version and the epoch of the leader.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.Leader.LEADERINFO">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ACKEPOCH">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ACKEPOCH</h4>
+<pre>public static final&nbsp;int ACKEPOCH</pre>
+<div class="block">This message is used by the follow to ack a proposed epoch.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.Leader.ACKEPOCH">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PROPOSAL">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PROPOSAL</h4>
+<pre>public static final&nbsp;int PROPOSAL</pre>
+<div class="block">This message type is sent by a leader to propose a mutation.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.Leader.PROPOSAL">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="newLeaderProposal">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newLeaderProposal</h4>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a> newLeaderProposal</pre>
+</li>
+</ul>
+<a name="connectingFollowers">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connectingFollowers</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; connectingFollowers</pre>
+</li>
+</ul>
+<a name="MAX_TIME_TO_WAIT_FOR_EPOCH">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX_TIME_TO_WAIT_FOR_EPOCH</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MAX_TIME_TO_WAIT_FOR_EPOCH</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.Leader.MAX_TIME_TO_WAIT_FOR_EPOCH">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="electingFollowers">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>electingFollowers</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; electingFollowers</pre>
+</li>
+</ul>
+<a name="electionFinished">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>electionFinished</h4>
+<pre>protected&nbsp;boolean electionFinished</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Leader-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Leader</h4>
+<pre>public&nbsp;Leader(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zk)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="setAckLoggingFrequency-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAckLoggingFrequency</h4>
+<pre>public static&nbsp;void&nbsp;setAckLoggingFrequency(int&nbsp;frequency)</pre>
+</li>
+</ul>
+<a name="getAckLoggingFrequency--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAckLoggingFrequency</h4>
+<pre>public static&nbsp;int&nbsp;getAckLoggingFrequency()</pre>
+</li>
+</ul>
+<a name="getProposalStats--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getProposalStats</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a>&nbsp;getProposalStats()</pre>
+</li>
+</ul>
+<a name="getLearners--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearners</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;getLearners()</pre>
+<div class="block">Returns a copy of the current learner snapshot</div>
+</li>
+</ul>
+<a name="getForwardingFollowers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getForwardingFollowers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;getForwardingFollowers()</pre>
+<div class="block">Returns a copy of the current forwarding follower snapshot</div>
+</li>
+</ul>
+<a name="getNonVotingFollowers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNonVotingFollowers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;getNonVotingFollowers()</pre>
+</li>
+</ul>
+<a name="getObservingLearners--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObservingLearners</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;getObservingLearners()</pre>
+<div class="block">Returns a copy of the current observer snapshot</div>
+</li>
+</ul>
+<a name="getObservingLearnersInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObservingLearnersInfo</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;getObservingLearnersInfo()</pre>
+</li>
+</ul>
+<a name="resetObserverConnectionStats--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resetObserverConnectionStats</h4>
+<pre>public&nbsp;void&nbsp;resetObserverConnectionStats()</pre>
+</li>
+</ul>
+<a name="getNumPendingSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumPendingSyncs</h4>
+<pre>public&nbsp;int&nbsp;getNumPendingSyncs()</pre>
+</li>
+</ul>
+<a name="addLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addLearnerHandler</h4>
+<pre>public&nbsp;void&nbsp;addLearnerHandler(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learner)</pre>
+<div class="block">Adds peer to the leader.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learner</code> - instance of learner handle</dd>
+</dl>
+</li>
+</ul>
+<a name="removeLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeLearnerHandler</h4>
+<pre>public&nbsp;void&nbsp;removeLearnerHandler(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;peer)</pre>
+<div class="block">Remove the learner from the learner list</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>peer</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="isQuorumSynced-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isQuorumSynced</h4>
+<pre>public&nbsp;boolean&nbsp;isQuorumSynced(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv)</pre>
+<div class="block">Returns true if a quorum in qv is connected and synced with the leader
+ and false otherwise</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>qv</code> - is a QuorumVerifier</dd>
+</dl>
+</li>
+</ul>
+<a name="getUptime--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUptime</h4>
+<pre>public&nbsp;long&nbsp;getUptime()</pre>
+</li>
+</ul>
+<a name="tryToCommit-org.apache.zookeeper.server.quorum.Leader.Proposal-long-java.net.SocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tryToCommit</h4>
+<pre>public&nbsp;boolean&nbsp;tryToCommit(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;p,
+ long&nbsp;zxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;followerAddr)</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True if committed, otherwise false.</dd>
+</dl>
+</li>
+</ul>
+<a name="processAck-long-long-java.net.SocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processAck</h4>
+<pre>public&nbsp;void&nbsp;processAck(long&nbsp;sid,
+ long&nbsp;zxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;followerAddr)</pre>
+<div class="block">Keep a count of acks that are received by the leader for a particular
+ proposal</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - is the id of the server that sent the ack</dd>
+<dd><code>zxid</code> - is the zxid of the proposal sent out</dd>
+<dd><code>followerAddr</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="commit-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commit</h4>
+<pre>public&nbsp;void&nbsp;commit(long&nbsp;zxid)</pre>
+<div class="block">Create a commit packet and send it to all the members of the quorum</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>zxid</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="commitAndActivate-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commitAndActivate</h4>
+<pre>public&nbsp;void&nbsp;commitAndActivate(long&nbsp;zxid,
+ long&nbsp;designatedLeader)</pre>
+</li>
+</ul>
+<a name="inform-org.apache.zookeeper.server.quorum.Leader.Proposal-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inform</h4>
+<pre>public&nbsp;void&nbsp;inform(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;proposal)</pre>
+<div class="block">Create an inform packet and send it to all observers.</div>
+</li>
+</ul>
+<a name="buildInformAndActivePacket-long-long-byte:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildInformAndActivePacket</h4>
+<pre>public static&nbsp;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;buildInformAndActivePacket(long&nbsp;zxid,
+ long&nbsp;designatedLeader,
+ byte[]&nbsp;proposalData)</pre>
+</li>
+</ul>
+<a name="informAndActivate-org.apache.zookeeper.server.quorum.Leader.Proposal-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>informAndActivate</h4>
+<pre>public&nbsp;void&nbsp;informAndActivate(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;proposal,
+ long&nbsp;designatedLeader)</pre>
+<div class="block">Create an inform and activate packet and send it to all observers.</div>
+</li>
+</ul>
+<a name="getLastProposed--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastProposed</h4>
+<pre>public&nbsp;long&nbsp;getLastProposed()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLastProposed--">LearnerMaster</a></code></span></div>
+<div class="block">last proposed zxid</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>last proposed zxid</dd>
+</dl>
+</li>
+</ul>
+<a name="getEpoch--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEpoch</h4>
+<pre>public&nbsp;long&nbsp;getEpoch()</pre>
+<div class="block">Returns the current epoch of the leader.</div>
+</li>
+</ul>
+<a name="propose-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>propose</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;propose(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)
+ throws <a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Leader.XidRolloverException</a></pre>
+<div class="block">create a proposal and send it out to all the members</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>request</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the proposal that is queued to send to all the members</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Leader.XidRolloverException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="processSync-org.apache.zookeeper.server.quorum.LearnerSyncRequest-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processSync</h4>
+<pre>public&nbsp;void&nbsp;processSync(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a>&nbsp;r)</pre>
+<div class="block">Process sync requests</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>r</code> - the request</dd>
+</dl>
+</li>
+</ul>
+<a name="sendSync-org.apache.zookeeper.server.quorum.LearnerSyncRequest-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sendSync</h4>
+<pre>public&nbsp;void&nbsp;sendSync(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a>&nbsp;r)</pre>
+<div class="block">Sends a sync message to the appropriate server</div>
+</li>
+</ul>
+<a name="startForwarding-org.apache.zookeeper.server.quorum.LearnerHandler-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startForwarding</h4>
+<pre>public&nbsp;long&nbsp;startForwarding(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;handler,
+ long&nbsp;lastSeenZxid)</pre>
+<div class="block">lets the leader know that a follower is capable of following and is done
+ syncing</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>handler</code> - handler of the follower</dd>
+<dd><code>lastSeenZxid</code> - zxid of learner</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>last proposed zxid</dd>
+</dl>
+</li>
+</ul>
+<a name="waitForStartup--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitForStartup</h4>
+<pre>public&nbsp;void&nbsp;waitForStartup()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#waitForStartup--">LearnerMaster</a></code></span></div>
+<div class="block">wait for server to start</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxTimeToWaitForEpoch-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxTimeToWaitForEpoch</h4>
+<pre>public static&nbsp;void&nbsp;setMaxTimeToWaitForEpoch(int&nbsp;maxTimeToWaitForEpoch)</pre>
+</li>
+</ul>
+<a name="setLeadingVoteSet-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLeadingVoteSet</h4>
+<pre>public&nbsp;void&nbsp;setLeadingVoteSet(<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet)</pre>
+</li>
+</ul>
+<a name="reportLookingSid-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reportLookingSid</h4>
+<pre>public&nbsp;void&nbsp;reportLookingSid(long&nbsp;sid)</pre>
+</li>
+</ul>
+<a name="getEpochToPropose-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEpochToPropose</h4>
+<pre>public&nbsp;long&nbsp;getEpochToPropose(long&nbsp;sid,
+ long&nbsp;lastAcceptedEpoch)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getEpochToPropose-long-long-">LearnerMaster</a></code></span></div>
+<div class="block">get the first zxid of the next epoch</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - learner id</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the first zxid of the next epoch</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getZKDatabase--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getZKDatabase</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;getZKDatabase()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getZKDatabase--">LearnerMaster</a></code></span></div>
+<div class="block">ZKDatabase</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ZKDatabase</dd>
+</dl>
+</li>
+</ul>
+<a name="waitForEpochAck-long-org.apache.zookeeper.server.quorum.StateSummary-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitForEpochAck</h4>
+<pre>public&nbsp;void&nbsp;waitForEpochAck(long&nbsp;id,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#waitForEpochAck-long-org.apache.zookeeper.server.quorum.StateSummary-">LearnerMaster</a></code></span></div>
+<div class="block">wait for the leader of the new epoch to be confirmed by followers</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>id</code> - learner id</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="waitForNewLeaderAck-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitForNewLeaderAck</h4>
+<pre>public&nbsp;void&nbsp;waitForNewLeaderAck(long&nbsp;sid,
+ long&nbsp;zxid)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block">Process NEWLEADER ack of a given sid and wait until the leader receives
+ sufficient acks.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - </dd>
+<dd><code>zxid</code> - zxid at learner</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getPacketType-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPacketType</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getPacketType(int&nbsp;packetType)</pre>
+<div class="block">Get string representation of a given packet type</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packetType</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>string representing the packet type</dd>
+</dl>
+</li>
+</ul>
+<a name="getCurrentTick--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentTick</h4>
+<pre>public&nbsp;int&nbsp;getCurrentTick()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getCurrentTick--">LearnerMaster</a></code></span></div>
+<div class="block">the current tick</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current tick</dd>
+</dl>
+</li>
+</ul>
+<a name="syncTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syncTimeout</h4>
+<pre>public&nbsp;int&nbsp;syncTimeout()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#syncTimeout--">LearnerMaster</a></code></span></div>
+<div class="block">time allowed for sync response</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>time allowed for sync response</dd>
+</dl>
+</li>
+</ul>
+<a name="getTickOfNextAckDeadline--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTickOfNextAckDeadline</h4>
+<pre>public&nbsp;int&nbsp;getTickOfNextAckDeadline()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getTickOfNextAckDeadline--">LearnerMaster</a></code></span></div>
+<div class="block">deadline tick marking observer sync (initial)</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>deadline tick marking observer sync (initial)</dd>
+</dl>
+</li>
+</ul>
+<a name="getTickOfInitialAckDeadline--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTickOfInitialAckDeadline</h4>
+<pre>public&nbsp;int&nbsp;getTickOfInitialAckDeadline()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getTickOfInitialAckDeadline--">LearnerMaster</a></code></span></div>
+<div class="block">next deadline tick marking observer sync (steady state)</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>next deadline tick marking observer sync (steady state)</dd>
+</dl>
+</li>
+</ul>
+<a name="getAndDecrementFollowerCounter--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAndDecrementFollowerCounter</h4>
+<pre>public&nbsp;long&nbsp;getAndDecrementFollowerCounter()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getAndDecrementFollowerCounter--">LearnerMaster</a></code></span></div>
+<div class="block">decrement follower count</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>previous follower count</dd>
+</dl>
+</li>
+</ul>
+<a name="touch-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>touch</h4>
+<pre>public&nbsp;void&nbsp;touch(long&nbsp;sess,
+ int&nbsp;to)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#touch-long-int-">LearnerMaster</a></code></span></div>
+<div class="block">mark session as alive</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sess</code> - session id</dd>
+<dd><code>to</code> - timeout</dd>
+</dl>
+</li>
+</ul>
+<a name="submitLearnerRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submitLearnerRequest</h4>
+<pre>public&nbsp;void&nbsp;submitLearnerRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#submitLearnerRequest-org.apache.zookeeper.server.Request-">LearnerMaster</a></code></span></div>
+<div class="block">proxy request from learner to server</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>si</code> - request</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumVerifierVersion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumVerifierVersion</h4>
+<pre>public&nbsp;long&nbsp;getQuorumVerifierVersion()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getQuorumVerifierVersion--">LearnerMaster</a></code></span></div>
+<div class="block">version of current quorum verifier</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of current quorum verifier</dd>
+</dl>
+</li>
+</ul>
+<a name="getPeerInfo-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeerInfo</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getPeerInfo(long&nbsp;sid)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - server id</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>server information in the view</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumVerifierBytes--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumVerifierBytes</h4>
+<pre>public&nbsp;byte[]&nbsp;getQuorumVerifierBytes()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getQuorumVerifierBytes--">LearnerMaster</a></code></span></div>
+<div class="block">identifier of current quorum verifier for new leader</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>identifier of current quorum verifier for new leader</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumAuthServer--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAuthServer</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>&nbsp;getQuorumAuthServer()</pre>
+</li>
+</ul>
+<a name="revalidateSession-org.apache.zookeeper.server.quorum.QuorumPacket-org.apache.zookeeper.server.quorum.LearnerHandler-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>revalidateSession</h4>
+<pre>public&nbsp;void&nbsp;revalidateSession(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#revalidateSession-org.apache.zookeeper.server.quorum.QuorumPacket-org.apache.zookeeper.server.quorum.LearnerHandler-">LearnerMaster</a></code></span></div>
+<div class="block">handle revalidate packet</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>qp</code> - session packet</dd>
+<dd><code>learnerHandler</code> - learner</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerLearnerHandlerBean</h4>
+<pre>public&nbsp;void&nbsp;registerLearnerHandlerBean(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#registerLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">LearnerMaster</a></code></span></div>
+<div class="block">registers the handler's bean</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learnerHandler</code> - handler</dd>
+<dd><code>socket</code> - connection to learner</dd>
+</dl>
+</li>
+</ul>
+<a name="unregisterLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>unregisterLearnerHandlerBean</h4>
+<pre>public&nbsp;void&nbsp;unregisterLearnerHandlerBean(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#unregisterLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-">LearnerMaster</a></code></span></div>
+<div class="block">unregisters the handler's bean</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learnerHandler</code> - handler</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Leader.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Leader.html" target="_top">Frames</a></li>
+<li><a href="Leader.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderBean.html
new file mode 100644
index 000000000..b47c18c43
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderBean.html
@@ -0,0 +1,555 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LeaderBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LeaderBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LeaderBean" class="title">Class LeaderBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServerBean</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LeaderBean</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LeaderBean</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></pre>
+<div class="block">Leader MBean interface implementation.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#zks">zks</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#LeaderBean-org.apache.zookeeper.server.quorum.Leader-org.apache.zookeeper.server.ZooKeeperServer-">LeaderBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;leader,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#followerInfo--">followerInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#getCurrentZxid--">getCurrentZxid</a></span>()</code>
+<div class="block">Current zxid of cluster.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#getElectionTimeTaken--">getElectionTimeTaken</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#getLastProposalSize--">getLastProposalSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#getMaxProposalSize--">getMaxProposalSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#getMinProposalSize--">getMinProposalSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#nonVotingFollowerInfo--">nonVotingFollowerInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#resetProposalStatistics--">resetProposalStatistics</a></span>()</code>
+<div class="block">Resets statistics of proposal size (min/max/last)</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a></span>(int&nbsp;maxConcurrentDiffSyncs)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></span>(int&nbsp;maxConcurrentSnapshots)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getAuthFailedCount--">getAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getAvgRequestLatency--">getAvgRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getCommitProcMaxCommitBatchSize--">getCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getCommitProcMaxReadBatchSize--">getCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDecreaseRatio--">getConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDropDecrease--">getConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDropIncrease--">getConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionFreezeTime--">getConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionMaxTokens--">getConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionTokenFillCount--">getConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionTokenFillTime--">getConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getFlushDelay--">getFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getFsyncThresholdExceedCount--">getFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getJuteMaxBufferSize--">getJuteMaxBufferSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLastClientResponseSize--">getLastClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxBatchSize--">getMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxClientResponseSize--">getMaxClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxCnxns--">getMaxCnxns</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxRequestLatency--">getMaxRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxWriteQueuePollTime--">getMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinClientResponseSize--">getMinClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinRequestLatency--">getMinRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNonMTLSLocalConnCount--">getNonMTLSLocalConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNonMTLSRemoteConnCount--">getNonMTLSRemoteConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getPacketsReceived--">getPacketsReceived</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getPacketsSent--">getPacketsSent</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestStaleConnectionCheck--">getRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestStaleLatencyCheck--">getRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleDropStale--">getRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleLimit--">getRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleStallTime--">getRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getResponseCachingEnabled--">getResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getSecureClientAddress--">getSecureClientAddress</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getVersion--">getVersion</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#isHidden--">isHidden</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetAuthFailedCount--">resetAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetFsyncThresholdExceedCount--">resetFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetLatency--">resetLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetMaxLatency--">resetMaxLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetNonMTLSConnCount--">resetNonMTLSConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetStatistics--">resetStatistics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setCommitProcMaxCommitBatchSize-int-">setCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setCommitProcMaxReadBatchSize-int-">setCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDecreaseRatio-double-">setConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDropDecrease-double-">setConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDropIncrease-double-">setConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionFreezeTime-int-">setConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionMaxTokens-int-">setConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionTokenFillCount-int-">setConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionTokenFillTime-int-">setConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setFlushDelay-long-">setFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxBatchSize-int-">setMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxClientCnxnsPerHost-int-">setMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxWriteQueuePollTime-long-">setMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestStaleConnectionCheck-boolean-">setRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestStaleLatencyCheck-boolean-">setRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleDropStale-boolean-">setRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleLimit-int-">setRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleStallTime-int-">setRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setTickTime-int-">setTickTime</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerMXBean">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAuthFailedCount--">getAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAvgRequestLatency--">getAvgRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxCommitBatchSize--">getCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxReadBatchSize--">getCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDecreaseRatio--">getConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropDecrease--">getConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropIncrease--">getConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionFreezeTime--">getConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionMaxTokens--">getConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillCount--">getConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillTime--">getConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFlushDelay--">getFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFsyncThresholdExceedCount--">getFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getJuteMaxBufferSize--">getJuteMaxBufferSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLastClientResponseSize--">getLastClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxBatchSize--">getMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientResponseSize--">getMaxClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxCnxns--">getMaxCnxns</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxRequestLatency--">getMaxRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxWriteQueuePollTime--">getMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinClientResponseSize--">getMinClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinRequestLatency--">getMinRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSLocalConnCount--">getNonMTLSLocalConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSRemoteConnCount--">getNonMTLSRemoteConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsReceived--">getPacketsReceived</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsSent--">getPacketsSent</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleConnectionCheck--">getRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleLatencyCheck--">getRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleDropStale--">getRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleLimit--">getRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleStallTime--">getRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getResponseCachingEnabled--">getResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientAddress--">getSecureClientAddress</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getVersion--">getVersion</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetAuthFailedCount--">resetAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetFsyncThresholdExceedCount--">resetFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetLatency--">resetLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetMaxLatency--">resetMaxLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetNonMTLSConnCount--">resetNonMTLSConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetStatistics--">resetStatistics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxCommitBatchSize-int-">setCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxReadBatchSize-int-">setCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDecreaseRatio-double-">setConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropDecrease-double-">setConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropIncrease-double-">setConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionFreezeTime-int-">setConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionMaxTokens-int-">setConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillCount-int-">setConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillTime-int-">setConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setFlushDelay-long-">setFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxBatchSize-int-">setMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxClientCnxnsPerHost-int-">setMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxWriteQueuePollTime-long-">setMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleConnectionCheck-boolean-">setRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleLatencyCheck-boolean-">setRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleDropStale-boolean-">setRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleLimit-int-">setRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleStallTime-int-">setRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setTickTime-int-">setTickTime</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LeaderBean-org.apache.zookeeper.server.quorum.Leader-org.apache.zookeeper.server.ZooKeeperServer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LeaderBean</h4>
+<pre>public&nbsp;LeaderBean(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;leader,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getName--">getName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string identifying the MBean</dd>
+</dl>
+</li>
+</ul>
+<a name="getCurrentZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentZxid</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCurrentZxid()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getCurrentZxid--">LeaderMXBean</a></code></span></div>
+<div class="block">Current zxid of cluster.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getCurrentZxid--">getCurrentZxid</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="followerInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>followerInfo</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;followerInfo()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#followerInfo--">followerInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>information on current followers</dd>
+</dl>
+</li>
+</ul>
+<a name="nonVotingFollowerInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nonVotingFollowerInfo</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nonVotingFollowerInfo()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#nonVotingFollowerInfo--">nonVotingFollowerInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>information about current non-voting followers</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionTimeTaken--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionTimeTaken</h4>
+<pre>public&nbsp;long&nbsp;getElectionTimeTaken()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getElectionTimeTaken--">getElectionTimeTaken</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>time taken for leader election in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastProposalSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastProposalSize</h4>
+<pre>public&nbsp;int&nbsp;getLastProposalSize()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getLastProposalSize--">getLastProposalSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>size of latest generated proposal</dd>
+</dl>
+</li>
+</ul>
+<a name="getMinProposalSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMinProposalSize</h4>
+<pre>public&nbsp;int&nbsp;getMinProposalSize()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getMinProposalSize--">getMinProposalSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>size of smallest generated proposal</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxProposalSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxProposalSize</h4>
+<pre>public&nbsp;int&nbsp;getMaxProposalSize()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getMaxProposalSize--">getMaxProposalSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>size of largest generated proposal</dd>
+</dl>
+</li>
+</ul>
+<a name="resetProposalStatistics--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resetProposalStatistics</h4>
+<pre>public&nbsp;void&nbsp;resetProposalStatistics()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#resetProposalStatistics--">LeaderMXBean</a></code></span></div>
+<div class="block">Resets statistics of proposal size (min/max/last)</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#resetProposalStatistics--">resetProposalStatistics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxConcurrentSnapSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentSnapSyncs</h4>
+<pre>public&nbsp;int&nbsp;getMaxConcurrentSnapSyncs()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of concurrent snapshots permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxConcurrentSnapSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxConcurrentSnapSyncs</h4>
+<pre>public&nbsp;void&nbsp;setMaxConcurrentSnapSyncs(int&nbsp;maxConcurrentSnapshots)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentSnapshots</code> - Number of concurrent snapshots permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxConcurrentDiffSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentDiffSyncs</h4>
+<pre>public&nbsp;int&nbsp;getMaxConcurrentDiffSyncs()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of concurrent diff syncs permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxConcurrentDiffSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setMaxConcurrentDiffSyncs</h4>
+<pre>public&nbsp;void&nbsp;setMaxConcurrentDiffSyncs(int&nbsp;maxConcurrentDiffSyncs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentDiffSyncs</code> - Number of concurrent diff syncs permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionBean.html
new file mode 100644
index 000000000..ba1e0dcd8
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionBean.html
@@ -0,0 +1,329 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LeaderElectionBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LeaderElectionBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderElectionBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderElectionBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderElectionBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LeaderElectionBean" class="title">Class LeaderElectionBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LeaderElectionBean</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LeaderElectionBean</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a>, <a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></pre>
+<div class="block">Leader election MBean interface implementation</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html#LeaderElectionBean--">LeaderElectionBean</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html#getStartTime--">getStartTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html#isHidden--">isHidden</a></span>()</code>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LeaderElectionBean--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LeaderElectionBean</h4>
+<pre>public&nbsp;LeaderElectionBean()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string identifying the MBean</dd>
+</dl>
+</li>
+</ul>
+<a name="isHidden--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isHidden</h4>
+<pre>public&nbsp;boolean&nbsp;isHidden()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">ZKMBeanInfo</a></code></span></div>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools. Used for grouping MBeans.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">isHidden</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the MBean is hidden.</dd>
+</dl>
+</li>
+</ul>
+<a name="getStartTime--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getStartTime</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getStartTime()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html#getStartTime--">getStartTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the time when the leader election started</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderElectionBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderElectionBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderElectionBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html
new file mode 100644
index 000000000..028f7889a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LeaderElectionMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LeaderElectionMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderElectionMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderElectionMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface LeaderElectionMXBean" class="title">Interface LeaderElectionMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderElectionBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">LeaderElectionMXBean</span></pre>
+<div class="block">Leader election protocol MBean.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html#getStartTime--">getStartTime</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getStartTime--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getStartTime</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getStartTime()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the time when the leader election started</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderElectionMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderElectionMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderMXBean.html
new file mode 100644
index 000000000..861e4523d
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderMXBean.html
@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LeaderMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LeaderMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderMXBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface LeaderMXBean" class="title">Interface LeaderMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">LeaderMXBean</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></pre>
+<div class="block">Leader MBean.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#followerInfo--">followerInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getCurrentZxid--">getCurrentZxid</a></span>()</code>
+<div class="block">Current zxid of cluster.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getElectionTimeTaken--">getElectionTimeTaken</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getLastProposalSize--">getLastProposalSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getMaxProposalSize--">getMaxProposalSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#getMinProposalSize--">getMinProposalSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#nonVotingFollowerInfo--">nonVotingFollowerInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#resetProposalStatistics--">resetProposalStatistics</a></span>()</code>
+<div class="block">Resets statistics of proposal size (min/max/last)</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a></span>(int&nbsp;maxConcurrentDiffSyncs)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></span>(int&nbsp;maxConcurrentSnapSyncs)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerMXBean">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAuthFailedCount--">getAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAvgRequestLatency--">getAvgRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxCommitBatchSize--">getCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxReadBatchSize--">getCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDecreaseRatio--">getConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropDecrease--">getConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropIncrease--">getConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionFreezeTime--">getConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionMaxTokens--">getConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillCount--">getConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillTime--">getConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFlushDelay--">getFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFsyncThresholdExceedCount--">getFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getJuteMaxBufferSize--">getJuteMaxBufferSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLastClientResponseSize--">getLastClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxBatchSize--">getMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientResponseSize--">getMaxClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxCnxns--">getMaxCnxns</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxRequestLatency--">getMaxRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxWriteQueuePollTime--">getMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinClientResponseSize--">getMinClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinRequestLatency--">getMinRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSLocalConnCount--">getNonMTLSLocalConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSRemoteConnCount--">getNonMTLSRemoteConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsReceived--">getPacketsReceived</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsSent--">getPacketsSent</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleConnectionCheck--">getRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleLatencyCheck--">getRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleDropStale--">getRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleLimit--">getRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleStallTime--">getRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getResponseCachingEnabled--">getResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientAddress--">getSecureClientAddress</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getVersion--">getVersion</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetAuthFailedCount--">resetAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetFsyncThresholdExceedCount--">resetFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetLatency--">resetLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetMaxLatency--">resetMaxLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetNonMTLSConnCount--">resetNonMTLSConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetStatistics--">resetStatistics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxCommitBatchSize-int-">setCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxReadBatchSize-int-">setCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDecreaseRatio-double-">setConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropDecrease-double-">setConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropIncrease-double-">setConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionFreezeTime-int-">setConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionMaxTokens-int-">setConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillCount-int-">setConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillTime-int-">setConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setFlushDelay-long-">setFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxBatchSize-int-">setMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxClientCnxnsPerHost-int-">setMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxWriteQueuePollTime-long-">setMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleConnectionCheck-boolean-">setRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleLatencyCheck-boolean-">setRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleDropStale-boolean-">setRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleLimit-int-">setRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleStallTime-int-">setRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setTickTime-int-">setTickTime</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getCurrentZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentZxid</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCurrentZxid()</pre>
+<div class="block">Current zxid of cluster.</div>
+</li>
+</ul>
+<a name="followerInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>followerInfo</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;followerInfo()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>information on current followers</dd>
+</dl>
+</li>
+</ul>
+<a name="nonVotingFollowerInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nonVotingFollowerInfo</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nonVotingFollowerInfo()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>information about current non-voting followers</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionTimeTaken--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionTimeTaken</h4>
+<pre>long&nbsp;getElectionTimeTaken()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>time taken for leader election in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastProposalSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastProposalSize</h4>
+<pre>int&nbsp;getLastProposalSize()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>size of latest generated proposal</dd>
+</dl>
+</li>
+</ul>
+<a name="getMinProposalSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMinProposalSize</h4>
+<pre>int&nbsp;getMinProposalSize()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>size of smallest generated proposal</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxProposalSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxProposalSize</h4>
+<pre>int&nbsp;getMaxProposalSize()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>size of largest generated proposal</dd>
+</dl>
+</li>
+</ul>
+<a name="resetProposalStatistics--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resetProposalStatistics</h4>
+<pre>void&nbsp;resetProposalStatistics()</pre>
+<div class="block">Resets statistics of proposal size (min/max/last)</div>
+</li>
+</ul>
+<a name="getMaxConcurrentSnapSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentSnapSyncs</h4>
+<pre>int&nbsp;getMaxConcurrentSnapSyncs()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of concurrent snapshots permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxConcurrentSnapSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxConcurrentSnapSyncs</h4>
+<pre>void&nbsp;setMaxConcurrentSnapSyncs(int&nbsp;maxConcurrentSnapSyncs)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentSnapSyncs</code> - Number of concurrent snapshots permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxConcurrentDiffSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentDiffSyncs</h4>
+<pre>int&nbsp;getMaxConcurrentDiffSyncs()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of concurrent diff syncs permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxConcurrentDiffSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setMaxConcurrentDiffSyncs</h4>
+<pre>void&nbsp;setMaxConcurrentDiffSyncs(int&nbsp;maxConcurrentDiffSyncs)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentDiffSyncs</code> - Number of concurrent diff syncs permitted to send to observers</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderMXBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html
new file mode 100644
index 000000000..a731ee6c0
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html
@@ -0,0 +1,321 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LeaderRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LeaderRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="LeaderRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LeaderRequestProcessor" class="title">Class LeaderRequestProcessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LeaderRequestProcessor</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LeaderRequestProcessor</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></pre>
+<div class="block">Responsible for performing local session upgrade. Only request submitted
+ directly to the leader should go through this processor.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.RequestProcessor">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html#LeaderRequestProcessor-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">LeaderRequestProcessor</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LeaderRequestProcessor-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LeaderRequestProcessor</h4>
+<pre>public&nbsp;LeaderRequestProcessor(<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="processRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processRequest</h4>
+<pre>public&nbsp;void&nbsp;processRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)
+ throws <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="LeaderRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderSessionTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderSessionTracker.html
new file mode 100644
index 000000000..0e65bb77e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderSessionTracker.html
@@ -0,0 +1,634 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LeaderSessionTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LeaderSessionTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderSessionTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LeaderSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.UpgradeableSessionTracker">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LeaderSessionTracker" class="title">Class LeaderSessionTracker</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.UpgradeableSessionTracker</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LeaderSessionTracker</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LeaderSessionTracker</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></pre>
+<div class="block">The leader session tracker tracks local and global sessions on the leader.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.SessionTracker">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.Session.html" title="interface in org.apache.zookeeper.server">SessionTracker.Session</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.UpgradeableSessionTracker">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessionsEnabled">localSessionsEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessionTracker">localSessionTracker</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#LeaderSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-java.util.concurrent.ConcurrentMap-int-long-boolean-org.apache.zookeeper.server.ZooKeeperServerListener-">LeaderSessionTracker</a></span>(<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>&nbsp;expirer,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;sessionsWithTimeouts,
+ int&nbsp;tickTime,
+ long&nbsp;id,
+ boolean&nbsp;localSessionsEnabled,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#checkGlobalSession-long-java.lang.Object-">checkGlobalSession</a></span>(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)</code>
+<div class="block">Strictly check that a given session is a global session or not</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#checkSession-long-java.lang.Object-">checkSession</a></span>(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)</code>
+<div class="block">Checks whether the SessionTracker is aware of this session, the session
+ is still active, and the owner matches.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#commitSession-long-int-">commitSession</a></span>(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</code>
+<div class="block">Synchronized on this to avoid race condition of adding a local session
+ after committed global session, which may cause the same session being
+ tracked on this server and leader.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#createSession-int-">createSession</a></span>(int&nbsp;sessionTimeout)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#dumpSessions-java.io.PrintWriter-">dumpSessions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;pwriter)</code>
+<div class="block">Text dump of session information, suitable for debugging.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#getServerIdFromSessionId-long-">getServerIdFromSessionId</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#getSessionExpiryMap--">getSessionExpiryMap</a></span>()</code>
+<div class="block">Returns a mapping of time to session IDs that expire at that time.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#globalSessions--">globalSessions</a></span>()</code>
+<div class="block">Get a set of global session IDs</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#isGlobalSession-long-">isGlobalSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#removeSession-long-">removeSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#setOwner-long-java.lang.Object-">setOwner</a></span>(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#setSessionClosing-long-">setSessionClosing</a></span>(long&nbsp;sessionId)</code>
+<div class="block">Mark that the session is in the process of closing.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#start--">start</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#touchSession-long-int-">touchSession</a></span>(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html#trackSession-long-int-">trackSession</a></span>(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</code>
+<div class="block">Track the session expire, not add to ZkDb.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.UpgradeableSessionTracker">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#createLocalSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-int-long-org.apache.zookeeper.server.ZooKeeperServerListener-">createLocalSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#finishedUpgrading-long-">finishedUpgrading</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#getLocalSessionCount--">getLocalSessionCount</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isLocalSession-long-">isLocalSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isLocalSessionsEnabled--">isLocalSessionsEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isTrackingSession-long-">isTrackingSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isUpgradingSession-long-">isUpgradingSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessions--">localSessions</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#removeLocalSession-long-">removeLocalSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#upgradeSession-long-">upgradeSession</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LeaderSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-java.util.concurrent.ConcurrentMap-int-long-boolean-org.apache.zookeeper.server.ZooKeeperServerListener-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LeaderSessionTracker</h4>
+<pre>public&nbsp;LeaderSessionTracker(<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>&nbsp;expirer,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;sessionsWithTimeouts,
+ int&nbsp;tickTime,
+ long&nbsp;id,
+ boolean&nbsp;localSessionsEnabled,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="removeSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeSession</h4>
+<pre>public&nbsp;void&nbsp;removeSession(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="start--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+</li>
+</ul>
+<a name="isGlobalSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isGlobalSession</h4>
+<pre>public&nbsp;boolean&nbsp;isGlobalSession(long&nbsp;sessionId)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isGlobalSession-long-">isGlobalSession</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="trackSession-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>trackSession</h4>
+<pre>public&nbsp;boolean&nbsp;trackSession(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#trackSession-long-int-">SessionTracker</a></code></span></div>
+<div class="block">Track the session expire, not add to ZkDb.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sessionId</code> - sessionId</dd>
+<dd><code>sessionTimeout</code> - sessionTimeout</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether the session was newly tracked (if false, already tracked)</dd>
+</dl>
+</li>
+</ul>
+<a name="commitSession-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commitSession</h4>
+<pre>public&nbsp;boolean&nbsp;commitSession(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</pre>
+<div class="block">Synchronized on this to avoid race condition of adding a local session
+ after committed global session, which may cause the same session being
+ tracked on this server and leader.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sessionId</code> - sessionId</dd>
+<dd><code>sessionTimeout</code> - sessionTimeout</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether the session was newly added (if false, already existed)</dd>
+</dl>
+</li>
+</ul>
+<a name="touchSession-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>touchSession</h4>
+<pre>public&nbsp;boolean&nbsp;touchSession(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>false if session is no longer active</dd>
+</dl>
+</li>
+</ul>
+<a name="createSession-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createSession</h4>
+<pre>public&nbsp;long&nbsp;createSession(int&nbsp;sessionTimeout)</pre>
+</li>
+</ul>
+<a name="getServerIdFromSessionId-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerIdFromSessionId</h4>
+<pre>public static&nbsp;long&nbsp;getServerIdFromSessionId(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="checkSession-long-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkSession</h4>
+<pre>public&nbsp;void&nbsp;checkSession(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)
+ throws <a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a>,
+ <a href="../../../../../org/apache/zookeeper/KeeperException.SessionMovedException.html" title="class in org.apache.zookeeper">KeeperException.SessionMovedException</a>,
+ <a href="../../../../../org/apache/zookeeper/KeeperException.UnknownSessionException.html" title="class in org.apache.zookeeper">KeeperException.UnknownSessionException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#checkSession-long-java.lang.Object-">SessionTracker</a></code></span></div>
+<div class="block">Checks whether the SessionTracker is aware of this session, the session
+ is still active, and the owner matches. If the owner wasn't previously
+ set, this sets the owner of the session.
+
+ UnknownSessionException should never been thrown to the client. It is
+ only used internally to deal with possible local session from other
+ machine</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.SessionMovedException.html" title="class in org.apache.zookeeper">KeeperException.SessionMovedException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.UnknownSessionException.html" title="class in org.apache.zookeeper">KeeperException.UnknownSessionException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="checkGlobalSession-long-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkGlobalSession</h4>
+<pre>public&nbsp;void&nbsp;checkGlobalSession(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)
+ throws <a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a>,
+ <a href="../../../../../org/apache/zookeeper/KeeperException.SessionMovedException.html" title="class in org.apache.zookeeper">KeeperException.SessionMovedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#checkGlobalSession-long-java.lang.Object-">SessionTracker</a></code></span></div>
+<div class="block">Strictly check that a given session is a global session or not</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#checkGlobalSession-long-java.lang.Object-">checkGlobalSession</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#checkGlobalSession-long-java.lang.Object-">checkGlobalSession</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>KeeperException.SessionExpiredException</code></dd>
+<dd><code>KeeperException.SessionMovedException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="setOwner-long-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setOwner</h4>
+<pre>public&nbsp;void&nbsp;setOwner(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)
+ throws <a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="dumpSessions-java.io.PrintWriter-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dumpSessions</h4>
+<pre>public&nbsp;void&nbsp;dumpSessions(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;pwriter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#dumpSessions-java.io.PrintWriter-">SessionTracker</a></code></span></div>
+<div class="block">Text dump of session information, suitable for debugging.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pwriter</code> - the output writer</dd>
+</dl>
+</li>
+</ul>
+<a name="setSessionClosing-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSessionClosing</h4>
+<pre>public&nbsp;void&nbsp;setSessionClosing(long&nbsp;sessionId)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#setSessionClosing-long-">SessionTracker</a></code></span></div>
+<div class="block">Mark that the session is in the process of closing.</div>
+</li>
+</ul>
+<a name="getSessionExpiryMap--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSessionExpiryMap</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;&nbsp;getSessionExpiryMap()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#getSessionExpiryMap--">SessionTracker</a></code></span></div>
+<div class="block">Returns a mapping of time to session IDs that expire at that time.</div>
+</li>
+</ul>
+<a name="globalSessions--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>globalSessions</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;globalSessions()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#globalSessions--">SessionTracker</a></code></span></div>
+<div class="block">Get a set of global session IDs</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderSessionTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LeaderSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.UpgradeableSessionTracker">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html
new file mode 100644
index 000000000..db20282e0
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html
@@ -0,0 +1,651 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LeaderZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LeaderZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="LeaderZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LeaderZooKeeperServer" class="title">Class LeaderZooKeeperServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.QuorumZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LeaderZooKeeperServer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LeaderZooKeeperServer</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></pre>
+<div class="block">Just like the standard ZooKeeperServer. We just replace the request
+ processors: PrepRequestProcessor -&gt; ProposalRequestProcessor -&gt;
+ CommitProcessor -&gt; Leader.ToBeAppliedRequestProcessor -&gt;
+ FinalRequestProcessor</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html" title="class in org.apache.zookeeper.server">ZooKeeperServer.MissingSessionException</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#self">self</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgradeableSessionTracker">upgradeableSessionTracker</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ALLOW_SASL_FAILED_CLIENTS">ALLOW_SASL_FAILED_CLIENTS</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#CLOSE_SESSION_TXN_ENABLED">CLOSE_SESSION_TXN_ENABLED</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_STARTING_BUFFER_SIZE">DEFAULT_STARTING_BUFFER_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_THROTTLED_OP_WAIT_TIME">DEFAULT_THROTTLED_OP_WAIT_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_TICK_TIME">DEFAULT_TICK_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENABLE_EAGER_ACL_CHECK">ENABLE_EAGER_ACL_CHECK</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENFORCE_QUOTA">ENFORCE_QUOTA</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enforceQuota">enforceQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#firstProcessor">firstProcessor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_CHILDREN_RESPONSE_CACHE_SIZE">GET_CHILDREN_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_DATA_RESPONSE_CACHE_SIZE">GET_DATA_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GLOBAL_OUTSTANDING_LIMIT">GLOBAL_OUTSTANDING_LIMIT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#initialConfig">initialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#INT_BUFFER_STARTING_SIZE_BYTES">INT_BUFFER_STARTING_SIZE_BYTES</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#intBufferStartingSizeBytes">intBufferStartingSizeBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxDataTreeBean">jmxDataTreeBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxServerBean">jmxServerBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jvmPauseMonitor">jvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#listenBacklog">listenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#LOG">LOG</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#maxSessionTimeout">maxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#minSessionTimeout">minSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ok">ok</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reconfigEnabled">reconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SASL_SUPER_USER">SASL_SUPER_USER</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#secureServerCnxnFactory">secureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverCnxnFactory">serverCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#sessionTracker">sessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SKIP_ACL">SKIP_ACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SNAP_COUNT">SNAP_COUNT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#state">state</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#throttledOpWaitTime">throttledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#tickTime">tickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ZOOKEEPER_DIGEST_ENABLED">ZOOKEEPER_DIGEST_ENABLED</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#LeaderZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.ZKDatabase-">LeaderZooKeeperServer</a></span>(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#checkIfValidGlobalSession-long-int-">checkIfValidGlobalSession</a></span>(long&nbsp;sess,
+ int&nbsp;to)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#createSessionTracker--">createSessionTracker</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#getGlobalOutstandingLimit--">getGlobalOutstandingLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#getLeader--">getLeader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#getServerId--">getServerId</a></span>()</code>
+<div class="block">Returns the id of the associated QuorumPeer, which will do for a unique
+ id of this server.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#registerJMX--">registerJMX</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.quorum.LeaderBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a>&nbsp;leaderBean,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#registerMetrics--">registerMetrics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">revalidateSession</a></span>(<a href="../../../../../org/apache/zookeeper/server/ServerCnxn.html" title="class in org.apache.zookeeper.server">ServerCnxn</a>&nbsp;cnxn,
+ long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#startup--">startup</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#submitLearnerRequest-org.apache.zookeeper.server.Request-">submitLearnerRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>
+<div class="block">Requests coming from the learner should go directly to
+ PrepRequestProcessor</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#touch-long-int-">touch</a></span>(long&nbsp;sess,
+ int&nbsp;to)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#unregisterJMX--">unregisterJMX</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#unregisterJMX-org.apache.zookeeper.server.quorum.Leader-">unregisterJMX</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;leader)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#checkUpgradeSession-org.apache.zookeeper.server.Request-">checkUpgradeSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpConf-java.io.PrintWriter-">dumpConf</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">dumpMonitorValues</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">setLocalSessionFlag</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">setState</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#startSessionTracker--">startSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgrade-long-">upgrade</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#authWriteRequest-org.apache.zookeeper.server.Request-">authWriteRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#canShutdown--">canShutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkACL-org.apache.zookeeper.server.ServerCnxn-java.util.List-int-java.util.List-java.lang.String-java.util.List-">checkACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkPasswd-long-byte:A-">checkPasswd</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkQuota-java.lang.String-byte:A-byte:A-int-">checkQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkRequestSizeWhenReceivingMessage-int-">checkRequestSizeWhenReceivingMessage</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-long-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-org.apache.zookeeper.server.ServerCnxn-org.apache.zookeeper.proto.RequestHeader-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#connThrottle--">connThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createRequestThrottler--">createRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#decInProcess--">decInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpEphemerals-java.io.PrintWriter-">dumpEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enqueueRequest-org.apache.zookeeper.server.Request-">enqueueRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-long-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-org.apache.zookeeper.server.SessionTracker.Session-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#finishSessionInit-org.apache.zookeeper.server.ServerCnxn-boolean-">finishSessionInit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPortListenBacklog--">getClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConf--">getConf</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConnectionDropChance--">getConnectionDropChance</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getEphemerals--">getEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGetChildrenResponseCache--">getGetChildrenResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInflight--">getInflight</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInitialConfig--">getInitialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInProcess--">getInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestBytes--">getLargeRequestBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLastProcessedZxid--">getLastProcessedZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingHandshakeNum--">getOutstandingHandshakeNum</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getReadResponseCache--">getReadResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getRequestPathMetricsCollector--">getRequestPathMetricsCollector</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureServerCnxnFactory--">getSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerCnxnFactory--">getServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionExpiryMap--">getSessionExpiryMap</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionTracker--">getSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapCount--">getSnapCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapSizeInBytes--">getSnapSizeInBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogFactory--">getTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZKDatabase--">getZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZkShutdownHandler--">getZkShutdownHandler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZooKeeperServerListener--">getZooKeeperServerListener</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZxid--">getZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#incInProcess--">incInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isCloseSessionTxnEnabled--">isCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isDigestEnabled--">isDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isEnableEagerACLCheck--">isEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isReconfigEnabled--">isReconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isResponseCachingEnabled--">isResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isRunning--">isRunning</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#killSession-long-long-">killSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#loadData--">loadData</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processConnectRequest-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processConnectRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processPacket-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processPacket</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.server.Request-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.txn.TxnHeader-org.apache.jute.Record-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reopenSession-org.apache.zookeeper.server.ServerCnxn-long-byte:A-int-">reopenSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#requestFinished-org.apache.zookeeper.server.Request-">requestFinished</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverStats--">serverStats</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setClientPortListenBacklog-int-">setClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCloseSessionTxnEnabled-boolean-">setCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCreateSessionTrackerServerId-int-">setCreateSessionTrackerServerId</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setDigestEnabled-boolean-">setDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setEnableEagerACLCheck-boolean-">setEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setOwner-long-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setSecureServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTickTime-int-">setTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTxnLogFactory-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">setTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZKDatabase-org.apache.zookeeper.server.ZKDatabase-">setZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZxid-long-">setZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldForceWriteInitialSnapshotAfterLeaderElection--">shouldForceWriteInitialSnapshotAfterLeaderElection</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldThrottle-long-">shouldThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown-boolean-">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startdata--">startdata</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startJvmPauseMonitor--">startJvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startRequestThrottler--">startRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startServing--">startServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startupWithoutServing--">startupWithoutServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequest-org.apache.zookeeper.server.Request-">submitRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequestNow-org.apache.zookeeper.server.Request-">submitRequestNow</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot--">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot-boolean-">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#truncateLog-long-">truncateLog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#validateSession-org.apache.zookeeper.server.ServerCnxn-long-">validateSession</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LeaderZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.ZKDatabase-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LeaderZooKeeperServer</h4>
+<pre>public&nbsp;LeaderZooKeeperServer(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getLeader--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLeader</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;getLeader()</pre>
+</li>
+</ul>
+<a name="setupRequestProcessors--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setupRequestProcessors</h4>
+<pre>protected&nbsp;void&nbsp;setupRequestProcessors()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="startup--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startup</h4>
+<pre>public&nbsp;void&nbsp;startup()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startup--">startup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerMetrics--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerMetrics</h4>
+<pre>protected&nbsp;void&nbsp;registerMetrics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#registerMetrics--">registerMetrics</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="unregisterMetrics--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregisterMetrics</h4>
+<pre>protected&nbsp;void&nbsp;unregisterMetrics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown--">shutdown</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getGlobalOutstandingLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGlobalOutstandingLimit</h4>
+<pre>public&nbsp;int&nbsp;getGlobalOutstandingLimit()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGlobalOutstandingLimit--">getGlobalOutstandingLimit</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="createSessionTracker--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createSessionTracker</h4>
+<pre>public&nbsp;void&nbsp;createSessionTracker()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createSessionTracker--">createSessionTracker</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="touch-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>touch</h4>
+<pre>public&nbsp;boolean&nbsp;touch(long&nbsp;sess,
+ int&nbsp;to)</pre>
+</li>
+</ul>
+<a name="checkIfValidGlobalSession-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkIfValidGlobalSession</h4>
+<pre>public&nbsp;boolean&nbsp;checkIfValidGlobalSession(long&nbsp;sess,
+ int&nbsp;to)</pre>
+</li>
+</ul>
+<a name="submitLearnerRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submitLearnerRequest</h4>
+<pre>public&nbsp;void&nbsp;submitLearnerRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</pre>
+<div class="block">Requests coming from the learner should go directly to
+ PrepRequestProcessor</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>request</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="registerJMX--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerJMX</h4>
+<pre>protected&nbsp;void&nbsp;registerJMX()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#registerJMX--">registerJMX</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJMX-org.apache.zookeeper.server.quorum.LeaderBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerJMX</h4>
+<pre>public&nbsp;void&nbsp;registerJMX(<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a>&nbsp;leaderBean,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</pre>
+</li>
+</ul>
+<a name="unregisterJMX--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregisterJMX</h4>
+<pre>protected&nbsp;void&nbsp;unregisterJMX()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#unregisterJMX--">unregisterJMX</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="unregisterJMX-org.apache.zookeeper.server.quorum.Leader-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregisterJMX</h4>
+<pre>protected&nbsp;void&nbsp;unregisterJMX(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;leader)</pre>
+</li>
+</ul>
+<a name="getState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getState()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html#getState--">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getState--">getState</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getServerId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerId</h4>
+<pre>public&nbsp;long&nbsp;getServerId()</pre>
+<div class="block">Returns the id of the associated QuorumPeer, which will do for a unique
+ id of this server.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html#getServerId--">getServerId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerId--">getServerId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>revalidateSession</h4>
+<pre>protected&nbsp;void&nbsp;revalidateSession(<a href="../../../../../org/apache/zookeeper/server/ServerCnxn.html" title="class in org.apache.zookeeper.server">ServerCnxn</a>&nbsp;cnxn,
+ long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">revalidateSession</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LeaderZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="LeaderZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Learner.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Learner.html
new file mode 100644
index 000000000..c67f3c9f3
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Learner.html
@@ -0,0 +1,745 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Learner (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Learner (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10,"i13":10,"i14":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Learner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Learner.html" target="_top">Frames</a></li>
+<li><a href="Learner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class Learner" class="title">Class Learner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.Learner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Learner</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This class is the superclass of two of the three main actors in a ZK
+ ensemble: Followers and Observers. Both Followers and Observers share
+ a good deal of code which is moved into Peer to avoid duplication.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/io/BufferedOutputStream.html?is-external=true" title="class or interface in java.io">BufferedOutputStream</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#bufferedOutput">bufferedOutput</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#closeSocketAsync">closeSocketAsync</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderAddr">leaderAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/jute/InputArchive.html?is-external=true" title="class or interface in org.apache.jute">InputArchive</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderIs">leaderIs</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/jute/OutputArchive.html?is-external=true" title="class or interface in org.apache.jute">OutputArchive</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderOs">leaderOs</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderProtocolVersion">leaderProtocolVersion</a></span></code>
+<div class="block">the protocol version of the leader</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#LEARNER_ASYNC_SENDING">LEARNER_ASYNC_SENDING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#LEARNER_CLOSE_SOCKET_ASYNC">LEARNER_CLOSE_SOCKET_ASYNC</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static org.slf4j.Logger</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#LOG">LOG</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/util/MessageTracker.html" title="class in org.apache.zookeeper.server.util">MessageTracker</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#messageTracker">messageTracker</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sock">sock</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sockBeingClosed">sockBeingClosed</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#Learner--">Learner</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#connectToLeader-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.String-">connectToLeader</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;multiAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)</code>
+<div class="block">Establish a connection with the LearnerMaster found by findLearnerMaster.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#createSocket--">createSocket</a></span>()</code>
+<div class="block">Creating a simple or and SSL socket.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#findLeader--">findLeader</a></span>()</code>
+<div class="block">Returns the address of the node we think is the leader.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getAsyncSending--">getAsyncSending</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getPendingRevalidationsCount--">getPendingRevalidationsCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getSocket--">getSocket</a></span>()</code>
+<div class="block">Socket getter</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#nanoTime--">nanoTime</a></span>()</code>
+<div class="block">Overridable helper method to return the System.nanoTime().</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#ping-org.apache.zookeeper.server.quorum.QuorumPacket-">ping</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#registerWithLeader-int-">registerWithLeader</a></span>(int&nbsp;pktType)</code>
+<div class="block">Once connected to the leader or learner master, perform the handshake
+ protocol to establish a following / observing connection.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#revalidate-org.apache.zookeeper.server.quorum.QuorumPacket-">revalidate</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>protected static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#setAsyncSending-boolean-">setAsyncSending</a></span>(boolean&nbsp;newMode)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#shutdown--">shutdown</a></span>()</code>
+<div class="block">Shutdown the Peer</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sockConnect-java.net.Socket-java.net.InetSocketAddress-int-">sockConnect</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ int&nbsp;timeout)</code>
+<div class="block">Overridable helper method to simply call sock.connect().</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#startSendingThread--">startSendingThread</a></span>()</code>
+<div class="block">Start thread that will forward any packet in the queue to the leader</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#syncWithLeader-long-">syncWithLeader</a></span>(long&nbsp;newLeaderZxid)</code>
+<div class="block">Finally, synchronize our history with the Leader (if Follower)
+ or the LearnerMaster (if Observer).</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="bufferedOutput">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bufferedOutput</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/BufferedOutputStream.html?is-external=true" title="class or interface in java.io">BufferedOutputStream</a> bufferedOutput</pre>
+</li>
+</ul>
+<a name="sock">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sock</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a> sock</pre>
+</li>
+</ul>
+<a name="leaderAddr">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leaderAddr</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a> leaderAddr</pre>
+</li>
+</ul>
+<a name="sockBeingClosed">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sockBeingClosed</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> sockBeingClosed</pre>
+</li>
+</ul>
+<a name="leaderIs">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leaderIs</h4>
+<pre>protected&nbsp;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/jute/InputArchive.html?is-external=true" title="class or interface in org.apache.jute">InputArchive</a> leaderIs</pre>
+</li>
+</ul>
+<a name="leaderOs">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leaderOs</h4>
+<pre>protected&nbsp;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/jute/OutputArchive.html?is-external=true" title="class or interface in org.apache.jute">OutputArchive</a> leaderOs</pre>
+</li>
+</ul>
+<a name="leaderProtocolVersion">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leaderProtocolVersion</h4>
+<pre>protected&nbsp;int leaderProtocolVersion</pre>
+<div class="block">the protocol version of the leader</div>
+</li>
+</ul>
+<a name="messageTracker">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>messageTracker</h4>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/zookeeper/server/util/MessageTracker.html" title="class in org.apache.zookeeper.server.util">MessageTracker</a> messageTracker</pre>
+</li>
+</ul>
+<a name="LOG">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOG</h4>
+<pre>protected static final&nbsp;org.slf4j.Logger LOG</pre>
+</li>
+</ul>
+<a name="LEARNER_ASYNC_SENDING">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEARNER_ASYNC_SENDING</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LEARNER_ASYNC_SENDING</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.Learner.LEARNER_ASYNC_SENDING">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="LEARNER_CLOSE_SOCKET_ASYNC">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEARNER_CLOSE_SOCKET_ASYNC</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LEARNER_CLOSE_SOCKET_ASYNC</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.Learner.LEARNER_CLOSE_SOCKET_ASYNC">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="closeSocketAsync">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>closeSocketAsync</h4>
+<pre>public static final&nbsp;boolean closeSocketAsync</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Learner--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Learner</h4>
+<pre>public&nbsp;Learner()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSocket--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSocket</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;getSocket()</pre>
+<div class="block">Socket getter</div>
+</li>
+</ul>
+<a name="getPendingRevalidationsCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPendingRevalidationsCount</h4>
+<pre>public&nbsp;int&nbsp;getPendingRevalidationsCount()</pre>
+</li>
+</ul>
+<a name="setAsyncSending-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAsyncSending</h4>
+<pre>protected static&nbsp;void&nbsp;setAsyncSending(boolean&nbsp;newMode)</pre>
+</li>
+</ul>
+<a name="getAsyncSending--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAsyncSending</h4>
+<pre>protected static&nbsp;boolean&nbsp;getAsyncSending()</pre>
+</li>
+</ul>
+<a name="startSendingThread--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startSendingThread</h4>
+<pre>protected&nbsp;void&nbsp;startSendingThread()</pre>
+<div class="block">Start thread that will forward any packet in the queue to the leader</div>
+</li>
+</ul>
+<a name="findLeader--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>findLeader</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;findLeader()</pre>
+<div class="block">Returns the address of the node we think is the leader.</div>
+</li>
+</ul>
+<a name="nanoTime--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nanoTime</h4>
+<pre>protected&nbsp;long&nbsp;nanoTime()</pre>
+<div class="block">Overridable helper method to return the System.nanoTime().
+ This method behaves identical to System.nanoTime().</div>
+</li>
+</ul>
+<a name="sockConnect-java.net.Socket-java.net.InetSocketAddress-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sockConnect</h4>
+<pre>protected&nbsp;void&nbsp;sockConnect(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ int&nbsp;timeout)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Overridable helper method to simply call sock.connect(). This can be
+ overriden in tests to fake connection success/failure for connectToLeader.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="connectToLeader-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connectToLeader</h4>
+<pre>protected&nbsp;void&nbsp;connectToLeader(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;multiAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Establish a connection with the LearnerMaster found by findLearnerMaster.
+ Followers only connect to Leaders, Observers can connect to any active LearnerMaster.
+ Retries until either initLimit time has elapsed or 5 tries have happened.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>multiAddr</code> - - the address of the Peer to connect to.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - - if the socket connection fails on the 5th attempt
+ if there is an authentication failure while connecting to leader</dd>
+</dl>
+</li>
+</ul>
+<a name="createSocket--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createSocket</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;createSocket()
+ throws <a href="../../../../../org/apache/zookeeper/common/X509Exception.html" title="class in org.apache.zookeeper.common">X509Exception</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Creating a simple or and SSL socket.
+ This can be overridden in tests to fake already connected sockets for connectToLeader.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/common/X509Exception.html" title="class in org.apache.zookeeper.common">X509Exception</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerWithLeader-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerWithLeader</h4>
+<pre>protected&nbsp;long&nbsp;registerWithLeader(int&nbsp;pktType)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Once connected to the leader or learner master, perform the handshake
+ protocol to establish a following / observing connection.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pktType</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the zxid the Leader sends for synchronization purposes.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="syncWithLeader-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syncWithLeader</h4>
+<pre>protected&nbsp;void&nbsp;syncWithLeader(long&nbsp;newLeaderZxid)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Finally, synchronize our history with the Leader (if Follower)
+ or the LearnerMaster (if Observer).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>newLeaderZxid</code> - </dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="revalidate-org.apache.zookeeper.server.quorum.QuorumPacket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>revalidate</h4>
+<pre>protected&nbsp;void&nbsp;revalidate(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="ping-org.apache.zookeeper.server.quorum.QuorumPacket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ping</h4>
+<pre>protected&nbsp;void&nbsp;ping(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<div class="block">Shutdown the Peer</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Learner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Learner.html" target="_top">Frames</a></li>
+<li><a href="Learner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandler.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandler.html
new file mode 100644
index 000000000..0411a59a8
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandler.html
@@ -0,0 +1,784 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerHandler (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerHandler (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerHandler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerHandler.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LearnerHandler" class="title">Class LearnerHandler</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerHandler</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LearnerHandler</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">ZooKeeperThread</a></pre>
+<div class="block">There will be an instance of this class created by the Leader for each
+ learner. All communication with a learner is handled by this
+ class.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#closeSocketAsync">closeSocketAsync</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#established">established</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#FORCE_SNAP_SYNC">FORCE_SNAP_SYNC</a></span></code>
+<div class="block">For testing purpose, force learnerMaster to use snapshot to sync with followers</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#lastZxid">lastZxid</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#LEADER_CLOSE_SOCKET_ASYNC">LEADER_CLOSE_SOCKET_ASYNC</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/util/MessageTracker.html" title="class in org.apache.zookeeper.server.util">MessageTracker</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#messageTracker">messageTracker</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#packetsReceived">packetsReceived</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#packetsSent">packetsSent</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#requestsReceived">requestsReceived</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#sid">sid</a></span></code>
+<div class="block">ZooKeeper server identifier of this learner</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#sock">sock</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#version">version</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#getEstablished--">getEstablished</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#getLastZxid--">getLastZxid</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#getLearnerHandlerInfo--">getLearnerHandlerInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#getLearnerType--">getLearnerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a>&lt;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#getQueuedPackets--">getQueuedPackets</a></span>()</code>
+<div class="block">For testing, return packet queue</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#getSocket--">getSocket</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#packetToString-org.apache.zookeeper.server.quorum.QuorumPacket-">packetToString</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#ping--">ping</a></span>()</code>
+<div class="block">ping calls from the learnerMaster to the peers</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#queueCommittedProposals-java.util.Iterator-long-java.lang.Long-java.lang.Long-">queueCommittedProposals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;itr,
+ long&nbsp;peerLastZxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;maxZxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;lastCommittedZxid)</code>
+<div class="block">Queue committed proposals into packet queue.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#resetObserverConnectionStats--">resetObserverConnectionStats</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#run--">run</a></span>()</code>
+<div class="block">This thread will receive packets from the peer and process them and
+ also listen to new connections from new peers.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#setBufferedOutput-java.io.BufferedOutputStream-">setBufferedOutput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/BufferedOutputStream.html?is-external=true" title="class or interface in java.io">BufferedOutputStream</a>&nbsp;bufferedOutput)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#setFirstPacket-boolean-">setFirstPacket</a></span>(boolean&nbsp;value)</code>
+<div class="block">For testing, we need to reset this value</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#setOutputArchive-org.apache.jute.BinaryOutputArchive-">setOutputArchive</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/jute/BinaryOutputArchive.html?is-external=true" title="class or interface in org.apache.jute">BinaryOutputArchive</a>&nbsp;oa)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#shouldSendMarkerPacketForLogging--">shouldSendMarkerPacketForLogging</a></span>()</code>
+<div class="block">Tests need not send marker packets as they are only needed to
+ log quorum packet delays</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#startSendingPackets--">startSendingPackets</a></span>()</code>
+<div class="block">Start thread that will forward any packet in the queue to the follower</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#synced--">synced</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#tickOfNextAckDeadline--">tickOfNextAckDeadline</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">ZooKeeperThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="LEADER_CLOSE_SOCKET_ASYNC">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEADER_CLOSE_SOCKET_ASYNC</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LEADER_CLOSE_SOCKET_ASYNC</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.LearnerHandler.LEADER_CLOSE_SOCKET_ASYNC">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="closeSocketAsync">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closeSocketAsync</h4>
+<pre>public static final&nbsp;boolean closeSocketAsync</pre>
+</li>
+</ul>
+<a name="sock">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sock</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a> sock</pre>
+</li>
+</ul>
+<a name="sid">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sid</h4>
+<pre>protected&nbsp;long sid</pre>
+<div class="block">ZooKeeper server identifier of this learner</div>
+</li>
+</ul>
+<a name="version">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>version</h4>
+<pre>protected&nbsp;int version</pre>
+</li>
+</ul>
+<a name="packetsReceived">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>packetsReceived</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> packetsReceived</pre>
+</li>
+</ul>
+<a name="packetsSent">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>packetsSent</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> packetsSent</pre>
+</li>
+</ul>
+<a name="requestsReceived">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requestsReceived</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> requestsReceived</pre>
+</li>
+</ul>
+<a name="lastZxid">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lastZxid</h4>
+<pre>protected volatile&nbsp;long lastZxid</pre>
+</li>
+</ul>
+<a name="established">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>established</h4>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a> established</pre>
+</li>
+</ul>
+<a name="messageTracker">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>messageTracker</h4>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/zookeeper/server/util/MessageTracker.html" title="class in org.apache.zookeeper.server.util">MessageTracker</a> messageTracker</pre>
+</li>
+</ul>
+<a name="FORCE_SNAP_SYNC">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FORCE_SNAP_SYNC</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FORCE_SNAP_SYNC</pre>
+<div class="block">For testing purpose, force learnerMaster to use snapshot to sync with followers</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.LearnerHandler.FORCE_SNAP_SYNC">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSocket--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSocket</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;getSocket()</pre>
+</li>
+</ul>
+<a name="getLastZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastZxid</h4>
+<pre>public&nbsp;long&nbsp;getLastZxid()</pre>
+</li>
+</ul>
+<a name="getEstablished--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEstablished</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a>&nbsp;getEstablished()</pre>
+</li>
+</ul>
+<a name="setOutputArchive-org.apache.jute.BinaryOutputArchive-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setOutputArchive</h4>
+<pre>protected&nbsp;void&nbsp;setOutputArchive(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/jute/BinaryOutputArchive.html?is-external=true" title="class or interface in org.apache.jute">BinaryOutputArchive</a>&nbsp;oa)</pre>
+</li>
+</ul>
+<a name="setBufferedOutput-java.io.BufferedOutputStream-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setBufferedOutput</h4>
+<pre>protected&nbsp;void&nbsp;setBufferedOutput(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/BufferedOutputStream.html?is-external=true" title="class or interface in java.io">BufferedOutputStream</a>&nbsp;bufferedOutput)</pre>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLearnerType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerType</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;getLearnerType()</pre>
+</li>
+</ul>
+<a name="packetToString-org.apache.zookeeper.server.quorum.QuorumPacket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>packetToString</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;packetToString(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;p)</pre>
+</li>
+</ul>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<div class="block">This thread will receive packets from the peer and process them and
+ also listen to new connections from new peers.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="startSendingPackets--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startSendingPackets</h4>
+<pre>protected&nbsp;void&nbsp;startSendingPackets()</pre>
+<div class="block">Start thread that will forward any packet in the queue to the follower</div>
+</li>
+</ul>
+<a name="shouldSendMarkerPacketForLogging--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldSendMarkerPacketForLogging</h4>
+<pre>protected&nbsp;boolean&nbsp;shouldSendMarkerPacketForLogging()</pre>
+<div class="block">Tests need not send marker packets as they are only needed to
+ log quorum packet delays</div>
+</li>
+</ul>
+<a name="queueCommittedProposals-java.util.Iterator-long-java.lang.Long-java.lang.Long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>queueCommittedProposals</h4>
+<pre>protected&nbsp;long&nbsp;queueCommittedProposals(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;itr,
+ long&nbsp;peerLastZxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;maxZxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;lastCommittedZxid)</pre>
+<div class="block">Queue committed proposals into packet queue. The range of packets which
+ is going to be queued are (peerLaxtZxid, maxZxid]</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>itr</code> - iterator point to the proposals</dd>
+<dd><code>peerLastZxid</code> - last zxid seen by the follower</dd>
+<dd><code>maxZxid</code> - max zxid of the proposal to queue, null if no limit</dd>
+<dd><code>lastCommittedZxid</code> - when sending diff, we need to send lastCommittedZxid
+ on the leader to follow Zab 1.0 protocol.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>last zxid of the queued proposal</dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+</li>
+</ul>
+<a name="tickOfNextAckDeadline--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tickOfNextAckDeadline</h4>
+<pre>public&nbsp;long&nbsp;tickOfNextAckDeadline()</pre>
+</li>
+</ul>
+<a name="ping--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ping</h4>
+<pre>public&nbsp;void&nbsp;ping()</pre>
+<div class="block">ping calls from the learnerMaster to the peers</div>
+</li>
+</ul>
+<a name="synced--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>synced</h4>
+<pre>public&nbsp;boolean&nbsp;synced()</pre>
+</li>
+</ul>
+<a name="getLearnerHandlerInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerHandlerInfo</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;getLearnerHandlerInfo()</pre>
+</li>
+</ul>
+<a name="resetObserverConnectionStats--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resetObserverConnectionStats</h4>
+<pre>public&nbsp;void&nbsp;resetObserverConnectionStats()</pre>
+</li>
+</ul>
+<a name="getQueuedPackets--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQueuedPackets</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a>&lt;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&gt;&nbsp;getQueuedPackets()</pre>
+<div class="block">For testing, return packet queue</div>
+</li>
+</ul>
+<a name="setFirstPacket-boolean-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setFirstPacket</h4>
+<pre>public&nbsp;void&nbsp;setFirstPacket(boolean&nbsp;value)</pre>
+<div class="block">For testing, we need to reset this value</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerHandler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerHandler.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerBean.html
new file mode 100644
index 000000000..d2b981c86
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerBean.html
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerHandlerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerHandlerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerHandlerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandlerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LearnerHandlerBean" class="title">Class LearnerHandlerBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerHandlerBean</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LearnerHandlerBean</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a>, <a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html#LearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">LearnerHandlerBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html#isHidden--">isHidden</a></span>()</code>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html#terminateConnection--">terminateConnection</a></span>()</code>
+<div class="block">Terminate the connection.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LearnerHandlerBean</h4>
+<pre>public&nbsp;LearnerHandlerBean(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string identifying the MBean</dd>
+</dl>
+</li>
+</ul>
+<a name="isHidden--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isHidden</h4>
+<pre>public&nbsp;boolean&nbsp;isHidden()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">ZKMBeanInfo</a></code></span></div>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools. Used for grouping MBeans.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">isHidden</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the MBean is hidden.</dd>
+</dl>
+</li>
+</ul>
+<a name="terminateConnection--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>terminateConnection</h4>
+<pre>public&nbsp;void&nbsp;terminateConnection()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html#terminateConnection--">LearnerHandlerMXBean</a></code></span></div>
+<div class="block">Terminate the connection. The learner will attempt to reconnect to
+ the leader or to the next ObserverMaster if that feature is enabled</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html#terminateConnection--">terminateConnection</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerHandlerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandlerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html
new file mode 100644
index 000000000..c26a764b5
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerHandlerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerHandlerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerHandlerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandlerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface LearnerHandlerMXBean" class="title">Interface LearnerHandlerMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandlerBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">LearnerHandlerMXBean</span></pre>
+<div class="block">This MBean represents a server connection for a learner.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html#terminateConnection--">terminateConnection</a></span>()</code>
+<div class="block">Terminate the connection.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="terminateConnection--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>terminateConnection</h4>
+<pre>void&nbsp;terminateConnection()</pre>
+<div class="block">Terminate the connection. The learner will attempt to reconnect to
+ the leader or to the next ObserverMaster if that feature is enabled</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerHandlerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandlerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerMaster.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerMaster.html
new file mode 100644
index 000000000..6d943e398
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerMaster.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerMaster (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerMaster (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerMaster.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerMaster.html" target="_top">Frames</a></li>
+<li><a href="LearnerMaster.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LearnerMaster" class="title">Class LearnerMaster</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerMaster</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum">ObserverMaster</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">LearnerMaster</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">interface for keeping Observers in sync</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#LearnerMaster--">LearnerMaster</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLearnerDiffSyncThrottler--">getLearnerDiffSyncThrottler</a></span>()</code>
+<div class="block">diff sync throttler</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLearnerSnapSyncThrottler--">getLearnerSnapSyncThrottler</a></span>()</code>
+<div class="block">snap sync throttler</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a></span>(int&nbsp;maxConcurrentDiffSyncs)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></span>(int&nbsp;maxConcurrentSnapSyncs)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LearnerMaster--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LearnerMaster</h4>
+<pre>public&nbsp;LearnerMaster()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getMaxConcurrentSnapSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentSnapSyncs</h4>
+<pre>public&nbsp;int&nbsp;getMaxConcurrentSnapSyncs()</pre>
+</li>
+</ul>
+<a name="setMaxConcurrentSnapSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxConcurrentSnapSyncs</h4>
+<pre>public&nbsp;void&nbsp;setMaxConcurrentSnapSyncs(int&nbsp;maxConcurrentSnapSyncs)</pre>
+</li>
+</ul>
+<a name="getMaxConcurrentDiffSyncs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxConcurrentDiffSyncs</h4>
+<pre>public&nbsp;int&nbsp;getMaxConcurrentDiffSyncs()</pre>
+</li>
+</ul>
+<a name="setMaxConcurrentDiffSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxConcurrentDiffSyncs</h4>
+<pre>public&nbsp;void&nbsp;setMaxConcurrentDiffSyncs(int&nbsp;maxConcurrentDiffSyncs)</pre>
+</li>
+</ul>
+<a name="getLearnerSnapSyncThrottler--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerSnapSyncThrottler</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a>&nbsp;getLearnerSnapSyncThrottler()</pre>
+<div class="block">snap sync throttler</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>snapshot throttler</dd>
+</dl>
+</li>
+</ul>
+<a name="getLearnerDiffSyncThrottler--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLearnerDiffSyncThrottler</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a>&nbsp;getLearnerDiffSyncThrottler()</pre>
+<div class="block">diff sync throttler</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>diff throttler</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerMaster.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerMaster.html" target="_top">Frames</a></li>
+<li><a href="LearnerMaster.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSender.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSender.html
new file mode 100644
index 000000000..3388d516a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSender.html
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerSender (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerSender (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSender.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSender.html" target="_top">Frames</a></li>
+<li><a href="LearnerSender.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.lang.Thread">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LearnerSender" class="title">Class LearnerSender</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperCriticalThread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerSender</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LearnerSender</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html#LearnerSender-org.apache.zookeeper.server.quorum.Learner-">LearnerSender</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;learner)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html#queuePacket-org.apache.zookeeper.server.quorum.QuorumPacket-">queuePacket</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;pp)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperCriticalThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LearnerSender-org.apache.zookeeper.server.quorum.Learner-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LearnerSender</h4>
+<pre>public&nbsp;LearnerSender(<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;learner)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="queuePacket-org.apache.zookeeper.server.quorum.QuorumPacket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>queuePacket</h4>
+<pre>public&nbsp;void&nbsp;queuePacket(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;pp)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSender.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSender.html" target="_top">Frames</a></li>
+<li><a href="LearnerSender.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.lang.Thread">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSessionTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSessionTracker.html
new file mode 100644
index 000000000..3c8a7c6f0
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSessionTracker.html
@@ -0,0 +1,611 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerSessionTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerSessionTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSessionTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LearnerSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.UpgradeableSessionTracker">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LearnerSessionTracker" class="title">Class LearnerSessionTracker</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.UpgradeableSessionTracker</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerSessionTracker</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LearnerSessionTracker</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></pre>
+<div class="block">The learner session tracker is used by learners (followers and observers) to
+ track zookeeper sessions which may or may not be echoed to the leader. When
+ a new session is created it is saved locally in a wrapped
+ LocalSessionTracker. It can subsequently be upgraded to a global session
+ as required. If an upgrade is requested the session is removed from local
+ collections while keeping the same session ID. It is up to the caller to
+ queue a session creation request for the leader.
+ A secondary function of the learner session tracker is to remember sessions
+ which have been touched in this service. This information is passed along
+ to the leader with a ping.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.SessionTracker">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.Session.html" title="interface in org.apache.zookeeper.server">SessionTracker.Session</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.UpgradeableSessionTracker">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessionsEnabled">localSessionsEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessionTracker">localSessionTracker</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#LearnerSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-java.util.concurrent.ConcurrentMap-int-long-boolean-org.apache.zookeeper.server.ZooKeeperServerListener-">LearnerSessionTracker</a></span>(<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>&nbsp;expirer,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;sessionsWithTimeouts,
+ int&nbsp;tickTime,
+ long&nbsp;id,
+ boolean&nbsp;localSessionsEnabled,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#checkSession-long-java.lang.Object-">checkSession</a></span>(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)</code>
+<div class="block">Checks whether the SessionTracker is aware of this session, the session
+ is still active, and the owner matches.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#commitSession-long-int-">commitSession</a></span>(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</code>
+<div class="block">Synchronized on this to avoid race condition of adding a local session
+ after committed global session, which may cause the same session being
+ tracked on this server and leader.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#createSession-int-">createSession</a></span>(int&nbsp;sessionTimeout)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#dumpSessions-java.io.PrintWriter-">dumpSessions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;pwriter)</code>
+<div class="block">Text dump of session information, suitable for debugging.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#getSessionExpiryMap--">getSessionExpiryMap</a></span>()</code>
+<div class="block">Returns a mapping of time to session IDs that expire at that time.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#globalSessions--">globalSessions</a></span>()</code>
+<div class="block">Get a set of global session IDs</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#isGlobalSession-long-">isGlobalSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#removeSession-long-">removeSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#setOwner-long-java.lang.Object-">setOwner</a></span>(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#setSessionClosing-long-">setSessionClosing</a></span>(long&nbsp;sessionId)</code>
+<div class="block">Mark that the session is in the process of closing.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#snapshot--">snapshot</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#start--">start</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#touchSession-long-int-">touchSession</a></span>(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html#trackSession-long-int-">trackSession</a></span>(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</code>
+<div class="block">Track the session expire, not add to ZkDb.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.UpgradeableSessionTracker">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#checkGlobalSession-long-java.lang.Object-">checkGlobalSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#createLocalSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-int-long-org.apache.zookeeper.server.ZooKeeperServerListener-">createLocalSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#finishedUpgrading-long-">finishedUpgrading</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#getLocalSessionCount--">getLocalSessionCount</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isLocalSession-long-">isLocalSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isLocalSessionsEnabled--">isLocalSessionsEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isTrackingSession-long-">isTrackingSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isUpgradingSession-long-">isUpgradingSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessions--">localSessions</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#removeLocalSession-long-">removeLocalSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#upgradeSession-long-">upgradeSession</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LearnerSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-java.util.concurrent.ConcurrentMap-int-long-boolean-org.apache.zookeeper.server.ZooKeeperServerListener-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LearnerSessionTracker</h4>
+<pre>public&nbsp;LearnerSessionTracker(<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>&nbsp;expirer,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;sessionsWithTimeouts,
+ int&nbsp;tickTime,
+ long&nbsp;id,
+ boolean&nbsp;localSessionsEnabled,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="removeSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeSession</h4>
+<pre>public&nbsp;void&nbsp;removeSession(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="start--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+</li>
+</ul>
+<a name="isGlobalSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isGlobalSession</h4>
+<pre>public&nbsp;boolean&nbsp;isGlobalSession(long&nbsp;sessionId)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isGlobalSession-long-">isGlobalSession</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="trackSession-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>trackSession</h4>
+<pre>public&nbsp;boolean&nbsp;trackSession(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#trackSession-long-int-">SessionTracker</a></code></span></div>
+<div class="block">Track the session expire, not add to ZkDb.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sessionId</code> - sessionId</dd>
+<dd><code>sessionTimeout</code> - sessionTimeout</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether the session was newly tracked (if false, already tracked)</dd>
+</dl>
+</li>
+</ul>
+<a name="commitSession-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commitSession</h4>
+<pre>public&nbsp;boolean&nbsp;commitSession(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</pre>
+<div class="block">Synchronized on this to avoid race condition of adding a local session
+ after committed global session, which may cause the same session being
+ tracked on this server and leader.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sessionId</code> - sessionId</dd>
+<dd><code>sessionTimeout</code> - sessionTimeout</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether the session was newly added (if false, already existed)</dd>
+</dl>
+</li>
+</ul>
+<a name="touchSession-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>touchSession</h4>
+<pre>public&nbsp;boolean&nbsp;touchSession(long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>false if session is no longer active</dd>
+</dl>
+</li>
+</ul>
+<a name="snapshot--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>snapshot</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;snapshot()</pre>
+</li>
+</ul>
+<a name="createSession-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createSession</h4>
+<pre>public&nbsp;long&nbsp;createSession(int&nbsp;sessionTimeout)</pre>
+</li>
+</ul>
+<a name="checkSession-long-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkSession</h4>
+<pre>public&nbsp;void&nbsp;checkSession(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)
+ throws <a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a>,
+ <a href="../../../../../org/apache/zookeeper/KeeperException.SessionMovedException.html" title="class in org.apache.zookeeper">KeeperException.SessionMovedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#checkSession-long-java.lang.Object-">SessionTracker</a></code></span></div>
+<div class="block">Checks whether the SessionTracker is aware of this session, the session
+ is still active, and the owner matches. If the owner wasn't previously
+ set, this sets the owner of the session.
+
+ UnknownSessionException should never been thrown to the client. It is
+ only used internally to deal with possible local session from other
+ machine</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.SessionMovedException.html" title="class in org.apache.zookeeper">KeeperException.SessionMovedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setOwner-long-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setOwner</h4>
+<pre>public&nbsp;void&nbsp;setOwner(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)
+ throws <a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="dumpSessions-java.io.PrintWriter-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dumpSessions</h4>
+<pre>public&nbsp;void&nbsp;dumpSessions(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;pwriter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#dumpSessions-java.io.PrintWriter-">SessionTracker</a></code></span></div>
+<div class="block">Text dump of session information, suitable for debugging.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pwriter</code> - the output writer</dd>
+</dl>
+</li>
+</ul>
+<a name="setSessionClosing-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSessionClosing</h4>
+<pre>public&nbsp;void&nbsp;setSessionClosing(long&nbsp;sessionId)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#setSessionClosing-long-">SessionTracker</a></code></span></div>
+<div class="block">Mark that the session is in the process of closing.</div>
+</li>
+</ul>
+<a name="getSessionExpiryMap--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSessionExpiryMap</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;&nbsp;getSessionExpiryMap()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#getSessionExpiryMap--">SessionTracker</a></code></span></div>
+<div class="block">Returns a mapping of time to session IDs that expire at that time.</div>
+</li>
+</ul>
+<a name="globalSessions--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>globalSessions</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;globalSessions()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#globalSessions--">SessionTracker</a></code></span></div>
+<div class="block">Get a set of global session IDs</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSessionTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LearnerSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.UpgradeableSessionTracker">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncRequest.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncRequest.html
new file mode 100644
index 000000000..96b64834c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncRequest.html
@@ -0,0 +1,276 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerSyncRequest (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerSyncRequest (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSyncRequest.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncRequest.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.Request">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.zookeeper.server.Request">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LearnerSyncRequest" class="title">Class LearnerSyncRequest</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.Request</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerSyncRequest</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LearnerSyncRequest</span>
+extends <a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.Request">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/Request.html#authInfo">authInfo</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#cnxn">cnxn</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#commitProcQueueStartTime">commitProcQueueStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#commitRecvTime">commitRecvTime</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#createTime">createTime</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#cxid">cxid</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#prepQueueStartTime">prepQueueStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#prepStartTime">prepStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#qv">qv</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#request">request</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#requestOfDeath">requestOfDeath</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#requestThrottleQueueTime">requestThrottleQueueTime</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#sessionId">sessionId</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#syncQueueStartTime">syncQueueStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#type">type</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#zxid">zxid</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html#LearnerSyncRequest-org.apache.zookeeper.server.quorum.LearnerHandler-long-int-int-java.nio.ByteBuffer-java.util.List-">LearnerSyncRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;fh,
+ long&nbsp;sessionId,
+ int&nbsp;xid,
+ int&nbsp;type,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;bb,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/data/Id.html?is-external=true" title="class or interface in org.apache.zookeeper.data">Id</a>&gt;&nbsp;authInfo)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.Request">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/Request.html#getConnection--">getConnection</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getException--">getException</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getHdr--">getHdr</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getLargeRequestSize--">getLargeRequestSize</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getOwner--">getOwner</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getStaleConnectionCheck--">getStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getStaleLatencyCheck--">getStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getTxn--">getTxn</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getTxnDigest--">getTxnDigest</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#getUsersForAudit--">getUsersForAudit</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#isFromLearner--">isFromLearner</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#isLocalSession--">isLocalSession</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#isQuorum--">isQuorum</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#isStale--">isStale</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#isThrottlable--">isThrottlable</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#isThrottled--">isThrottled</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#logLatency-org.apache.zookeeper.metrics.Summary-">logLatency</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#logLatency-org.apache.zookeeper.metrics.Summary-long-">logLatency</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#logLatency-org.apache.zookeeper.metrics.SummarySet-java.lang.String-">logLatency</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#logLatency-org.apache.zookeeper.metrics.SummarySet-java.lang.String-long-">logLatency</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#mustDrop--">mustDrop</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#op2String-int-">op2String</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setException-org.apache.zookeeper.KeeperException-">setException</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setHdr-org.apache.zookeeper.txn.TxnHeader-">setHdr</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setIsThrottled-boolean-">setIsThrottled</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setLargeRequestSize-int-">setLargeRequestSize</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setLocalSession-boolean-">setLocalSession</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setOwner-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setStaleConnectionCheck-boolean-">setStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setStaleLatencyCheck-boolean-">setStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setTxn-org.apache.jute.Record-">setTxn</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#setTxnDigest-org.apache.zookeeper.txn.TxnDigest-">setTxnDigest</a>, <a href="../../../../../org/apache/zookeeper/server/Request.html#toString--">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LearnerSyncRequest-org.apache.zookeeper.server.quorum.LearnerHandler-long-int-int-java.nio.ByteBuffer-java.util.List-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LearnerSyncRequest</h4>
+<pre>public&nbsp;LearnerSyncRequest(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;fh,
+ long&nbsp;sessionId,
+ int&nbsp;xid,
+ int&nbsp;type,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;bb,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/data/Id.html?is-external=true" title="class or interface in org.apache.zookeeper.data">Id</a>&gt;&nbsp;authInfo)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSyncRequest.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncRequest.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.Request">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.zookeeper.server.Request">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html
new file mode 100644
index 000000000..3cb081a4a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerSyncThrottler.SyncType (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerSyncThrottler.SyncType (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSyncThrottler.SyncType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncThrottler.SyncType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Enum LearnerSyncThrottler.SyncType" class="title">Enum LearnerSyncThrottler.SyncType</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">LearnerSyncThrottler.SyncType</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!-- -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html#DIFF">DIFF</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html#SNAP">SNAP</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!-- -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="DIFF">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DIFF</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a> DIFF</pre>
+</li>
+</ul>
+<a name="SNAP">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SNAP</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a> SNAP</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared. This method may be used to iterate
+over the constants as follows:
+<pre>
+for (LearnerSyncThrottler.SyncType c : LearnerSyncThrottler.SyncType.values())
+&nbsp; System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSyncThrottler.SyncType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncThrottler.SyncType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html
new file mode 100644
index 000000000..5d4d9a44e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerSyncThrottler (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerSyncThrottler (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSyncThrottler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncThrottler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LearnerSyncThrottler" class="title">Class LearnerSyncThrottler</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerSyncThrottler</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LearnerSyncThrottler</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Utility class to limit the number of concurrent syncs from a leader to
+ observers and followers or from a follower to observers. <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum"><code>LearnerHandler</code></a>
+ objects should call <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#beginSync-boolean-"><code>beginSync(boolean)</code></a> before sending a sync and
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#endSync--"><code>endSync()</code></a> after finishing, successfully or not.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#LearnerSyncThrottler-int-org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType-">LearnerSyncThrottler</a></span>(int&nbsp;maxConcurrentSyncs,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&nbsp;syncType)</code>
+<div class="block">Constructs a new instance limiting the concurrent number of syncs to
+ <code>maxConcurrentSyncs</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#beginSync-boolean-">beginSync</a></span>(boolean&nbsp;essential)</code>
+<div class="block">Indicates that a new sync is about to be sent.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#endSync--">endSync</a></span>()</code>
+<div class="block">Indicates that a sync has been completed.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#getSyncInProgress--">getSyncInProgress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#setMaxConcurrentSyncs-int-">setMaxConcurrentSyncs</a></span>(int&nbsp;maxConcurrentSyncs)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LearnerSyncThrottler-int-org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LearnerSyncThrottler</h4>
+<pre>public&nbsp;LearnerSyncThrottler(int&nbsp;maxConcurrentSyncs,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&nbsp;syncType)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
+<div class="block">Constructs a new instance limiting the concurrent number of syncs to
+ <code>maxConcurrentSyncs</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentSyncs</code> - maximum concurrent number of syncs</dd>
+<dd><code>syncType</code> - either a snapshot sync or a txn-based diff sync</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - when <code>maxConcurrentSyncs</code>
+ is less than 1</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="beginSync-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>beginSync</h4>
+<pre>protected&nbsp;void&nbsp;beginSync(boolean&nbsp;essential)
+ throws <a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum">SyncThrottleException</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block">Indicates that a new sync is about to be sent.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>essential</code> - if <code>true</code>, do not throw an exception even
+ if throttling limit is reached</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum">SyncThrottleException</a></code> - if throttling limit has been exceeded
+ and <code>essential == false</code>,
+ even after waiting for the timeout
+ period, if any</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if thread is interrupted while trying
+ to start a sync; cannot happen if
+ timeout is zero</dd>
+</dl>
+</li>
+</ul>
+<a name="endSync--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>endSync</h4>
+<pre>public&nbsp;void&nbsp;endSync()</pre>
+<div class="block">Indicates that a sync has been completed.</div>
+</li>
+</ul>
+<a name="setMaxConcurrentSyncs-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxConcurrentSyncs</h4>
+<pre>public&nbsp;void&nbsp;setMaxConcurrentSyncs(int&nbsp;maxConcurrentSyncs)</pre>
+</li>
+</ul>
+<a name="getSyncInProgress--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getSyncInProgress</h4>
+<pre>public&nbsp;int&nbsp;getSyncInProgress()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerSyncThrottler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncThrottler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html
new file mode 100644
index 000000000..f69295796
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html
@@ -0,0 +1,568 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LearnerZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LearnerZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":6,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="LearnerZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LearnerZooKeeperServer" class="title">Class LearnerZooKeeperServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.QuorumZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LearnerZooKeeperServer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">LearnerZooKeeperServer</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></pre>
+<div class="block">Parent class for all ZooKeeperServers for Learners</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html" title="class in org.apache.zookeeper.server">ZooKeeperServer.MissingSessionException</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">CommitProcessor</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#commitProcessor">commitProcessor</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/SyncRequestProcessor.html" title="class in org.apache.zookeeper.server">SyncRequestProcessor</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#syncProcessor">syncProcessor</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#self">self</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgradeableSessionTracker">upgradeableSessionTracker</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ALLOW_SASL_FAILED_CLIENTS">ALLOW_SASL_FAILED_CLIENTS</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#CLOSE_SESSION_TXN_ENABLED">CLOSE_SESSION_TXN_ENABLED</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_STARTING_BUFFER_SIZE">DEFAULT_STARTING_BUFFER_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_THROTTLED_OP_WAIT_TIME">DEFAULT_THROTTLED_OP_WAIT_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_TICK_TIME">DEFAULT_TICK_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENABLE_EAGER_ACL_CHECK">ENABLE_EAGER_ACL_CHECK</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENFORCE_QUOTA">ENFORCE_QUOTA</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enforceQuota">enforceQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#firstProcessor">firstProcessor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_CHILDREN_RESPONSE_CACHE_SIZE">GET_CHILDREN_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_DATA_RESPONSE_CACHE_SIZE">GET_DATA_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GLOBAL_OUTSTANDING_LIMIT">GLOBAL_OUTSTANDING_LIMIT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#initialConfig">initialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#INT_BUFFER_STARTING_SIZE_BYTES">INT_BUFFER_STARTING_SIZE_BYTES</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#intBufferStartingSizeBytes">intBufferStartingSizeBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxDataTreeBean">jmxDataTreeBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxServerBean">jmxServerBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jvmPauseMonitor">jvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#listenBacklog">listenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#LOG">LOG</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#maxSessionTimeout">maxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#minSessionTimeout">minSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ok">ok</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reconfigEnabled">reconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SASL_SUPER_USER">SASL_SUPER_USER</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#secureServerCnxnFactory">secureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverCnxnFactory">serverCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#sessionTracker">sessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SKIP_ACL">SKIP_ACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SNAP_COUNT">SNAP_COUNT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#state">state</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#throttledOpWaitTime">throttledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#tickTime">tickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ZOOKEEPER_DIGEST_ENABLED">ZOOKEEPER_DIGEST_ENABLED</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#LearnerZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-int-int-int-int-org.apache.zookeeper.server.ZKDatabase-org.apache.zookeeper.server.quorum.QuorumPeer-">LearnerZooKeeperServer</a></span>(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ int&nbsp;tickTime,
+ int&nbsp;minSessionTimeout,
+ int&nbsp;maxSessionTimeout,
+ int&nbsp;listenBacklog,
+ <a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#createSessionTracker--">createSessionTracker</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getLearner--">getLearner</a></span>()</code>
+<div class="block">Abstract method to return the learner associated with this server.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getServerId--">getServerId</a></span>()</code>
+<div class="block">Returns the id of the associated QuorumPeer, which will do for a unique
+ id of this server.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getTouchSnapshot--">getTouchSnapshot</a></span>()</code>
+<div class="block">Returns the current state of the session tracker.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#registerJMX--">registerJMX</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.ZooKeeperServerBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a>&nbsp;serverBean,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">revalidateSession</a></span>(<a href="../../../../../org/apache/zookeeper/server/ServerCnxn.html" title="class in org.apache.zookeeper.server">ServerCnxn</a>&nbsp;cnxn,
+ long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#unregisterJMX--">unregisterJMX</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#unregisterJMX-org.apache.zookeeper.server.quorum.Learner-">unregisterJMX</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#checkUpgradeSession-org.apache.zookeeper.server.Request-">checkUpgradeSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpConf-java.io.PrintWriter-">dumpConf</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">dumpMonitorValues</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#registerMetrics--">registerMetrics</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">setLocalSessionFlag</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">setState</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#startSessionTracker--">startSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgrade-long-">upgrade</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#authWriteRequest-org.apache.zookeeper.server.Request-">authWriteRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#canShutdown--">canShutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkACL-org.apache.zookeeper.server.ServerCnxn-java.util.List-int-java.util.List-java.lang.String-java.util.List-">checkACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkPasswd-long-byte:A-">checkPasswd</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkQuota-java.lang.String-byte:A-byte:A-int-">checkQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkRequestSizeWhenReceivingMessage-int-">checkRequestSizeWhenReceivingMessage</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-long-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-org.apache.zookeeper.server.ServerCnxn-org.apache.zookeeper.proto.RequestHeader-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#connThrottle--">connThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createRequestThrottler--">createRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#decInProcess--">decInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpEphemerals-java.io.PrintWriter-">dumpEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enqueueRequest-org.apache.zookeeper.server.Request-">enqueueRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-long-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-org.apache.zookeeper.server.SessionTracker.Session-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#finishSessionInit-org.apache.zookeeper.server.ServerCnxn-boolean-">finishSessionInit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPortListenBacklog--">getClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConf--">getConf</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConnectionDropChance--">getConnectionDropChance</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getEphemerals--">getEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGetChildrenResponseCache--">getGetChildrenResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGlobalOutstandingLimit--">getGlobalOutstandingLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInflight--">getInflight</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInitialConfig--">getInitialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInProcess--">getInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestBytes--">getLargeRequestBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLastProcessedZxid--">getLastProcessedZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingHandshakeNum--">getOutstandingHandshakeNum</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getReadResponseCache--">getReadResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getRequestPathMetricsCollector--">getRequestPathMetricsCollector</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureServerCnxnFactory--">getSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerCnxnFactory--">getServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionExpiryMap--">getSessionExpiryMap</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionTracker--">getSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapCount--">getSnapCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapSizeInBytes--">getSnapSizeInBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getState--">getState</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogFactory--">getTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZKDatabase--">getZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZkShutdownHandler--">getZkShutdownHandler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZooKeeperServerListener--">getZooKeeperServerListener</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZxid--">getZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#incInProcess--">incInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isCloseSessionTxnEnabled--">isCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isDigestEnabled--">isDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isEnableEagerACLCheck--">isEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isReconfigEnabled--">isReconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isResponseCachingEnabled--">isResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isRunning--">isRunning</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#killSession-long-long-">killSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#loadData--">loadData</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processConnectRequest-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processConnectRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processPacket-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processPacket</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.server.Request-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.txn.TxnHeader-org.apache.jute.Record-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reopenSession-org.apache.zookeeper.server.ServerCnxn-long-byte:A-int-">reopenSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#requestFinished-org.apache.zookeeper.server.Request-">requestFinished</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverStats--">serverStats</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setClientPortListenBacklog-int-">setClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCloseSessionTxnEnabled-boolean-">setCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCreateSessionTrackerServerId-int-">setCreateSessionTrackerServerId</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setDigestEnabled-boolean-">setDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setEnableEagerACLCheck-boolean-">setEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setOwner-long-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setSecureServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTickTime-int-">setTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTxnLogFactory-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">setTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZKDatabase-org.apache.zookeeper.server.ZKDatabase-">setZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZxid-long-">setZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldForceWriteInitialSnapshotAfterLeaderElection--">shouldForceWriteInitialSnapshotAfterLeaderElection</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldThrottle-long-">shouldThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown-boolean-">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startdata--">startdata</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startJvmPauseMonitor--">startJvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startRequestThrottler--">startRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startServing--">startServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startup--">startup</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startupWithoutServing--">startupWithoutServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequest-org.apache.zookeeper.server.Request-">submitRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequestNow-org.apache.zookeeper.server.Request-">submitRequestNow</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot--">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot-boolean-">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#truncateLog-long-">truncateLog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#validateSession-org.apache.zookeeper.server.ServerCnxn-long-">validateSession</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="commitProcessor">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commitProcessor</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">CommitProcessor</a> commitProcessor</pre>
+</li>
+</ul>
+<a name="syncProcessor">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>syncProcessor</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/SyncRequestProcessor.html" title="class in org.apache.zookeeper.server">SyncRequestProcessor</a> syncProcessor</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LearnerZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-int-int-int-int-org.apache.zookeeper.server.ZKDatabase-org.apache.zookeeper.server.quorum.QuorumPeer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LearnerZooKeeperServer</h4>
+<pre>public&nbsp;LearnerZooKeeperServer(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ int&nbsp;tickTime,
+ int&nbsp;minSessionTimeout,
+ int&nbsp;maxSessionTimeout,
+ int&nbsp;listenBacklog,
+ <a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getLearner--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearner</h4>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;getLearner()</pre>
+<div class="block">Abstract method to return the learner associated with this server.
+ Since the Learner may change under our feet (when QuorumPeer reassigns
+ it) we can't simply take a reference here. Instead, we need the
+ subclasses to implement this.</div>
+</li>
+</ul>
+<a name="getTouchSnapshot--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTouchSnapshot</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getTouchSnapshot()</pre>
+<div class="block">Returns the current state of the session tracker. This is only currently
+ used by a Learner to build a ping response packet.</div>
+</li>
+</ul>
+<a name="getServerId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerId</h4>
+<pre>public&nbsp;long&nbsp;getServerId()</pre>
+<div class="block">Returns the id of the associated QuorumPeer, which will do for a unique
+ id of this server.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html#getServerId--">getServerId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerId--">getServerId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="createSessionTracker--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createSessionTracker</h4>
+<pre>public&nbsp;void&nbsp;createSessionTracker()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createSessionTracker--">createSessionTracker</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>revalidateSession</h4>
+<pre>protected&nbsp;void&nbsp;revalidateSession(<a href="../../../../../org/apache/zookeeper/server/ServerCnxn.html" title="class in org.apache.zookeeper.server">ServerCnxn</a>&nbsp;cnxn,
+ long&nbsp;sessionId,
+ int&nbsp;sessionTimeout)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">revalidateSession</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJMX--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerJMX</h4>
+<pre>protected&nbsp;void&nbsp;registerJMX()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#registerJMX--">registerJMX</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJMX-org.apache.zookeeper.server.ZooKeeperServerBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerJMX</h4>
+<pre>public&nbsp;void&nbsp;registerJMX(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a>&nbsp;serverBean,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</pre>
+</li>
+</ul>
+<a name="unregisterJMX--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregisterJMX</h4>
+<pre>protected&nbsp;void&nbsp;unregisterJMX()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#unregisterJMX--">unregisterJMX</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="unregisterJMX-org.apache.zookeeper.server.quorum.Learner-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregisterJMX</h4>
+<pre>protected&nbsp;void&nbsp;unregisterJMX(<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;peer)</pre>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown--">shutdown</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LearnerZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="LearnerZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerBean.html
new file mode 100644
index 000000000..7a6e4da50
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerBean.html
@@ -0,0 +1,722 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LocalPeerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LocalPeerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LocalPeerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LocalPeerBean.html" target="_top">Frames</a></li>
+<li><a href="LocalPeerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LocalPeerBean" class="title">Class LocalPeerBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.ServerBean</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LocalPeerBean</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LocalPeerBean</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></pre>
+<div class="block">Implementation of the local peer MBean interface.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#LocalPeerBean-org.apache.zookeeper.server.quorum.QuorumPeer-">LocalPeerBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getClientAddress--">getClientAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getConfigVersion--">getConfigVersion</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getElectionAddress--">getElectionAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getElectionType--">getElectionType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getInitLimit--">getInitLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getLearnerType--">getLearnerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a></span>()</code>
+<div class="block">Current maxClientCnxns allowed from a particular host</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getMaxCnxns--">getMaxCnxns</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getMinSessionTimeout--">getMinSessionTimeout</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getQuorumSystemInfo--">getQuorumSystemInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getSyncLimit--">getSyncLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getTick--">getTick</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#getTickTime--">getTickTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#isHidden--">isHidden</a></span>()</code>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#isLeader--">isLeader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#isPartOfEnsemble--">isPartOfEnsemble</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#setInitLimit-int-">setInitLimit</a></span>(int&nbsp;initLimit)</code>
+<div class="block">Set the number of ticks that the initial sync phase can take</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#setSyncLimit-int-">setSyncLimit</a></span>(int&nbsp;syncLimit)</code>
+<div class="block">Set the number of ticks that can pass between sending a request
+ and getting a acknowledgment</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.ServerBean">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html#getStartTime--">getStartTime</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.ServerMXBean">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html#getStartTime--">getStartTime</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LocalPeerBean-org.apache.zookeeper.server.quorum.QuorumPeer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LocalPeerBean</h4>
+<pre>public&nbsp;LocalPeerBean(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;peer)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>name of the server MBean</dd>
+</dl>
+</li>
+</ul>
+<a name="isHidden--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isHidden</h4>
+<pre>public&nbsp;boolean&nbsp;isHidden()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">ZKMBeanInfo</a></code></span></div>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools. Used for grouping MBeans.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">isHidden</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html#isHidden--">isHidden</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the MBean is hidden.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTickTime--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTickTime</h4>
+<pre>public&nbsp;int&nbsp;getTickTime()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getTickTime--">getTickTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of milliseconds of each tick</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxClientCnxnsPerHost--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxClientCnxnsPerHost</h4>
+<pre>public&nbsp;int&nbsp;getMaxClientCnxnsPerHost()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMaxClientCnxnsPerHost--">LocalPeerMXBean</a></code></span></div>
+<div class="block">Current maxClientCnxns allowed from a particular host</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMinSessionTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMinSessionTimeout</h4>
+<pre>public&nbsp;int&nbsp;getMinSessionTimeout()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMinSessionTimeout--">getMinSessionTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the minimum number of milliseconds allowed for a session timeout</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxSessionTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxSessionTimeout</h4>
+<pre>public&nbsp;int&nbsp;getMaxSessionTimeout()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the maximum number of milliseconds allowed for a session timeout</dd>
+</dl>
+</li>
+</ul>
+<a name="getInitLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitLimit</h4>
+<pre>public&nbsp;int&nbsp;getInitLimit()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getInitLimit--">getInitLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of ticks that the initial sync phase can take</dd>
+</dl>
+</li>
+</ul>
+<a name="getSyncLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncLimit</h4>
+<pre>public&nbsp;int&nbsp;getSyncLimit()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getSyncLimit--">getSyncLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of ticks that can pass between sending a request
+ and getting a acknowledgment</dd>
+</dl>
+</li>
+</ul>
+<a name="setInitLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInitLimit</h4>
+<pre>public&nbsp;void&nbsp;setInitLimit(int&nbsp;initLimit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#setInitLimit-int-">LocalPeerMXBean</a></code></span></div>
+<div class="block">Set the number of ticks that the initial sync phase can take</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#setInitLimit-int-">setInitLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setSyncLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSyncLimit</h4>
+<pre>public&nbsp;void&nbsp;setSyncLimit(int&nbsp;syncLimit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#setSyncLimit-int-">LocalPeerMXBean</a></code></span></div>
+<div class="block">Set the number of ticks that can pass between sending a request
+ and getting a acknowledgment</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#setSyncLimit-int-">setSyncLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTick--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTick</h4>
+<pre>public&nbsp;int&nbsp;getTick()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getTick--">getTick</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current tick</dd>
+</dl>
+</li>
+</ul>
+<a name="getState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getState()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getState--">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current server state</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumAddress()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getQuorumAddress--">getQuorumAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the quorum address</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionType</h4>
+<pre>public&nbsp;int&nbsp;getElectionType()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getElectionType--">getElectionType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the election type</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getElectionAddress()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getElectionAddress--">getElectionAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the election address</dd>
+</dl>
+</li>
+</ul>
+<a name="getClientAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClientAddress()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getClientAddress--">getClientAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the client address</dd>
+</dl>
+</li>
+</ul>
+<a name="getLearnerType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerType</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLearnerType()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getLearnerType--">getLearnerType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the learner type</dd>
+</dl>
+</li>
+</ul>
+<a name="getConfigVersion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConfigVersion</h4>
+<pre>public&nbsp;long&nbsp;getConfigVersion()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getConfigVersion--">getConfigVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the config version</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumSystemInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumSystemInfo</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumSystemInfo()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getQuorumSystemInfo--">getQuorumSystemInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the quorum system information</dd>
+</dl>
+</li>
+</ul>
+<a name="isPartOfEnsemble--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPartOfEnsemble</h4>
+<pre>public&nbsp;boolean&nbsp;isPartOfEnsemble()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#isPartOfEnsemble--">isPartOfEnsemble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if quorum peer is part of the ensemble, false otherwise</dd>
+</dl>
+</li>
+</ul>
+<a name="isLeader--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLeader</h4>
+<pre>public&nbsp;boolean&nbsp;isLeader()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#isLeader--">isLeader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the peer is the current leader</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxCnxns--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMaxCnxns</h4>
+<pre>public&nbsp;int&nbsp;getMaxCnxns()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMaxCnxns--">getMaxCnxns</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Current maxCnxns allowed to a single ZooKeeper server</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LocalPeerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LocalPeerBean.html" target="_top">Frames</a></li>
+<li><a href="LocalPeerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerMXBean.html
new file mode 100644
index 000000000..cfae9505d
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalPeerMXBean.html
@@ -0,0 +1,569 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LocalPeerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LocalPeerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LocalPeerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" target="_top">Frames</a></li>
+<li><a href="LocalPeerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface LocalPeerMXBean" class="title">Interface LocalPeerMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">LocalPeerMXBean</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></pre>
+<div class="block">A local zookeeper server MBean interface. Unlike the remote peer, the local
+ peer provides complete state/statistics at runtime and can be managed (just
+ like a standalone zookeeper server).</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getClientAddress--">getClientAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getConfigVersion--">getConfigVersion</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getElectionAddress--">getElectionAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getElectionType--">getElectionType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getInitLimit--">getInitLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getLearnerType--">getLearnerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a></span>()</code>
+<div class="block">Current maxClientCnxns allowed from a particular host</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMaxCnxns--">getMaxCnxns</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getMinSessionTimeout--">getMinSessionTimeout</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getQuorumSystemInfo--">getQuorumSystemInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getSyncLimit--">getSyncLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getTick--">getTick</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#getTickTime--">getTickTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#isLeader--">isLeader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#isPartOfEnsemble--">isPartOfEnsemble</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#setInitLimit-int-">setInitLimit</a></span>(int&nbsp;initLimit)</code>
+<div class="block">Set the number of ticks that the initial sync phase can take</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html#setSyncLimit-int-">setSyncLimit</a></span>(int&nbsp;syncLimit)</code>
+<div class="block">Set the number of ticks that can pass between sending a request
+ and getting a acknowledgment</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.ServerMXBean">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html#getName--">getName</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html#getStartTime--">getStartTime</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTickTime--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTickTime</h4>
+<pre>int&nbsp;getTickTime()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of milliseconds of each tick</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxClientCnxnsPerHost--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxClientCnxnsPerHost</h4>
+<pre>int&nbsp;getMaxClientCnxnsPerHost()</pre>
+<div class="block">Current maxClientCnxns allowed from a particular host</div>
+</li>
+</ul>
+<a name="getMinSessionTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMinSessionTimeout</h4>
+<pre>int&nbsp;getMinSessionTimeout()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the minimum number of milliseconds allowed for a session timeout</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxSessionTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxSessionTimeout</h4>
+<pre>int&nbsp;getMaxSessionTimeout()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the maximum number of milliseconds allowed for a session timeout</dd>
+</dl>
+</li>
+</ul>
+<a name="getInitLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitLimit</h4>
+<pre>int&nbsp;getInitLimit()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of ticks that the initial sync phase can take</dd>
+</dl>
+</li>
+</ul>
+<a name="getSyncLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncLimit</h4>
+<pre>int&nbsp;getSyncLimit()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of ticks that can pass between sending a request
+ and getting a acknowledgment</dd>
+</dl>
+</li>
+</ul>
+<a name="setInitLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInitLimit</h4>
+<pre>void&nbsp;setInitLimit(int&nbsp;initLimit)</pre>
+<div class="block">Set the number of ticks that the initial sync phase can take</div>
+</li>
+</ul>
+<a name="setSyncLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSyncLimit</h4>
+<pre>void&nbsp;setSyncLimit(int&nbsp;syncLimit)</pre>
+<div class="block">Set the number of ticks that can pass between sending a request
+ and getting a acknowledgment</div>
+</li>
+</ul>
+<a name="getTick--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTick</h4>
+<pre>int&nbsp;getTick()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current tick</dd>
+</dl>
+</li>
+</ul>
+<a name="getState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getState()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current server state</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAddress</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumAddress()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the quorum address</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionType</h4>
+<pre>int&nbsp;getElectionType()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the election type</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionAddress</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getElectionAddress()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the election address</dd>
+</dl>
+</li>
+</ul>
+<a name="getClientAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientAddress</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClientAddress()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the client address</dd>
+</dl>
+</li>
+</ul>
+<a name="getLearnerType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerType</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLearnerType()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the learner type</dd>
+</dl>
+</li>
+</ul>
+<a name="getConfigVersion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConfigVersion</h4>
+<pre>long&nbsp;getConfigVersion()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the config version</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumSystemInfo--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumSystemInfo</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumSystemInfo()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the quorum system information</dd>
+</dl>
+</li>
+</ul>
+<a name="isPartOfEnsemble--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPartOfEnsemble</h4>
+<pre>boolean&nbsp;isPartOfEnsemble()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if quorum peer is part of the ensemble, false otherwise</dd>
+</dl>
+</li>
+</ul>
+<a name="isLeader--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLeader</h4>
+<pre>boolean&nbsp;isLeader()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the peer is the current leader</dd>
+</dl>
+</li>
+</ul>
+<a name="getMaxCnxns--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMaxCnxns</h4>
+<pre>int&nbsp;getMaxCnxns()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Current maxCnxns allowed to a single ZooKeeper server</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LocalPeerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" target="_top">Frames</a></li>
+<li><a href="LocalPeerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalSessionTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalSessionTracker.html
new file mode 100644
index 000000000..47b46c9c1
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/LocalSessionTracker.html
@@ -0,0 +1,433 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LocalSessionTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LocalSessionTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LocalSessionTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LocalSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LocalSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.SessionTrackerImpl">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.SessionTrackerImpl">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class LocalSessionTracker" class="title">Class LocalSessionTracker</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperCriticalThread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.SessionTrackerImpl</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.LocalSessionTracker</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LocalSessionTracker</span>
+extends <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html" title="class in org.apache.zookeeper.server">SessionTrackerImpl</a></pre>
+<div class="block">Local session tracker.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.SessionTrackerImpl">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html" title="class in org.apache.zookeeper.server">SessionTrackerImpl</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.SessionImpl.html" title="class in org.apache.zookeeper.server">SessionTrackerImpl.SessionImpl</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.SessionTracker">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.Session.html" title="interface in org.apache.zookeeper.server">SessionTracker.Session</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.SessionTrackerImpl">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html" title="class in org.apache.zookeeper.server">SessionTrackerImpl</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#sessionsById">sessionsById</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#sessionsWithTimeout">sessionsWithTimeout</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html#LocalSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-java.util.concurrent.ConcurrentMap-int-long-org.apache.zookeeper.server.ZooKeeperServerListener-">LocalSessionTracker</a></span>(<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>&nbsp;expirer,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;sessionsWithTimeouts,
+ int&nbsp;tickTime,
+ long&nbsp;id,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html#createSession-int-">createSession</a></span>(int&nbsp;sessionTimeout)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html#isGlobalSession-long-">isGlobalSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html#isLocalSession-long-">isLocalSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html#localSessions--">localSessions</a></span>()</code>
+<div class="block">Get a set of local session IDs</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.SessionTrackerImpl">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html" title="class in org.apache.zookeeper.server">SessionTrackerImpl</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#checkGlobalSession-long-java.lang.Object-">checkGlobalSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#checkSession-long-java.lang.Object-">checkSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#commitSession-long-int-">commitSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#dumpSessions-java.io.PrintWriter-">dumpSessions</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#getLocalSessionCount--">getLocalSessionCount</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#getSessionExpiryMap--">getSessionExpiryMap</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#getSessionTimeout-long-">getSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#globalSessions--">globalSessions</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#initializeNextSessionId-long-">initializeNextSessionId</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#isLocalSessionsEnabled--">isLocalSessionsEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#isTrackingSession-long-">isTrackingSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#removeSession-long-">removeSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#run--">run</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#setOwner-long-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#setSessionClosing-long-">setSessionClosing</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#toString--">toString</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#touchSession-long-int-">touchSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#trackSession-long-int-">trackSession</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperCriticalThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LocalSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-java.util.concurrent.ConcurrentMap-int-long-org.apache.zookeeper.server.ZooKeeperServerListener-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LocalSessionTracker</h4>
+<pre>public&nbsp;LocalSessionTracker(<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>&nbsp;expirer,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;sessionsWithTimeouts,
+ int&nbsp;tickTime,
+ long&nbsp;id,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="isLocalSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLocalSession</h4>
+<pre>public&nbsp;boolean&nbsp;isLocalSession(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="isGlobalSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isGlobalSession</h4>
+<pre>public&nbsp;boolean&nbsp;isGlobalSession(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="createSession-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createSession</h4>
+<pre>public&nbsp;long&nbsp;createSession(int&nbsp;sessionTimeout)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#createSession-int-">createSession</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#createSession-int-">createSession</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html" title="class in org.apache.zookeeper.server">SessionTrackerImpl</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="localSessions--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>localSessions</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;localSessions()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#localSessions--">SessionTracker</a></code></span></div>
+<div class="block">Get a set of local session IDs</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#localSessions--">localSessions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html#localSessions--">localSessions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html" title="class in org.apache.zookeeper.server">SessionTrackerImpl</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LocalSessionTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/LocalSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LocalSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.SessionTrackerImpl">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.SessionTrackerImpl">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/MultipleAddresses.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/MultipleAddresses.html
new file mode 100644
index 000000000..2c02cc8c5
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/MultipleAddresses.html
@@ -0,0 +1,644 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:44 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MultipleAddresses (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="MultipleAddresses (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MultipleAddresses.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/MultipleAddresses.html" target="_top">Frames</a></li>
+<li><a href="MultipleAddresses.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class MultipleAddresses" class="title">Class MultipleAddresses</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.MultipleAddresses</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">MultipleAddresses</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This class allows to store several quorum and electing addresses.
+
+ See ZOOKEEPER-3188 for a discussion of this feature.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html?is-external=true" title="class or interface in java.time">Duration</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#MultipleAddresses--">MultipleAddresses</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#MultipleAddresses-java.util.Collection-">MultipleAddresses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;addresses)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#MultipleAddresses-java.util.Collection-java.time.Duration-">MultipleAddresses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;addresses,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html?is-external=true" title="class or interface in java.time">Duration</a>&nbsp;timeout)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#MultipleAddresses-java.net.InetSocketAddress-">MultipleAddresses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#addAddress-java.net.InetSocketAddress-">addAddress</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getAllAddresses--">getAllAddresses</a></span>()</code>
+<div class="block">Returns all addresses in an unmodifiable set.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getAllHostStrings--">getAllHostStrings</a></span>()</code>
+<div class="block">Returns distinct list of all host strings</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getAllPorts--">getAllPorts</a></span>()</code>
+<div class="block">Returns all ports</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getAllReachableAddresses--">getAllReachableAddresses</a></span>()</code>
+<div class="block">Returns a set of all reachable addresses.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getAllReachableAddressesOrAll--">getAllReachableAddressesOrAll</a></span>()</code>
+<div class="block">Returns a set of all reachable addresses.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getOne--">getOne</a></span>()</code>
+<div class="block">Returns an address from the set.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getReachableAddress--">getReachableAddress</a></span>()</code>
+<div class="block">Returns a reachable address.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getReachableOrOne--">getReachableOrOne</a></span>()</code>
+<div class="block">Returns a reachable address or an arbitrary one, if none is reachable.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#getWildcardAddresses--">getWildcardAddresses</a></span>()</code>
+<div class="block">Returns wildcard addresses for all ports</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#isEmpty--">isEmpty</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#recreateSocketAddresses--">recreateSocketAddresses</a></span>()</code>
+<div class="block">Performs a parallel DNS lookup for all addresses.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#size--">size</a></span>()</code>
+<div class="block">Returns the number of addresses in the set.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="DEFAULT_TIMEOUT">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DEFAULT_TIMEOUT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html?is-external=true" title="class or interface in java.time">Duration</a> DEFAULT_TIMEOUT</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MultipleAddresses--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MultipleAddresses</h4>
+<pre>public&nbsp;MultipleAddresses()</pre>
+</li>
+</ul>
+<a name="MultipleAddresses-java.util.Collection-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MultipleAddresses</h4>
+<pre>public&nbsp;MultipleAddresses(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;addresses)</pre>
+</li>
+</ul>
+<a name="MultipleAddresses-java.net.InetSocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MultipleAddresses</h4>
+<pre>public&nbsp;MultipleAddresses(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address)</pre>
+</li>
+</ul>
+<a name="MultipleAddresses-java.util.Collection-java.time.Duration-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MultipleAddresses</h4>
+<pre>public&nbsp;MultipleAddresses(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;addresses,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html?is-external=true" title="class or interface in java.time">Duration</a>&nbsp;timeout)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="isEmpty--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEmpty</h4>
+<pre>public&nbsp;boolean&nbsp;isEmpty()</pre>
+</li>
+</ul>
+<a name="getAllAddresses--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllAddresses</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;getAllAddresses()</pre>
+<div class="block">Returns all addresses in an unmodifiable set.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of all InetSocketAddress</dd>
+</dl>
+</li>
+</ul>
+<a name="getWildcardAddresses--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWildcardAddresses</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;getWildcardAddresses()</pre>
+<div class="block">Returns wildcard addresses for all ports</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of InetSocketAddress with wildcards for all ports</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllPorts--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllPorts</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getAllPorts()</pre>
+<div class="block">Returns all ports</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of all ports</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllHostStrings--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllHostStrings</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getAllHostStrings()</pre>
+<div class="block">Returns distinct list of all host strings</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of all hosts</dd>
+</dl>
+</li>
+</ul>
+<a name="addAddress-java.net.InetSocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addAddress</h4>
+<pre>public&nbsp;void&nbsp;addAddress(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address)</pre>
+</li>
+</ul>
+<a name="getReachableAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReachableAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getReachableAddress()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/NoRouteToHostException.html?is-external=true" title="class or interface in java.net">NoRouteToHostException</a></pre>
+<div class="block">Returns a reachable address. If none is reachable than throws exception.
+ The function is nondeterministic in the sense that the result of calling this function
+ twice with the same set of reachable addresses might lead to different results.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>address which is reachable.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/NoRouteToHostException.html?is-external=true" title="class or interface in java.net">NoRouteToHostException</a></code> - if none of the addresses are reachable</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllReachableAddresses--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllReachableAddresses</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;getAllReachableAddresses()</pre>
+<div class="block">Returns a set of all reachable addresses. If none is reachable than returns empty set.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all addresses which are reachable.</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllReachableAddressesOrAll--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllReachableAddressesOrAll</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;getAllReachableAddressesOrAll()</pre>
+<div class="block">Returns a set of all reachable addresses. If none is reachable than returns all addresses.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all reachable addresses, or all addresses if none is reachable.</dd>
+</dl>
+</li>
+</ul>
+<a name="getReachableOrOne--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReachableOrOne</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getReachableOrOne()</pre>
+<div class="block">Returns a reachable address or an arbitrary one, if none is reachable. It throws an exception
+ if there are no addresses registered. The function is nondeterministic in the sense that the
+ result of calling this function twice with the same set of reachable addresses might lead
+ to different results.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>address which is reachable or fist one.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/NoSuchElementException.html?is-external=true" title="class or interface in java.util">NoSuchElementException</a></code> - if there is no address registered</dd>
+</dl>
+</li>
+</ul>
+<a name="recreateSocketAddresses--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>recreateSocketAddresses</h4>
+<pre>public&nbsp;void&nbsp;recreateSocketAddresses()</pre>
+<div class="block">Performs a parallel DNS lookup for all addresses.
+
+ If the DNS lookup fails, then address remain unmodified.</div>
+</li>
+</ul>
+<a name="getOne--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOne</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getOne()</pre>
+<div class="block">Returns an address from the set.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>address from a set.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/NoSuchElementException.html?is-external=true" title="class or interface in java.util">NoSuchElementException</a></code> - if there is no address registered</dd>
+</dl>
+</li>
+</ul>
+<a name="size--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>size</h4>
+<pre>public&nbsp;int&nbsp;size()</pre>
+<div class="block">Returns the number of addresses in the set.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of addresses.</dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MultipleAddresses.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/MultipleAddresses.html" target="_top">Frames</a></li>
+<li><a href="MultipleAddresses.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Observer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Observer.html
new file mode 100644
index 000000000..b0142fb63
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Observer.html
@@ -0,0 +1,454 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Observer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Observer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Observer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Observer.html" target="_top">Frames</a></li>
+<li><a href="Observer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class Observer" class="title">Class Observer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.Learner</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.Observer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Observer</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></pre>
+<div class="block">Observers are peers that do not take part in the atomic broadcast protocol.
+ Instead, they are informed of successful proposals by the Leader. Observers
+ therefore naturally act as a relay point for publishing the proposal stream
+ and can relieve Followers of some of the connection load. Observers may
+ submit proposals, but do not vote in their acceptance.
+
+ See ZOOKEEPER-368 for a discussion of this feature.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#OBSERVER_ELECTION_DELAY_MS">OBSERVER_ELECTION_DELAY_MS</a></span></code>
+<div class="block">Delay the Observer's participation in a leader election upon disconnect
+ so as to prevent unexpected additional load on the voting peers during
+ the process.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#OBSERVER_RECONNECT_DELAY_MS">OBSERVER_RECONNECT_DELAY_MS</a></span></code>
+<div class="block">When observer lost its connection with the leader, it waits for 0 to the
+ specified value before trying to reconnect with the leader.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.Learner">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#bufferedOutput">bufferedOutput</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#closeSocketAsync">closeSocketAsync</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderAddr">leaderAddr</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderIs">leaderIs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderOs">leaderOs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderProtocolVersion">leaderProtocolVersion</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#LEARNER_ASYNC_SENDING">LEARNER_ASYNC_SENDING</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#LEARNER_CLOSE_SOCKET_ASYNC">LEARNER_CLOSE_SOCKET_ASYNC</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#messageTracker">messageTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sock">sock</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sockBeingClosed">sockBeingClosed</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#getCurrentLearnerMaster--">getCurrentLearnerMaster</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#getLearnerMasterId--">getLearnerMasterId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#getObserverElectionDelayMs--">getObserverElectionDelayMs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#processPacket-org.apache.zookeeper.server.quorum.QuorumPacket-">processPacket</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp)</code>
+<div class="block">Controls the response of an observer to the receipt of a quorumpacket</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#setLearnerMaster-java.lang.String-">setLearnerMaster</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;learnerMaster)</code>
+<div class="block">Prompts the Observer to disconnect from its current learner master and reconnect
+ to the specified server.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#setObserverElectionDelayMs-long-">setObserverElectionDelayMs</a></span>(long&nbsp;electionDelayMs)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#shutdown--">shutdown</a></span>()</code>
+<div class="block">Shutdown the Observer.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.Learner">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#connectToLeader-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.String-">connectToLeader</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#createSocket--">createSocket</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#findLeader--">findLeader</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getAsyncSending--">getAsyncSending</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getPendingRevalidationsCount--">getPendingRevalidationsCount</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#getSocket--">getSocket</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#nanoTime--">nanoTime</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#ping-org.apache.zookeeper.server.quorum.QuorumPacket-">ping</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#registerWithLeader-int-">registerWithLeader</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#revalidate-org.apache.zookeeper.server.quorum.QuorumPacket-">revalidate</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#setAsyncSending-boolean-">setAsyncSending</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#sockConnect-java.net.Socket-java.net.InetSocketAddress-int-">sockConnect</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#startSendingThread--">startSendingThread</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#syncWithLeader-long-">syncWithLeader</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="OBSERVER_RECONNECT_DELAY_MS">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>OBSERVER_RECONNECT_DELAY_MS</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OBSERVER_RECONNECT_DELAY_MS</pre>
+<div class="block">When observer lost its connection with the leader, it waits for 0 to the
+ specified value before trying to reconnect with the leader. So that
+ the entire observer fleet won't try to run leader election and reconnect
+ to the leader at once. Default value is zero.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.Observer.OBSERVER_RECONNECT_DELAY_MS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="OBSERVER_ELECTION_DELAY_MS">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>OBSERVER_ELECTION_DELAY_MS</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OBSERVER_ELECTION_DELAY_MS</pre>
+<div class="block">Delay the Observer's participation in a leader election upon disconnect
+ so as to prevent unexpected additional load on the voting peers during
+ the process. Default value is 200.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.Observer.OBSERVER_ELECTION_DELAY_MS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="processPacket-org.apache.zookeeper.server.quorum.QuorumPacket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processPacket</h4>
+<pre>protected&nbsp;void&nbsp;processPacket(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Controls the response of an observer to the receipt of a quorumpacket</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>qp</code> - </dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<div class="block">Shutdown the Observer.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html#shutdown--">shutdown</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLearnerMasterId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerMasterId</h4>
+<pre>public&nbsp;long&nbsp;getLearnerMasterId()</pre>
+</li>
+</ul>
+<a name="setLearnerMaster-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLearnerMaster</h4>
+<pre>public&nbsp;boolean&nbsp;setLearnerMaster(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;learnerMaster)</pre>
+<div class="block">Prompts the Observer to disconnect from its current learner master and reconnect
+ to the specified server. If that connection attempt fails, the Observer will
+ fail over to the next available learner master.</div>
+</li>
+</ul>
+<a name="getCurrentLearnerMaster--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentLearnerMaster</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;getCurrentLearnerMaster()</pre>
+</li>
+</ul>
+<a name="getObserverElectionDelayMs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObserverElectionDelayMs</h4>
+<pre>public static&nbsp;long&nbsp;getObserverElectionDelayMs()</pre>
+</li>
+</ul>
+<a name="setObserverElectionDelayMs-long-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setObserverElectionDelayMs</h4>
+<pre>public static&nbsp;void&nbsp;setObserverElectionDelayMs(long&nbsp;electionDelayMs)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Observer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Observer.html" target="_top">Frames</a></li>
+<li><a href="Observer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMXBean.html
new file mode 100644
index 000000000..95df5edcd
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMXBean.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ObserverMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ObserverMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ObserverMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ObserverMXBean.html" target="_top">Frames</a></li>
+<li><a href="ObserverMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface ObserverMXBean" class="title">Interface ObserverMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ObserverBean.html" title="class in org.apache.zookeeper.server">ObserverBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ObserverMXBean</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></pre>
+<div class="block">Observer MX Bean interface, implemented by ObserverBean</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html#getLearnerMaster--">getLearnerMaster</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html#getPendingRevalidationCount--">getPendingRevalidationCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html#setLearnerMaster-java.lang.String-">setLearnerMaster</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;learnerMaster)</code>
+<div class="block">requests the Observer switch to a new learner master</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerMXBean">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAuthFailedCount--">getAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getAvgRequestLatency--">getAvgRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxCommitBatchSize--">getCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getCommitProcMaxReadBatchSize--">getCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDecreaseRatio--">getConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropDecrease--">getConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionDropIncrease--">getConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionFreezeTime--">getConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionMaxTokens--">getConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillCount--">getConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getConnectionTokenFillTime--">getConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFlushDelay--">getFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getFsyncThresholdExceedCount--">getFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getJuteMaxBufferSize--">getJuteMaxBufferSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLastClientResponseSize--">getLastClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxBatchSize--">getMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxClientResponseSize--">getMaxClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxCnxns--">getMaxCnxns</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxRequestLatency--">getMaxRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMaxWriteQueuePollTime--">getMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinClientResponseSize--">getMinClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinRequestLatency--">getMinRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSLocalConnCount--">getNonMTLSLocalConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNonMTLSRemoteConnCount--">getNonMTLSRemoteConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsReceived--">getPacketsReceived</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getPacketsSent--">getPacketsSent</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleConnectionCheck--">getRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestStaleLatencyCheck--">getRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleDropStale--">getRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleLimit--">getRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getRequestThrottleStallTime--">getRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getResponseCachingEnabled--">getResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientAddress--">getSecureClientAddress</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#getVersion--">getVersion</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetAuthFailedCount--">resetAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetFsyncThresholdExceedCount--">resetFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetLatency--">resetLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetMaxLatency--">resetMaxLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetNonMTLSConnCount--">resetNonMTLSConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#resetStatistics--">resetStatistics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxCommitBatchSize-int-">setCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setCommitProcMaxReadBatchSize-int-">setCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDecreaseRatio-double-">setConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropDecrease-double-">setConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionDropIncrease-double-">setConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionFreezeTime-int-">setConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionMaxTokens-int-">setConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillCount-int-">setConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setConnectionTokenFillTime-int-">setConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setFlushDelay-long-">setFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxBatchSize-int-">setMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxClientCnxnsPerHost-int-">setMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMaxWriteQueuePollTime-long-">setMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleConnectionCheck-boolean-">setRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestStaleLatencyCheck-boolean-">setRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleDropStale-boolean-">setRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleLimit-int-">setRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setRequestThrottleStallTime-int-">setRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html#setTickTime-int-">setTickTime</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getPendingRevalidationCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPendingRevalidationCount</h4>
+<pre>int&nbsp;getPendingRevalidationCount()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>count of pending revalidations</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAddress</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumAddress()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>socket address</dd>
+</dl>
+</li>
+</ul>
+<a name="getLearnerMaster--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerMaster</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLearnerMaster()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>address of the current learner master</dd>
+</dl>
+</li>
+</ul>
+<a name="setLearnerMaster-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setLearnerMaster</h4>
+<pre>void&nbsp;setLearnerMaster(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;learnerMaster)</pre>
+<div class="block">requests the Observer switch to a new learner master</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learnerMaster</code> - address of the desired learner master</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ObserverMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ObserverMXBean.html" target="_top">Frames</a></li>
+<li><a href="ObserverMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMaster.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMaster.html
new file mode 100644
index 000000000..07f9de22d
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverMaster.html
@@ -0,0 +1,871 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ObserverMaster (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ObserverMaster (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ObserverMaster.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ObserverMaster.html" target="_top">Frames</a></li>
+<li><a href="ObserverMaster.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class ObserverMaster" class="title">Class ObserverMaster</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.LearnerMaster</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.ObserverMaster</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ObserverMaster</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">LearnerMaster</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
+<div class="block">Used by Followers to host Observers. This reduces the network load on the Leader process by pushing
+ the responsibility for keeping Observers in sync off the leading peer.
+
+ It is expected that Observers will continue to perform the initial vetting of clients and requests.
+ Observers send the request to the follower where it is received by an ObserverMaster.
+
+ The ObserverMaster forwards a copy of the request to the ensemble Leader and inserts it into its own
+ request processor pipeline where it can be matched with the response comes back. All commits received
+ from the Leader will be forwarded along to every Learner connected to the ObserverMaster.
+
+ New Learners connecting to a Follower will receive a LearnerHandler object and be party to its syncing logic
+ to be brought up to date.
+
+ The logic is quite a bit simpler than the corresponding logic in Leader because it only hosts observers.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#addLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">addLearnerHandler</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>
+<div class="block">start tracking a learner handler</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getActiveObservers--">getActiveObservers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getAndDecrementFollowerCounter--">getAndDecrementFollowerCounter</a></span>()</code>
+<div class="block">decrement follower count</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getCurrentTick--">getCurrentTick</a></span>()</code>
+<div class="block">the current tick</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getEpochToPropose-long-long-">getEpochToPropose</a></span>(long&nbsp;sid,
+ long&nbsp;lastAcceptedEpoch)</code>
+<div class="block">get the first zxid of the next epoch</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getLastProposed--">getLastProposed</a></span>()</code>
+<div class="block">last proposed zxid</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getPeerInfo-long-">getPeerInfo</a></span>(long&nbsp;sid)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getQuorumAuthServer--">getQuorumAuthServer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getQuorumVerifierBytes--">getQuorumVerifierBytes</a></span>()</code>
+<div class="block">identifier of current quorum verifier for new leader</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getQuorumVerifierVersion--">getQuorumVerifierVersion</a></span>()</code>
+<div class="block">version of current quorum verifier</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getTickOfInitialAckDeadline--">getTickOfInitialAckDeadline</a></span>()</code>
+<div class="block">next deadline tick marking observer sync (steady state)</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getTickOfNextAckDeadline--">getTickOfNextAckDeadline</a></span>()</code>
+<div class="block">deadline tick marking observer sync (initial)</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getZKDatabase--">getZKDatabase</a></span>()</code>
+<div class="block">ZKDatabase</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#processAck-long-long-java.net.SocketAddress-">processAck</a></span>(long&nbsp;sid,
+ long&nbsp;zxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;localSocketAddress)</code>
+<div class="block">handle ack packet</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#registerLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">registerLearnerHandlerBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</code>
+<div class="block">registers the handler's bean</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#removeLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">removeLearnerHandler</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>
+<div class="block">stop tracking a learner handler</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#resetObserverConnectionStats--">resetObserverConnectionStats</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#revalidateSession-org.apache.zookeeper.server.quorum.QuorumPacket-org.apache.zookeeper.server.quorum.LearnerHandler-">revalidateSession</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>
+<div class="block">handle revalidate packet</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#start--">start</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#startForwarding-org.apache.zookeeper.server.quorum.LearnerHandler-long-">startForwarding</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ long&nbsp;lastSeenZxid)</code>
+<div class="block">begin forwarding packets to learner handler</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#stop--">stop</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#submitLearnerRequest-org.apache.zookeeper.server.Request-">submitLearnerRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</code>
+<div class="block">proxy request from learner to server</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#syncTimeout--">syncTimeout</a></span>()</code>
+<div class="block">time allowed for sync response</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#touch-long-int-">touch</a></span>(long&nbsp;sess,
+ int&nbsp;to)</code>
+<div class="block">mark session as alive</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#unregisterLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-">unregisterLearnerHandlerBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>
+<div class="block">unregisters the handler's bean</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#waitForEpochAck-long-org.apache.zookeeper.server.quorum.StateSummary-">waitForEpochAck</a></span>(long&nbsp;sid,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)</code>
+<div class="block">wait for the leader of the new epoch to be confirmed by followers</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#waitForNewLeaderAck-long-long-">waitForNewLeaderAck</a></span>(long&nbsp;sid,
+ long&nbsp;zxid)</code>
+<div class="block">wait for new leader to settle</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#waitForStartup--">waitForStartup</a></span>()</code>
+<div class="block">wait for server to start</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerMaster">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">LearnerMaster</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLearnerDiffSyncThrottler--">getLearnerDiffSyncThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLearnerSnapSyncThrottler--">getLearnerSnapSyncThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getMaxConcurrentDiffSyncs--">getMaxConcurrentDiffSyncs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getMaxConcurrentSnapSyncs--">getMaxConcurrentSnapSyncs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#setMaxConcurrentDiffSyncs-int-">setMaxConcurrentDiffSyncs</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#setMaxConcurrentSnapSyncs-int-">setMaxConcurrentSnapSyncs</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="addLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addLearnerHandler</h4>
+<pre>public&nbsp;void&nbsp;addLearnerHandler(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#addLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">LearnerMaster</a></code></span></div>
+<div class="block">start tracking a learner handler</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learnerHandler</code> - to track</dd>
+</dl>
+</li>
+</ul>
+<a name="removeLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeLearnerHandler</h4>
+<pre>public&nbsp;void&nbsp;removeLearnerHandler(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#removeLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">LearnerMaster</a></code></span></div>
+<div class="block">stop tracking a learner handler</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learnerHandler</code> - to drop</dd>
+</dl>
+</li>
+</ul>
+<a name="syncTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syncTimeout</h4>
+<pre>public&nbsp;int&nbsp;syncTimeout()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#syncTimeout--">LearnerMaster</a></code></span></div>
+<div class="block">time allowed for sync response</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>time allowed for sync response</dd>
+</dl>
+</li>
+</ul>
+<a name="getTickOfNextAckDeadline--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTickOfNextAckDeadline</h4>
+<pre>public&nbsp;int&nbsp;getTickOfNextAckDeadline()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getTickOfNextAckDeadline--">LearnerMaster</a></code></span></div>
+<div class="block">deadline tick marking observer sync (initial)</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>deadline tick marking observer sync (initial)</dd>
+</dl>
+</li>
+</ul>
+<a name="getTickOfInitialAckDeadline--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTickOfInitialAckDeadline</h4>
+<pre>public&nbsp;int&nbsp;getTickOfInitialAckDeadline()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getTickOfInitialAckDeadline--">LearnerMaster</a></code></span></div>
+<div class="block">next deadline tick marking observer sync (steady state)</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>next deadline tick marking observer sync (steady state)</dd>
+</dl>
+</li>
+</ul>
+<a name="getAndDecrementFollowerCounter--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAndDecrementFollowerCounter</h4>
+<pre>public&nbsp;long&nbsp;getAndDecrementFollowerCounter()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getAndDecrementFollowerCounter--">LearnerMaster</a></code></span></div>
+<div class="block">decrement follower count</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>previous follower count</dd>
+</dl>
+</li>
+</ul>
+<a name="waitForEpochAck-long-org.apache.zookeeper.server.quorum.StateSummary-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitForEpochAck</h4>
+<pre>public&nbsp;void&nbsp;waitForEpochAck(long&nbsp;sid,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#waitForEpochAck-long-org.apache.zookeeper.server.quorum.StateSummary-">LearnerMaster</a></code></span></div>
+<div class="block">wait for the leader of the new epoch to be confirmed by followers</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - learner id</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="waitForStartup--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitForStartup</h4>
+<pre>public&nbsp;void&nbsp;waitForStartup()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#waitForStartup--">LearnerMaster</a></code></span></div>
+<div class="block">wait for server to start</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLastProposed--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastProposed</h4>
+<pre>public&nbsp;long&nbsp;getLastProposed()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLastProposed--">LearnerMaster</a></code></span></div>
+<div class="block">last proposed zxid</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>last proposed zxid</dd>
+</dl>
+</li>
+</ul>
+<a name="getEpochToPropose-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEpochToPropose</h4>
+<pre>public&nbsp;long&nbsp;getEpochToPropose(long&nbsp;sid,
+ long&nbsp;lastAcceptedEpoch)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getEpochToPropose-long-long-">LearnerMaster</a></code></span></div>
+<div class="block">get the first zxid of the next epoch</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - learner id</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the first zxid of the next epoch</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getZKDatabase--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getZKDatabase</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;getZKDatabase()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getZKDatabase--">LearnerMaster</a></code></span></div>
+<div class="block">ZKDatabase</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ZKDatabase</dd>
+</dl>
+</li>
+</ul>
+<a name="waitForNewLeaderAck-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitForNewLeaderAck</h4>
+<pre>public&nbsp;void&nbsp;waitForNewLeaderAck(long&nbsp;sid,
+ long&nbsp;zxid)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#waitForNewLeaderAck-long-long-">LearnerMaster</a></code></span></div>
+<div class="block">wait for new leader to settle</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - id of learner</dd>
+<dd><code>zxid</code> - zxid at learner</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getCurrentTick--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentTick</h4>
+<pre>public&nbsp;int&nbsp;getCurrentTick()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getCurrentTick--">LearnerMaster</a></code></span></div>
+<div class="block">the current tick</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current tick</dd>
+</dl>
+</li>
+</ul>
+<a name="processAck-long-long-java.net.SocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processAck</h4>
+<pre>public&nbsp;void&nbsp;processAck(long&nbsp;sid,
+ long&nbsp;zxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;localSocketAddress)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#processAck-long-long-java.net.SocketAddress-">LearnerMaster</a></code></span></div>
+<div class="block">handle ack packet</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - leader id</dd>
+<dd><code>zxid</code> - packet zxid</dd>
+<dd><code>localSocketAddress</code> - forwarder's address</dd>
+</dl>
+</li>
+</ul>
+<a name="touch-long-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>touch</h4>
+<pre>public&nbsp;void&nbsp;touch(long&nbsp;sess,
+ int&nbsp;to)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#touch-long-int-">LearnerMaster</a></code></span></div>
+<div class="block">mark session as alive</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sess</code> - session id</dd>
+<dd><code>to</code> - timeout</dd>
+</dl>
+</li>
+</ul>
+<a name="revalidateSession-org.apache.zookeeper.server.quorum.QuorumPacket-org.apache.zookeeper.server.quorum.LearnerHandler-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>revalidateSession</h4>
+<pre>public&nbsp;void&nbsp;revalidateSession(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#revalidateSession-org.apache.zookeeper.server.quorum.QuorumPacket-org.apache.zookeeper.server.quorum.LearnerHandler-">LearnerMaster</a></code></span></div>
+<div class="block">handle revalidate packet</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>qp</code> - session packet</dd>
+<dd><code>learnerHandler</code> - learner</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="submitLearnerRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submitLearnerRequest</h4>
+<pre>public&nbsp;void&nbsp;submitLearnerRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#submitLearnerRequest-org.apache.zookeeper.server.Request-">LearnerMaster</a></code></span></div>
+<div class="block">proxy request from learner to server</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>si</code> - request</dd>
+</dl>
+</li>
+</ul>
+<a name="startForwarding-org.apache.zookeeper.server.quorum.LearnerHandler-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startForwarding</h4>
+<pre>public&nbsp;long&nbsp;startForwarding(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ long&nbsp;lastSeenZxid)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#startForwarding-org.apache.zookeeper.server.quorum.LearnerHandler-long-">LearnerMaster</a></code></span></div>
+<div class="block">begin forwarding packets to learner handler</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learnerHandler</code> - learner</dd>
+<dd><code>lastSeenZxid</code> - zxid of learner</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>last zxid forwarded</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumVerifierVersion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumVerifierVersion</h4>
+<pre>public&nbsp;long&nbsp;getQuorumVerifierVersion()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getQuorumVerifierVersion--">LearnerMaster</a></code></span></div>
+<div class="block">version of current quorum verifier</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of current quorum verifier</dd>
+</dl>
+</li>
+</ul>
+<a name="getPeerInfo-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeerInfo</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getPeerInfo(long&nbsp;sid)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - server id</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>server information in the view</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumVerifierBytes--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumVerifierBytes</h4>
+<pre>public&nbsp;byte[]&nbsp;getQuorumVerifierBytes()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getQuorumVerifierBytes--">LearnerMaster</a></code></span></div>
+<div class="block">identifier of current quorum verifier for new leader</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>identifier of current quorum verifier for new leader</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumAuthServer--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAuthServer</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>&nbsp;getQuorumAuthServer()</pre>
+</li>
+</ul>
+<a name="start--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="stop--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stop</h4>
+<pre>public&nbsp;void&nbsp;stop()</pre>
+</li>
+</ul>
+<a name="getActiveObservers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getActiveObservers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;getActiveObservers()</pre>
+</li>
+</ul>
+<a name="resetObserverConnectionStats--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resetObserverConnectionStats</h4>
+<pre>public&nbsp;void&nbsp;resetObserverConnectionStats()</pre>
+</li>
+</ul>
+<a name="registerLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerLearnerHandlerBean</h4>
+<pre>public&nbsp;void&nbsp;registerLearnerHandlerBean(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#registerLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">LearnerMaster</a></code></span></div>
+<div class="block">registers the handler's bean</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learnerHandler</code> - handler</dd>
+<dd><code>socket</code> - connection to learner</dd>
+</dl>
+</li>
+</ul>
+<a name="unregisterLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>unregisterLearnerHandlerBean</h4>
+<pre>public&nbsp;void&nbsp;unregisterLearnerHandlerBean(<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#unregisterLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-">LearnerMaster</a></code></span></div>
+<div class="block">unregisters the handler's bean</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>learnerHandler</code> - handler</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ObserverMaster.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ObserverMaster.html" target="_top">Frames</a></li>
+<li><a href="ObserverMaster.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html
new file mode 100644
index 000000000..5b4fb745c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html
@@ -0,0 +1,404 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ObserverRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ObserverRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ObserverRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ObserverRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.lang.Thread">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class ObserverRequestProcessor" class="title">Class ObserverRequestProcessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperCriticalThread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.ObserverRequestProcessor</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ObserverRequestProcessor</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a>
+implements <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></pre>
+<div class="block">This RequestProcessor forwards any requests that modify the state of the
+ system to the Leader.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.RequestProcessor">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html#ObserverRequestProcessor-org.apache.zookeeper.server.quorum.ObserverZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">ObserverRequestProcessor</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>
+<div class="block">Constructor - takes an ObserverZooKeeperServer to associate with
+ and the next processor to pass requests to after we're finished.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>
+<div class="block">Simply queue the request, which will be processed in FIFO order.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html#shutdown--">shutdown</a></span>()</code>
+<div class="block">Shutdown the processor.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperCriticalThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ObserverRequestProcessor-org.apache.zookeeper.server.quorum.ObserverZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ObserverRequestProcessor</h4>
+<pre>public&nbsp;ObserverRequestProcessor(<a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</pre>
+<div class="block">Constructor - takes an ObserverZooKeeperServer to associate with
+ and the next processor to pass requests to after we're finished.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>zks</code> - </dd>
+<dd><code>nextProcessor</code> - </dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="processRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processRequest</h4>
+<pre>public&nbsp;void&nbsp;processRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</pre>
+<div class="block">Simply queue the request, which will be processed in FIFO order.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<div class="block">Shutdown the processor.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ObserverRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ObserverRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.lang.Thread">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html
new file mode 100644
index 000000000..2fb9523fd
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html
@@ -0,0 +1,469 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ObserverZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ObserverZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ObserverZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="ObserverZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerZooKeeperServer">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class ObserverZooKeeperServer" class="title">Class ObserverZooKeeperServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.QuorumZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum.LearnerZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.ObserverZooKeeperServer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ObserverZooKeeperServer</span>
+extends <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></pre>
+<div class="block">A ZooKeeperServer for the Observer node type. Not much is different, but
+ we anticipate specializing the request processors in the future.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html" title="class in org.apache.zookeeper.server">ZooKeeperServer.MissingSessionException</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#commitProcessor">commitProcessor</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#syncProcessor">syncProcessor</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#self">self</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgradeableSessionTracker">upgradeableSessionTracker</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ALLOW_SASL_FAILED_CLIENTS">ALLOW_SASL_FAILED_CLIENTS</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#CLOSE_SESSION_TXN_ENABLED">CLOSE_SESSION_TXN_ENABLED</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_STARTING_BUFFER_SIZE">DEFAULT_STARTING_BUFFER_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_THROTTLED_OP_WAIT_TIME">DEFAULT_THROTTLED_OP_WAIT_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_TICK_TIME">DEFAULT_TICK_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENABLE_EAGER_ACL_CHECK">ENABLE_EAGER_ACL_CHECK</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENFORCE_QUOTA">ENFORCE_QUOTA</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enforceQuota">enforceQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#firstProcessor">firstProcessor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_CHILDREN_RESPONSE_CACHE_SIZE">GET_CHILDREN_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_DATA_RESPONSE_CACHE_SIZE">GET_DATA_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GLOBAL_OUTSTANDING_LIMIT">GLOBAL_OUTSTANDING_LIMIT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#initialConfig">initialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#INT_BUFFER_STARTING_SIZE_BYTES">INT_BUFFER_STARTING_SIZE_BYTES</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#intBufferStartingSizeBytes">intBufferStartingSizeBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxDataTreeBean">jmxDataTreeBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxServerBean">jmxServerBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jvmPauseMonitor">jvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#listenBacklog">listenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#maxSessionTimeout">maxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#minSessionTimeout">minSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ok">ok</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reconfigEnabled">reconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SASL_SUPER_USER">SASL_SUPER_USER</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#secureServerCnxnFactory">secureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverCnxnFactory">serverCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#sessionTracker">sessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SKIP_ACL">SKIP_ACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SNAP_COUNT">SNAP_COUNT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#state">state</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#throttledOpWaitTime">throttledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#tickTime">tickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ZOOKEEPER_DIGEST_ENABLED">ZOOKEEPER_DIGEST_ENABLED</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#commitRequest-org.apache.zookeeper.server.Request-">commitRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>
+<div class="block">Unlike a Follower, which sees a full request only during the PROPOSAL
+ phase, Observers get all the data required with the INFORM packet.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">dumpMonitorValues</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function">BiConsumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;response)</code>
+<div class="block">Hook into admin server, useful to expose additional data
+ that do not represent metrics.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#getLearner--">getLearner</a></span>()</code>
+<div class="block">Abstract method to return the learner associated with this server.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#getObserver--">getObserver</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a></span>()</code>
+<div class="block">Set up the request processors for an Observer:
+ firstProcesor-&gt;commitProcessor-&gt;finalProcessor</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#sync--">sync</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#createSessionTracker--">createSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getServerId--">getServerId</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getTouchSnapshot--">getTouchSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#registerJMX--">registerJMX</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.ZooKeeperServerBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">revalidateSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#unregisterJMX--">unregisterJMX</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#unregisterJMX-org.apache.zookeeper.server.quorum.Learner-">unregisterJMX</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#checkUpgradeSession-org.apache.zookeeper.server.Request-">checkUpgradeSession</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpConf-java.io.PrintWriter-">dumpConf</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#registerMetrics--">registerMetrics</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">setLocalSessionFlag</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">setState</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#startSessionTracker--">startSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgrade-long-">upgrade</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#authWriteRequest-org.apache.zookeeper.server.Request-">authWriteRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#canShutdown--">canShutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkACL-org.apache.zookeeper.server.ServerCnxn-java.util.List-int-java.util.List-java.lang.String-java.util.List-">checkACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkPasswd-long-byte:A-">checkPasswd</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkQuota-java.lang.String-byte:A-byte:A-int-">checkQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkRequestSizeWhenReceivingMessage-int-">checkRequestSizeWhenReceivingMessage</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-long-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-org.apache.zookeeper.server.ServerCnxn-org.apache.zookeeper.proto.RequestHeader-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#connThrottle--">connThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createRequestThrottler--">createRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#decInProcess--">decInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpEphemerals-java.io.PrintWriter-">dumpEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enqueueRequest-org.apache.zookeeper.server.Request-">enqueueRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-long-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-org.apache.zookeeper.server.SessionTracker.Session-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#finishSessionInit-org.apache.zookeeper.server.ServerCnxn-boolean-">finishSessionInit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPortListenBacklog--">getClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConf--">getConf</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConnectionDropChance--">getConnectionDropChance</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getEphemerals--">getEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGetChildrenResponseCache--">getGetChildrenResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGlobalOutstandingLimit--">getGlobalOutstandingLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInflight--">getInflight</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInitialConfig--">getInitialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInProcess--">getInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestBytes--">getLargeRequestBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLastProcessedZxid--">getLastProcessedZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingHandshakeNum--">getOutstandingHandshakeNum</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getReadResponseCache--">getReadResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getRequestPathMetricsCollector--">getRequestPathMetricsCollector</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureServerCnxnFactory--">getSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerCnxnFactory--">getServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionExpiryMap--">getSessionExpiryMap</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionTracker--">getSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapCount--">getSnapCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapSizeInBytes--">getSnapSizeInBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogFactory--">getTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZKDatabase--">getZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZkShutdownHandler--">getZkShutdownHandler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZooKeeperServerListener--">getZooKeeperServerListener</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZxid--">getZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#incInProcess--">incInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isCloseSessionTxnEnabled--">isCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isDigestEnabled--">isDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isEnableEagerACLCheck--">isEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isReconfigEnabled--">isReconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isResponseCachingEnabled--">isResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isRunning--">isRunning</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#killSession-long-long-">killSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#loadData--">loadData</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processConnectRequest-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processConnectRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processPacket-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processPacket</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.server.Request-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.txn.TxnHeader-org.apache.jute.Record-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reopenSession-org.apache.zookeeper.server.ServerCnxn-long-byte:A-int-">reopenSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#requestFinished-org.apache.zookeeper.server.Request-">requestFinished</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverStats--">serverStats</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setClientPortListenBacklog-int-">setClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCloseSessionTxnEnabled-boolean-">setCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCreateSessionTrackerServerId-int-">setCreateSessionTrackerServerId</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setDigestEnabled-boolean-">setDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setEnableEagerACLCheck-boolean-">setEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setOwner-long-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setSecureServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTickTime-int-">setTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTxnLogFactory-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">setTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZKDatabase-org.apache.zookeeper.server.ZKDatabase-">setZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZxid-long-">setZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldForceWriteInitialSnapshotAfterLeaderElection--">shouldForceWriteInitialSnapshotAfterLeaderElection</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldThrottle-long-">shouldThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown-boolean-">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startdata--">startdata</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startJvmPauseMonitor--">startJvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startRequestThrottler--">startRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startServing--">startServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startup--">startup</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startupWithoutServing--">startupWithoutServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequest-org.apache.zookeeper.server.Request-">submitRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequestNow-org.apache.zookeeper.server.Request-">submitRequestNow</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot--">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot-boolean-">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#truncateLog-long-">truncateLog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#validateSession-org.apache.zookeeper.server.ServerCnxn-long-">validateSession</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getObserver--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObserver</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a>&nbsp;getObserver()</pre>
+</li>
+</ul>
+<a name="getLearner--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearner</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;getLearner()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getLearner--">LearnerZooKeeperServer</a></code></span></div>
+<div class="block">Abstract method to return the learner associated with this server.
+ Since the Learner may change under our feet (when QuorumPeer reassigns
+ it) we can't simply take a reference here. Instead, we need the
+ subclasses to implement this.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getLearner--">getLearner</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="commitRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commitRequest</h4>
+<pre>public&nbsp;void&nbsp;commitRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</pre>
+<div class="block">Unlike a Follower, which sees a full request only during the PROPOSAL
+ phase, Observers get all the data required with the INFORM packet.
+ This method commits a request that has been unpacked by from an INFORM
+ received from the Leader.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>request</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="setupRequestProcessors--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setupRequestProcessors</h4>
+<pre>protected&nbsp;void&nbsp;setupRequestProcessors()</pre>
+<div class="block">Set up the request processors for an Observer:
+ firstProcesor-&gt;commitProcessor-&gt;finalProcessor</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="sync--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sync</h4>
+<pre>public&nbsp;void&nbsp;sync()</pre>
+</li>
+</ul>
+<a name="getState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getState()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html#getState--">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getState--">getState</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#shutdown--">shutdown</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="dumpMonitorValues-java.util.function.BiConsumer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>dumpMonitorValues</h4>
+<pre>public&nbsp;void&nbsp;dumpMonitorValues(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function">BiConsumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;response)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">ZooKeeperServer</a></code></span></div>
+<div class="block">Hook into admin server, useful to expose additional data
+ that do not represent metrics.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">dumpMonitorValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>response</code> - a sink which collects the data.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ObserverZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="ObserverZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.LearnerZooKeeperServer">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/PrependableSocket.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/PrependableSocket.html
new file mode 100644
index 000000000..87a5c480d
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/PrependableSocket.html
@@ -0,0 +1,331 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PrependableSocket (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PrependableSocket (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PrependableSocket.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/PrependableSocket.html" target="_top">Frames</a></li>
+<li><a href="PrependableSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class PrependableSocket" class="title">Class PrependableSocket</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">java.net.Socket</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.PrependableSocket</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">PrependableSocket</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html#PrependableSocket-java.net.SocketImpl-">PrependableSocket</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketImpl.html?is-external=true" title="class or interface in java.net">SocketImpl</a>&nbsp;base)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html#getInputStream--">getInputStream</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html#prependToInputStream-byte:A-int-int-">prependToInputStream</a></span>(byte[]&nbsp;bytes,
+ int&nbsp;offset,
+ int&nbsp;length)</code>
+<div class="block">Prepend some bytes that have already been read back to the socket's input stream.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.net.Socket">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.net.<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#bind-java.net.SocketAddress-" title="class or interface in java.net">bind</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#close--" title="class or interface in java.net">close</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#connect-java.net.SocketAddress-" title="class or interface in java.net">connect</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#connect-java.net.SocketAddress-int-" title="class or interface in java.net">connect</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getChannel--" title="class or interface in java.net">getChannel</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getInetAddress--" title="class or interface in java.net">getInetAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getKeepAlive--" title="class or interface in java.net">getKeepAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalAddress--" title="class or interface in java.net">getLocalAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalPort--" title="class or interface in java.net">getLocalPort</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalSocketAddress--" title="class or interface in java.net">getLocalSocketAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getOOBInline--" title="class or interface in java.net">getOOBInline</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getOutputStream--" title="class or interface in java.net">getOutputStream</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getPort--" title="class or interface in java.net">getPort</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getReceiveBufferSize--" title="class or interface in java.net">getReceiveBufferSize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getRemoteSocketAddress--" title="class or interface in java.net">getRemoteSocketAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getReuseAddress--" title="class or interface in java.net">getReuseAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSendBufferSize--" title="class or interface in java.net">getSendBufferSize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSoLinger--" title="class or interface in java.net">getSoLinger</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSoTimeout--" title="class or interface in java.net">getSoTimeout</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getTcpNoDelay--" title="class or interface in java.net">getTcpNoDelay</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getTrafficClass--" title="class or interface in java.net">getTrafficClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isBound--" title="class or interface in java.net">isBound</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isClosed--" title="class or interface in java.net">isClosed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isConnected--" title="class or interface in java.net">isConnected</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isInputShutdown--" title="class or interface in java.net">isInputShutdown</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isOutputShutdown--" title="class or interface in java.net">isOutputShutdown</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#sendUrgentData-int-" title="class or interface in java.net">sendUrgentData</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setKeepAlive-boolean-" title="class or interface in java.net">setKeepAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setOOBInline-boolean-" title="class or interface in java.net">setOOBInline</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setPerformancePreferences-int-int-int-" title="class or interface in java.net">setPerformancePreferences</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setReceiveBufferSize-int-" title="class or interface in java.net">setReceiveBufferSize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setReuseAddress-boolean-" title="class or interface in java.net">setReuseAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSendBufferSize-int-" title="class or interface in java.net">setSendBufferSize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSocketImplFactory-java.net.SocketImplFactory-" title="class or interface in java.net">setSocketImplFactory</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSoLinger-boolean-int-" title="class or interface in java.net">setSoLinger</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSoTimeout-int-" title="class or interface in java.net">setSoTimeout</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTcpNoDelay-boolean-" title="class or interface in java.net">setTcpNoDelay</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTrafficClass-int-" title="class or interface in java.net">setTrafficClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#shutdownInput--" title="class or interface in java.net">shutdownInput</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#shutdownOutput--" title="class or interface in java.net">shutdownOutput</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#toString--" title="class or interface in java.net">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PrependableSocket-java.net.SocketImpl-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PrependableSocket</h4>
+<pre>public&nbsp;PrependableSocket(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketImpl.html?is-external=true" title="class or interface in java.net">SocketImpl</a>&nbsp;base)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getInputStream--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputStream</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;getInputStream()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getInputStream--" title="class or interface in java.net">getInputStream</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="prependToInputStream-byte:A-int-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>prependToInputStream</h4>
+<pre>public&nbsp;void&nbsp;prependToInputStream(byte[]&nbsp;bytes,
+ int&nbsp;offset,
+ int&nbsp;length)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Prepend some bytes that have already been read back to the socket's input stream. Note that this method can be
+ called at most once with a non-0 length per socket instance.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>bytes</code> - the bytes to prepend.</dd>
+<dd><code>offset</code> - offset in the byte array to start at.</dd>
+<dd><code>length</code> - number of bytes to prepend.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if this method was already called on the socket instance, or if super.getInputStream() throws.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PrependableSocket.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/PrependableSocket.html" target="_top">Frames</a></li>
+<li><a href="PrependableSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html
new file mode 100644
index 000000000..2f0f86c7a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ProposalRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ProposalRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ProposalRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ProposalRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class ProposalRequestProcessor" class="title">Class ProposalRequestProcessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.ProposalRequestProcessor</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ProposalRequestProcessor</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></pre>
+<div class="block">This RequestProcessor simply forwards requests to an AckRequestProcessor and
+ SyncRequestProcessor.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.RequestProcessor">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html#FORWARD_LEARNER_REQUESTS_TO_COMMIT_PROCESSOR_DISABLED">FORWARD_LEARNER_REQUESTS_TO_COMMIT_PROCESSOR_DISABLED</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html#ProposalRequestProcessor-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">ProposalRequestProcessor</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html#initialize--">initialize</a></span>()</code>
+<div class="block">initialize this processor</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="FORWARD_LEARNER_REQUESTS_TO_COMMIT_PROCESSOR_DISABLED">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FORWARD_LEARNER_REQUESTS_TO_COMMIT_PROCESSOR_DISABLED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FORWARD_LEARNER_REQUESTS_TO_COMMIT_PROCESSOR_DISABLED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.ProposalRequestProcessor.FORWARD_LEARNER_REQUESTS_TO_COMMIT_PROCESSOR_DISABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ProposalRequestProcessor-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ProposalRequestProcessor</h4>
+<pre>public&nbsp;ProposalRequestProcessor(<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize()</pre>
+<div class="block">initialize this processor</div>
+</li>
+</ul>
+<a name="processRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processRequest</h4>
+<pre>public&nbsp;void&nbsp;processRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)
+ throws <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ProposalRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ProposalRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumBean.html
new file mode 100644
index 000000000..93f5404da
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumBean.html
@@ -0,0 +1,518 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumBean.html" target="_top">Frames</a></li>
+<li><a href="QuorumBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumBean" class="title">Class QuorumBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumBean</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumBean</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a>, <a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#QuorumBean-org.apache.zookeeper.server.quorum.QuorumPeer-">QuorumBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#disableDigest--">disableDigest</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#getDigestEnabled--">getDigestEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#getInitLimit--">getInitLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#getObserverElectionDelayMS--">getObserverElectionDelayMS</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#getQuorumSize--">getQuorumSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#getSyncLimit--">getSyncLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#isHidden--">isHidden</a></span>()</code>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#isPortUnification--">isPortUnification</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#isSslQuorum--">isSslQuorum</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#setInitLimit-int-">setInitLimit</a></span>(int&nbsp;initLimit)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#setObserverElectionDelayMS-long-">setObserverElectionDelayMS</a></span>(long&nbsp;delayMS)</code>
+<div class="block">Set the Observer Leader Election Reconnect Delay time in MS</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#setSyncLimit-int-">setSyncLimit</a></span>(int&nbsp;syncLimit)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumBean-org.apache.zookeeper.server.quorum.QuorumPeer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumBean</h4>
+<pre>public&nbsp;QuorumBean(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;peer)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the name of the quorum</dd>
+</dl>
+</li>
+</ul>
+<a name="isHidden--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isHidden</h4>
+<pre>public&nbsp;boolean&nbsp;isHidden()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">ZKMBeanInfo</a></code></span></div>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools. Used for grouping MBeans.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">isHidden</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the MBean is hidden.</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumSize</h4>
+<pre>public&nbsp;int&nbsp;getQuorumSize()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getQuorumSize--">getQuorumSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>configured number of peers in the quorum</dd>
+</dl>
+</li>
+</ul>
+<a name="getSyncLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncLimit</h4>
+<pre>public&nbsp;int&nbsp;getSyncLimit()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getSyncLimit--">getSyncLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of ticks that can pass between sending a request and getting an acknowledgment</dd>
+</dl>
+</li>
+</ul>
+<a name="getInitLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitLimit</h4>
+<pre>public&nbsp;int&nbsp;getInitLimit()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getInitLimit--">getInitLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of ticks that the initial synchronization phase can take</dd>
+</dl>
+</li>
+</ul>
+<a name="setInitLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInitLimit</h4>
+<pre>public&nbsp;void&nbsp;setInitLimit(int&nbsp;initLimit)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#setInitLimit-int-">setInitLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>initLimit</code> - the number of ticks that the initial synchronization phase can take</dd>
+</dl>
+</li>
+</ul>
+<a name="setSyncLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSyncLimit</h4>
+<pre>public&nbsp;void&nbsp;setSyncLimit(int&nbsp;syncLimit)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#setSyncLimit-int-">setSyncLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>syncLimit</code> - the number of ticks that can pass between sending a request and getting an acknowledgment</dd>
+</dl>
+</li>
+</ul>
+<a name="isSslQuorum--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSslQuorum</h4>
+<pre>public&nbsp;boolean&nbsp;isSslQuorum()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#isSslQuorum--">isSslQuorum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>SSL communication between quorum members required</dd>
+</dl>
+</li>
+</ul>
+<a name="isPortUnification--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPortUnification</h4>
+<pre>public&nbsp;boolean&nbsp;isPortUnification()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#isPortUnification--">isPortUnification</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>SSL communication between quorum members enabled</dd>
+</dl>
+</li>
+</ul>
+<a name="getObserverElectionDelayMS--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObserverElectionDelayMS</h4>
+<pre>public&nbsp;long&nbsp;getObserverElectionDelayMS()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getObserverElectionDelayMS--">getObserverElectionDelayMS</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Observer Leader Election Reconnect Delay time in MS</dd>
+</dl>
+</li>
+</ul>
+<a name="setObserverElectionDelayMS-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setObserverElectionDelayMS</h4>
+<pre>public&nbsp;void&nbsp;setObserverElectionDelayMS(long&nbsp;delayMS)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#setObserverElectionDelayMS-long-">QuorumMXBean</a></code></span></div>
+<div class="block">Set the Observer Leader Election Reconnect Delay time in MS</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#setObserverElectionDelayMS-long-">setObserverElectionDelayMS</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getDigestEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDigestEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;getDigestEnabled()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getDigestEnabled--">getDigestEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="disableDigest--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>disableDigest</h4>
+<pre>public&nbsp;void&nbsp;disableDigest()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#disableDigest--">disableDigest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumBean.html" target="_top">Frames</a></li>
+<li><a href="QuorumBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html
new file mode 100644
index 000000000..5584108ae
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html
@@ -0,0 +1,228 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumCnxManager.InitialMessage.InitialMessageException (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumCnxManager.InitialMessage.InitialMessageException (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.InitialMessageException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumCnxManager.InitialMessage.InitialMessageException" class="title">Class QuorumCnxManager.InitialMessage.InitialMessageException</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage.InitialMessageException</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">QuorumCnxManager.InitialMessage.InitialMessageException</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage.InitialMessageException">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#addSuppressed-java.lang.Throwable-" title="class or interface in java.lang">addSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace--" title="class or interface in java.lang">fillInStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getCause--" title="class or interface in java.lang">getCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage--" title="class or interface in java.lang">getLocalizedMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getMessage--" title="class or interface in java.lang">getMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getSuppressed--" title="class or interface in java.lang">getSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#initCause-java.lang.Throwable-" title="class or interface in java.lang">initCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace--" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintStream-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintWriter-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace-java.lang.StackTraceElement:A-" title="class or interface in java.lang">setStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.InitialMessageException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html
new file mode 100644
index 000000000..efc217f65
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumCnxManager.InitialMessage (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumCnxManager.InitialMessage (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.InitialMessage.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumCnxManager.InitialMessage" class="title">Class QuorumCnxManager.InitialMessage</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">QuorumCnxManager.InitialMessage</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage.InitialMessageException</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html#electionAddr">electionAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html#sid">sid</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html#parse-java.lang.Long-java.io.DataInputStream-">parse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;protocolVersion,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="sid">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sid</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a> sid</pre>
+</li>
+</ul>
+<a name="electionAddr">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>electionAddr</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt; electionAddr</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="parse-java.lang.Long-java.io.DataInputStream-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parse</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a>&nbsp;parse(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;protocolVersion,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)
+ throws <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage.InitialMessageException</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage.InitialMessageException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.InitialMessage.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html
new file mode 100644
index 000000000..18af7918a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html
@@ -0,0 +1,342 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumCnxManager.Listener (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumCnxManager.Listener (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.Listener.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.Listener.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.lang.Thread">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumCnxManager.Listener" class="title">Class QuorumCnxManager.Listener</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumCnxManager.Listener</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumCnxManager.Listener</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">ZooKeeperThread</a></pre>
+<div class="block">Thread to listen on some ports</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html#Listener--">Listener</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">ZooKeeperThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Listener--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Listener</h4>
+<pre>public&nbsp;Listener()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.Listener.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.Listener.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.lang.Thread">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html
new file mode 100644
index 000000000..f7f12b1b9
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumCnxManager.Message (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumCnxManager.Message (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.Message.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.Message.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumCnxManager.Message" class="title">Class QuorumCnxManager.Message</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumCnxManager.Message</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">QuorumCnxManager.Message</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.Message.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.Message.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.html
new file mode 100644
index 000000000..e879cabee
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumCnxManager.html
@@ -0,0 +1,698 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumCnxManager (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumCnxManager (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumCnxManager" class="title">Class QuorumCnxManager</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumCnxManager</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumCnxManager</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This class implements a connection manager for leader election using TCP. It
+ maintains one connection for every pair of servers. The tricky part is to
+ guarantee that there is exactly one connection for every pair of servers that
+ are operating correctly and that can communicate over the network.
+
+ If two servers try to start a connection concurrently, then the connection
+ manager uses a very simple tie-breaking mechanism to decide which connection
+ to drop based on the IP addressed of the two parties.
+
+ For every peer, the manager maintains a queue of messages to send. If the
+ connection to any particular peer drops, then the sender thread puts the
+ message back on the list. As this implementation currently uses a queue
+ implementation to maintain messages to send to another peer, we add the
+ message to the tail of the queue, thus changing the order of messages.
+ Although this is not a problem for the leader election, it could be a problem
+ when consolidating peer communication. This is to be verified, though.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Listener</a></span></code>
+<div class="block">Thread to listen on some ports</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Listener</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#listener">listener</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#maxBuffer">maxBuffer</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#PROTOCOL_VERSION_V1">PROTOCOL_VERSION_V1</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#PROTOCOL_VERSION_V2">PROTOCOL_VERSION_V2</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#recvQueue">recvQueue</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#QuorumCnxManager-org.apache.zookeeper.server.quorum.QuorumPeer-long-java.util.Map-org.apache.zookeeper.server.quorum.auth.QuorumAuthServer-org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner-int-boolean-int-boolean-">QuorumCnxManager</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ long&nbsp;mySid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;view,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>&nbsp;authServer,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>&nbsp;authLearner,
+ int&nbsp;socketTimeout,
+ boolean&nbsp;listenOnAllIPs,
+ int&nbsp;quorumCnxnThreadsSize,
+ boolean&nbsp;quorumSaslAuthEnabled)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#addToRecvQueue-org.apache.zookeeper.server.quorum.QuorumCnxManager.Message-">addToRecvQueue</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a>&nbsp;msg)</code>
+<div class="block">Inserts an element in the <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#recvQueue"><code>recvQueue</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#connectAll--">connectAll</a></span>()</code>
+<div class="block">Try to establish a connection with each server if one
+ doesn't exist.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#connectedToPeer-long-">connectedToPeer</a></span>(long&nbsp;peerSid)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#getConnectionThreadCount--">getConnectionThreadCount</a></span>()</code>
+<div class="block">Return number of connection processing threads.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#getThreadCount--">getThreadCount</a></span>()</code>
+<div class="block">Return number of worker threads</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#halt--">halt</a></span>()</code>
+<div class="block">Flag that it is time to wrap up all activities and interrupt the listener.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#initiateConnection-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.Long-">initiateConnection</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</code>
+<div class="block">First we create the socket, perform SSL handshake and authentication if needed.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#initiateConnectionAsync-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.Long-">initiateConnectionAsync</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</code>
+<div class="block">Server will initiate the connection request to its peer server
+ asynchronously via separate connection thread.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#isReconfigEnabled--">isReconfigEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#pollRecvQueue-long-java.util.concurrent.TimeUnit-">pollRecvQueue</a></span>(long&nbsp;timeout,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Retrieves and removes a message at the head of this queue,
+ waiting up to the specified wait time if necessary for an element to
+ become available.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#receiveConnection-java.net.Socket-">receiveConnection</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock)</code>
+<div class="block">If this server receives a connection request, then it gives up on the new
+ connection if it wins.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#receiveConnectionAsync-java.net.Socket-">receiveConnectionAsync</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock)</code>
+<div class="block">Server receives a connection request and handles it asynchronously via
+ separate thread.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#softHalt--">softHalt</a></span>()</code>
+<div class="block">A soft halt simply finishes workers.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#testInitiateConnection-long-">testInitiateConnection</a></span>(long&nbsp;sid)</code>
+<div class="block">Invokes initiateConnection for testing purposes</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#toSend-java.lang.Long-java.nio.ByteBuffer-">toSend</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;b)</code>
+<div class="block">Processes invoke this message to queue a message to send.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="PROTOCOL_VERSION_V1">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PROTOCOL_VERSION_V1</h4>
+<pre>public static final&nbsp;long PROTOCOL_VERSION_V1</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumCnxManager.PROTOCOL_VERSION_V1">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PROTOCOL_VERSION_V2">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PROTOCOL_VERSION_V2</h4>
+<pre>public static final&nbsp;long PROTOCOL_VERSION_V2</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumCnxManager.PROTOCOL_VERSION_V2">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="maxBuffer">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxBuffer</h4>
+<pre>public static final&nbsp;int maxBuffer</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumCnxManager.maxBuffer">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="recvQueue">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>recvQueue</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a>&gt; recvQueue</pre>
+</li>
+</ul>
+<a name="listener">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>listener</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Listener</a> listener</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumCnxManager-org.apache.zookeeper.server.quorum.QuorumPeer-long-java.util.Map-org.apache.zookeeper.server.quorum.auth.QuorumAuthServer-org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner-int-boolean-int-boolean-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumCnxManager</h4>
+<pre>public&nbsp;QuorumCnxManager(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ long&nbsp;mySid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;view,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>&nbsp;authServer,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>&nbsp;authLearner,
+ int&nbsp;socketTimeout,
+ boolean&nbsp;listenOnAllIPs,
+ int&nbsp;quorumCnxnThreadsSize,
+ boolean&nbsp;quorumSaslAuthEnabled)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="testInitiateConnection-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testInitiateConnection</h4>
+<pre>public&nbsp;void&nbsp;testInitiateConnection(long&nbsp;sid)</pre>
+<div class="block">Invokes initiateConnection for testing purposes</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sid</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="initiateConnection-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.Long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initiateConnection</h4>
+<pre>public&nbsp;void&nbsp;initiateConnection(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</pre>
+<div class="block">First we create the socket, perform SSL handshake and authentication if needed.
+ Then we perform the initiation protocol.
+ If this server has initiated the connection, then it gives up on the
+ connection if it loses challenge. Otherwise, it keeps the connection.</div>
+</li>
+</ul>
+<a name="initiateConnectionAsync-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.Long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initiateConnectionAsync</h4>
+<pre>public&nbsp;boolean&nbsp;initiateConnectionAsync(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</pre>
+<div class="block">Server will initiate the connection request to its peer server
+ asynchronously via separate connection thread.</div>
+</li>
+</ul>
+<a name="receiveConnection-java.net.Socket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receiveConnection</h4>
+<pre>public&nbsp;void&nbsp;receiveConnection(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock)</pre>
+<div class="block">If this server receives a connection request, then it gives up on the new
+ connection if it wins. Notice that it checks whether it has a connection
+ to this server already or not. If it does, then it sends the smallest
+ possible long value to lose the challenge.</div>
+</li>
+</ul>
+<a name="receiveConnectionAsync-java.net.Socket-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receiveConnectionAsync</h4>
+<pre>public&nbsp;void&nbsp;receiveConnectionAsync(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock)</pre>
+<div class="block">Server receives a connection request and handles it asynchronously via
+ separate thread.</div>
+</li>
+</ul>
+<a name="toSend-java.lang.Long-java.nio.ByteBuffer-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toSend</h4>
+<pre>public&nbsp;void&nbsp;toSend(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;b)</pre>
+<div class="block">Processes invoke this message to queue a message to send. Currently,
+ only leader election uses it.</div>
+</li>
+</ul>
+<a name="connectAll--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connectAll</h4>
+<pre>public&nbsp;void&nbsp;connectAll()</pre>
+<div class="block">Try to establish a connection with each server if one
+ doesn't exist.</div>
+</li>
+</ul>
+<a name="halt--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>halt</h4>
+<pre>public&nbsp;void&nbsp;halt()</pre>
+<div class="block">Flag that it is time to wrap up all activities and interrupt the listener.</div>
+</li>
+</ul>
+<a name="softHalt--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>softHalt</h4>
+<pre>public&nbsp;void&nbsp;softHalt()</pre>
+<div class="block">A soft halt simply finishes workers.</div>
+</li>
+</ul>
+<a name="getThreadCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getThreadCount</h4>
+<pre>public&nbsp;long&nbsp;getThreadCount()</pre>
+<div class="block">Return number of worker threads</div>
+</li>
+</ul>
+<a name="getConnectionThreadCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConnectionThreadCount</h4>
+<pre>public&nbsp;long&nbsp;getConnectionThreadCount()</pre>
+<div class="block">Return number of connection processing threads.</div>
+</li>
+</ul>
+<a name="addToRecvQueue-org.apache.zookeeper.server.quorum.QuorumCnxManager.Message-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addToRecvQueue</h4>
+<pre>public&nbsp;void&nbsp;addToRecvQueue(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a>&nbsp;msg)</pre>
+<div class="block">Inserts an element in the <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#recvQueue"><code>recvQueue</code></a>. If the Queue is full, this
+ methods removes an element from the head of the Queue and then inserts the
+ element at the tail of the queue.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>msg</code> - Reference to the message to be inserted in the queue</dd>
+</dl>
+</li>
+</ul>
+<a name="pollRecvQueue-long-java.util.concurrent.TimeUnit-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pollRecvQueue</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a>&nbsp;pollRecvQueue(long&nbsp;timeout,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block">Retrieves and removes a message at the head of this queue,
+ waiting up to the specified wait time if necessary for an element to
+ become available.
+
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true#poll-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent"><code>BlockingQueue.poll(long, java.util.concurrent.TimeUnit)</code></a></div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="connectedToPeer-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connectedToPeer</h4>
+<pre>public&nbsp;boolean&nbsp;connectedToPeer(long&nbsp;peerSid)</pre>
+</li>
+</ul>
+<a name="isReconfigEnabled--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isReconfigEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isReconfigEnabled()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumCnxManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumCnxManager.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumMXBean.html
new file mode 100644
index 000000000..d85585581
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumMXBean.html
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumMXBean.html" target="_top">Frames</a></li>
+<li><a href="QuorumMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface QuorumMXBean" class="title">Interface QuorumMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum">QuorumBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">QuorumMXBean</span></pre>
+<div class="block">An MBean representing a zookeeper cluster nodes (aka quorum peers)</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#disableDigest--">disableDigest</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getDigestEnabled--">getDigestEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getInitLimit--">getInitLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getObserverElectionDelayMS--">getObserverElectionDelayMS</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getQuorumSize--">getQuorumSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#getSyncLimit--">getSyncLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#isPortUnification--">isPortUnification</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#isSslQuorum--">isSslQuorum</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#setInitLimit-int-">setInitLimit</a></span>(int&nbsp;initLimit)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#setObserverElectionDelayMS-long-">setObserverElectionDelayMS</a></span>(long&nbsp;delayMS)</code>
+<div class="block">Set the Observer Leader Election Reconnect Delay time in MS</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html#setSyncLimit-int-">setSyncLimit</a></span>(int&nbsp;syncLimit)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the name of the quorum</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumSize</h4>
+<pre>int&nbsp;getQuorumSize()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>configured number of peers in the quorum</dd>
+</dl>
+</li>
+</ul>
+<a name="getInitLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitLimit</h4>
+<pre>int&nbsp;getInitLimit()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of ticks that the initial synchronization phase can take</dd>
+</dl>
+</li>
+</ul>
+<a name="getSyncLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncLimit</h4>
+<pre>int&nbsp;getSyncLimit()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of ticks that can pass between sending a request and getting an acknowledgment</dd>
+</dl>
+</li>
+</ul>
+<a name="setInitLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInitLimit</h4>
+<pre>void&nbsp;setInitLimit(int&nbsp;initLimit)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>initLimit</code> - the number of ticks that the initial synchronization phase can take</dd>
+</dl>
+</li>
+</ul>
+<a name="setSyncLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSyncLimit</h4>
+<pre>void&nbsp;setSyncLimit(int&nbsp;syncLimit)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>syncLimit</code> - the number of ticks that can pass between sending a request and getting an acknowledgment</dd>
+</dl>
+</li>
+</ul>
+<a name="isSslQuorum--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSslQuorum</h4>
+<pre>boolean&nbsp;isSslQuorum()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>SSL communication between quorum members required</dd>
+</dl>
+</li>
+</ul>
+<a name="isPortUnification--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPortUnification</h4>
+<pre>boolean&nbsp;isPortUnification()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>SSL communication between quorum members enabled</dd>
+</dl>
+</li>
+</ul>
+<a name="getObserverElectionDelayMS--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObserverElectionDelayMS</h4>
+<pre>long&nbsp;getObserverElectionDelayMS()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Observer Leader Election Reconnect Delay time in MS</dd>
+</dl>
+</li>
+</ul>
+<a name="setObserverElectionDelayMS-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setObserverElectionDelayMS</h4>
+<pre>void&nbsp;setObserverElectionDelayMS(long&nbsp;delayMS)</pre>
+<div class="block">Set the Observer Leader Election Reconnect Delay time in MS</div>
+</li>
+</ul>
+<a name="getDigestEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDigestEnabled</h4>
+<pre>boolean&nbsp;getDigestEnabled()</pre>
+</li>
+</ul>
+<a name="disableDigest--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>disableDigest</h4>
+<pre>void&nbsp;disableDigest()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumMXBean.html" target="_top">Frames</a></li>
+<li><a href="QuorumMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html
new file mode 100644
index 000000000..7740e72dd
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeer.AddressTuple (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeer.AddressTuple (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.AddressTuple.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.AddressTuple.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumPeer.AddressTuple" class="title">Class QuorumPeer.AddressTuple</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeer.AddressTuple</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static final class <span class="typeNameLabel">QuorumPeer.AddressTuple</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html#clientAddr">clientAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html#electionAddr">electionAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html#quorumAddr">quorumAddr</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html#AddressTuple-org.apache.zookeeper.server.quorum.MultipleAddresses-org.apache.zookeeper.server.quorum.MultipleAddresses-java.net.InetSocketAddress-">AddressTuple</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;quorumAddr,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;clientAddr)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="quorumAddr">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumAddr</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a> quorumAddr</pre>
+</li>
+</ul>
+<a name="electionAddr">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>electionAddr</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a> electionAddr</pre>
+</li>
+</ul>
+<a name="clientAddr">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>clientAddr</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> clientAddr</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AddressTuple-org.apache.zookeeper.server.quorum.MultipleAddresses-org.apache.zookeeper.server.quorum.MultipleAddresses-java.net.InetSocketAddress-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AddressTuple</h4>
+<pre>public&nbsp;AddressTuple(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;quorumAddr,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;clientAddr)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.AddressTuple.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.AddressTuple.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html
new file mode 100644
index 000000000..6293a275f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeer.LearnerType (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeer.LearnerType (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.LearnerType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.LearnerType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Enum QuorumPeer.LearnerType" class="title">Enum QuorumPeer.LearnerType</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">QuorumPeer.LearnerType</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!-- -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html#OBSERVER">OBSERVER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html#PARTICIPANT">PARTICIPANT</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!-- -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="PARTICIPANT">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PARTICIPANT</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a> PARTICIPANT</pre>
+</li>
+</ul>
+<a name="OBSERVER">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>OBSERVER</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a> OBSERVER</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared. This method may be used to iterate
+over the constants as follows:
+<pre>
+for (QuorumPeer.LearnerType c : QuorumPeer.LearnerType.values())
+&nbsp; System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.LearnerType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.LearnerType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html
new file mode 100644
index 000000000..effcef194
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html
@@ -0,0 +1,585 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeer.QuorumServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeer.QuorumServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.QuorumServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.QuorumServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumPeer.QuorumServer" class="title">Class QuorumPeer.QuorumServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">QuorumPeer.QuorumServer</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#addr">addr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#clientAddr">clientAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#electionAddr">electionAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#hostname">hostname</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#id">id</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#isClientAddrFromStatic">isClientAddrFromStatic</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#type">type</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.net.InetSocketAddress-">QuorumServer</a></span>(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-">QuorumServer</a></span>(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-java.net.InetSocketAddress-">QuorumServer</a></span>(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;clientAddr)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-java.net.InetSocketAddress-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">QuorumServer</a></span>(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;clientAddr,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">QuorumServer</a></span>(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.lang.String-">QuorumServer</a></span>(long&nbsp;sid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;addressStr)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#checkAddressDuplicate-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">checkAddressDuplicate</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;s)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#delimitedHostString-java.net.InetSocketAddress-">delimitedHostString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#getId--">getId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#recreateSocketAddresses--">recreateSocketAddresses</a></span>()</code>
+<div class="block">Performs a DNS lookup for server address and election address.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="addr">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addr</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a> addr</pre>
+</li>
+</ul>
+<a name="electionAddr">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>electionAddr</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a> electionAddr</pre>
+</li>
+</ul>
+<a name="clientAddr">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clientAddr</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> clientAddr</pre>
+</li>
+</ul>
+<a name="id">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>id</h4>
+<pre>public&nbsp;long id</pre>
+</li>
+</ul>
+<a name="hostname">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hostname</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> hostname</pre>
+</li>
+</ul>
+<a name="type">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>type</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a> type</pre>
+</li>
+</ul>
+<a name="isClientAddrFromStatic">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isClientAddrFromStatic</h4>
+<pre>public&nbsp;boolean isClientAddrFromStatic</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-java.net.InetSocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumServer</h4>
+<pre>public&nbsp;QuorumServer(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;clientAddr)</pre>
+</li>
+</ul>
+<a name="QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumServer</h4>
+<pre>public&nbsp;QuorumServer(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr)</pre>
+</li>
+</ul>
+<a name="QuorumServer-long-java.net.InetSocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumServer</h4>
+<pre>public&nbsp;QuorumServer(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr)</pre>
+</li>
+</ul>
+<a name="QuorumServer-long-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumServer</h4>
+<pre>public&nbsp;QuorumServer(long&nbsp;sid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;addressStr)
+ throws <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumServer</h4>
+<pre>public&nbsp;QuorumServer(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;type)</pre>
+</li>
+</ul>
+<a name="QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-java.net.InetSocketAddress-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumServer</h4>
+<pre>public&nbsp;QuorumServer(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;clientAddr,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;type)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre>public&nbsp;long&nbsp;getId()</pre>
+</li>
+</ul>
+<a name="recreateSocketAddresses--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>recreateSocketAddresses</h4>
+<pre>public&nbsp;void&nbsp;recreateSocketAddresses()</pre>
+<div class="block">Performs a DNS lookup for server address and election address.
+
+ If the DNS lookup fails, this.addr and electionAddr remain
+ unmodified.</div>
+</li>
+</ul>
+<a name="delimitedHostString-java.net.InetSocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>delimitedHostString</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;delimitedHostString(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr)</pre>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="checkAddressDuplicate-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>checkAddressDuplicate</h4>
+<pre>public&nbsp;void&nbsp;checkAddressDuplicate(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;s)
+ throws <a href="../../../../../org/apache/zookeeper/KeeperException.BadArgumentsException.html" title="class in org.apache.zookeeper">KeeperException.BadArgumentsException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.BadArgumentsException.html" title="class in org.apache.zookeeper">KeeperException.BadArgumentsException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.QuorumServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.QuorumServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html
new file mode 100644
index 000000000..962b6492e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html
@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeer.ServerState (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeer.ServerState (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.ServerState.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.ServerState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Enum QuorumPeer.ServerState" class="title">Enum QuorumPeer.ServerState</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeer.ServerState</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">QuorumPeer.ServerState</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!-- -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html#FOLLOWING">FOLLOWING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html#LEADING">LEADING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html#LOOKING">LOOKING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html#OBSERVING">OBSERVING</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!-- -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="LOOKING">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOOKING</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a> LOOKING</pre>
+</li>
+</ul>
+<a name="FOLLOWING">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FOLLOWING</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a> FOLLOWING</pre>
+</li>
+</ul>
+<a name="LEADING">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEADING</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a> LEADING</pre>
+</li>
+</ul>
+<a name="OBSERVING">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>OBSERVING</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a> OBSERVING</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared. This method may be used to iterate
+over the constants as follows:
+<pre>
+for (QuorumPeer.ServerState c : QuorumPeer.ServerState.values())
+&nbsp; System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.ServerState.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.ServerState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html
new file mode 100644
index 000000000..de77a7fc4
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeer.SyncMode (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeer.SyncMode (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.SyncMode.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.SyncMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Enum QuorumPeer.SyncMode" class="title">Enum QuorumPeer.SyncMode</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeer.SyncMode</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">QuorumPeer.SyncMode</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>&gt;</pre>
+<div class="block">(Used for monitoring) When peer is in synchronization phase, this shows
+ which synchronization mechanism is being used</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!-- -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html#DIFF">DIFF</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html#NONE">NONE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html#SNAP">SNAP</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html#TRUNC">TRUNC</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!-- -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="NONE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NONE</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a> NONE</pre>
+</li>
+</ul>
+<a name="DIFF">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DIFF</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a> DIFF</pre>
+</li>
+</ul>
+<a name="SNAP">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SNAP</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a> SNAP</pre>
+</li>
+</ul>
+<a name="TRUNC">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TRUNC</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a> TRUNC</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared. This method may be used to iterate
+over the constants as follows:
+<pre>
+for (QuorumPeer.SyncMode c : QuorumPeer.SyncMode.values())
+&nbsp; System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.SyncMode.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.SyncMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html
new file mode 100644
index 000000000..82bdacb18
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeer.ZabState (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeer.ZabState (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.ZabState.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.ZabState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Enum QuorumPeer.ZabState" class="title">Enum QuorumPeer.ZabState</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeer.ZabState</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">QuorumPeer.ZabState</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>&gt;</pre>
+<div class="block">(Used for monitoring) shows the current phase of
+ Zab protocol that peer is running.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!-- -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html#BROADCAST">BROADCAST</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html#DISCOVERY">DISCOVERY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html#ELECTION">ELECTION</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html#SYNCHRONIZATION">SYNCHRONIZATION</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!-- -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="ELECTION">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ELECTION</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a> ELECTION</pre>
+</li>
+</ul>
+<a name="DISCOVERY">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DISCOVERY</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a> DISCOVERY</pre>
+</li>
+</ul>
+<a name="SYNCHRONIZATION">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SYNCHRONIZATION</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a> SYNCHRONIZATION</pre>
+</li>
+</ul>
+<a name="BROADCAST">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BROADCAST</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a> BROADCAST</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared. This method may be used to iterate
+over the constants as follows:
+<pre>
+for (QuorumPeer.ZabState c : QuorumPeer.ZabState.values())
+&nbsp; System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.ZabState.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.ZabState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.html
new file mode 100644
index 000000000..b256d69ed
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeer.html
@@ -0,0 +1,3046 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":9,"i119":10,"i120":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumPeer" class="title">Class QuorumPeer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumPeer</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">ZooKeeperThread</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></pre>
+<div class="block">This class manages the quorum protocol. There are three states this server
+ can be in:
+ <ol>
+ <li>Leader election - each server will elect a leader (proposing itself as a
+ leader initially).</li>
+ <li>Follower - the server will synchronize with the leader and replicate any
+ transactions.</li>
+ <li>Leader - the server will process requests and forward them to followers.
+ A majority of followers must log the request before it can be accepted.
+ </ol>
+
+ This class will setup a datagram socket that will always respond with its
+ view of the current leader. The response will take the form of:
+
+ <pre>
+ int xid;
+
+ long myid;
+
+ long leader_id;
+
+ long leader_zxid;
+ </pre>
+
+ The request for the current leader will consist solely of an xid: int xid;</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.AddressTuple</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></span></code>
+<div class="block">(Used for monitoring) When peer is in synchronization phase, this shows
+ which synchronization mechanism is being used</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></span></code>
+<div class="block">(Used for monitoring) shows the current phase of
+ Zab protocol that peer is running.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#ACCEPTED_EPOCH_FILENAME">ACCEPTED_EPOCH_FILENAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#clientPortListenBacklog">clientPortListenBacklog</a></span></code>
+<div class="block">The ZooKeeper server's socket backlog length.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#CONFIG_DEFAULT_KERBEROS_CANONICALIZE_HOST_NAMES">CONFIG_DEFAULT_KERBEROS_CANONICALIZE_HOST_NAMES</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#CONFIG_DEFAULT_MULTI_ADDRESS_ENABLED">CONFIG_DEFAULT_MULTI_ADDRESS_ENABLED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#CONFIG_KEY_KERBEROS_CANONICALIZE_HOST_NAMES">CONFIG_KEY_KERBEROS_CANONICALIZE_HOST_NAMES</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#CONFIG_KEY_MULTI_ADDRESS_ENABLED">CONFIG_KEY_MULTI_ADDRESS_ENABLED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_ENABLED">CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_ENABLED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_TIMEOUT_MS">CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_TIMEOUT_MS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#connectToLearnerMasterLimit">connectToLearnerMasterLimit</a></span></code>
+<div class="block">The number of ticks that can pass before retrying to connect to learner master</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#CURRENT_EPOCH_FILENAME">CURRENT_EPOCH_FILENAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#end_fle">end_fle</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#FLE_TIME_UNIT">FLE_TIME_UNIT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#follower">follower</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#initLimit">initLimit</a></span></code>
+<div class="block">The number of ticks that the initial synchronization phase can take</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#leader">leader</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#localSessionsEnabled">localSessionsEnabled</a></span></code>
+<div class="block">Whether learners in this quorum should create new sessions as local.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#localSessionsUpgradingEnabled">localSessionsUpgradingEnabled</a></span></code>
+<div class="block">Whether learners in this quorum should upgrade local sessions to
+ global.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#maxSessionTimeout">maxSessionTimeout</a></span></code>
+<div class="block">Maximum number of milliseconds to allow for session timeout.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#minSessionTimeout">minSessionTimeout</a></span></code>
+<div class="block">Minimum number of milliseconds to allow for session timeout.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#observer">observer</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QUORUM_CNXN_TIMEOUT_MS">QUORUM_CNXN_TIMEOUT_MS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#quorumCnxnThreadsSize">quorumCnxnThreadsSize</a></span></code>
+<div class="block">The maximum number of threads to allow in the connectionExecutors thread
+ pool which will be used to initiate quorum server connections.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#quorumLearnerLoginContext">quorumLearnerLoginContext</a></span></code>
+<div class="block">Quorum learner login context name in jaas-conf file to read the kerberos
+ security details.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#quorumLearnerSaslAuthRequired">quorumLearnerSaslAuthRequired</a></span></code>
+<div class="block">If this is false, quorum peer learner will talk to quorum peer server
+ without authentication.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#quorumListenOnAllIPs">quorumListenOnAllIPs</a></span></code>
+<div class="block">Whether or not to listen on all IPs for the two quorum ports
+ (broadcast and fast leader election).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#quorumSaslEnableAuth">quorumSaslEnableAuth</a></span></code>
+<div class="block">Enable/Disables quorum authentication using sasl.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#quorumServerLoginContext">quorumServerLoginContext</a></span></code>
+<div class="block">Quorum server login context name in jaas-conf file to read the kerberos
+ security details.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#quorumServerSaslAuthRequired">quorumServerSaslAuthRequired</a></span></code>
+<div class="block">If this is false, quorum peer server will accept another quorum peer client
+ connection even if the authentication did not succeed.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#quorumServicePrincipal">quorumServicePrincipal</a></span></code>
+<div class="block">Kerberos quorum service principal.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#start_fle">start_fle</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#SYNC_ENABLED">SYNC_ENABLED</a></span></code>
+<div class="block">The syncEnabled can also be set via a system property.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#syncEnabled">syncEnabled</a></span></code>
+<div class="block">Enables/Disables sync request processor.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#syncLimit">syncLimit</a></span></code>
+<div class="block">The number of ticks that can pass between sending a request and getting
+ an acknowledgment</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#tick">tick</a></span></code>
+<div class="block">The current tick</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#tickTime">tickTime</a></span></code>
+<div class="block">The number of milliseconds of each tick</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.QuorumStats.Provider">
+<!-- -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#FOLLOWING_STATE">FOLLOWING_STATE</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#LEADING_STATE">LEADING_STATE</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#LOOKING_STATE">LOOKING_STATE</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#OBSERVING_STATE">OBSERVING_STATE</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#UNKNOWN_STATE">UNKNOWN_STATE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer--">QuorumPeer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit)</code>
+<div class="block">This constructor is only used by the existing unit test code.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;quorumConfig)</code>
+<div class="block">This constructor is only used by the existing unit test code.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-java.lang.String-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-long-int-int-int-int-boolean-org.apache.zookeeper.server.ServerCnxnFactory-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataLogDir,
+ int&nbsp;electionType,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ boolean&nbsp;quorumListenOnAllIPs,
+ <a href="../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;quorumConfig)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-long-int-int-int-int-org.apache.zookeeper.server.ServerCnxnFactory-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataLogDir,
+ int&nbsp;electionType,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory)</code>
+<div class="block">For backward compatibility purposes, we instantiate QuorumMaj by default.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#areLocalSessionsEnabled--">areLocalSessionsEnabled</a></span>()</code>
+<div class="block">Whether local sessions are enabled</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#closeAllConnections--">closeAllConnections</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#configFromString-java.lang.String-">configFromString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#countParticipants-java.util.Map-">countParticipants</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;peers)</code>
+<div class="block">Count the number of nodes in the map that could be followers.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#createCnxnManager--">createCnxnManager</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#createElectionAlgorithm-int-">createElectionAlgorithm</a></span>(int&nbsp;electionAlgorithm)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#createFromConfig-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">createFromConfig</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>
+<div class="block">Create a new QuorumPeer and apply all the values per the already-parsed config.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#enableLocalSessions-boolean-">enableLocalSessions</a></span>(boolean&nbsp;flag)</code>
+<div class="block">Whether to enable local sessions</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#enableLocalSessionsUpgrading-boolean-">enableLocalSessionsUpgrading</a></span>(boolean&nbsp;flag)</code>
+<div class="block">Whether to allow local sessions to upgrade to global sessions</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getAcceptedEpoch--">getAcceptedEpoch</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getActiveServer--">getActiveServer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getClientAddress--">getClientAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getClientPort--">getClientPort</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getClientPortListenBacklog--">getClientPortListenBacklog</a></span>()</code>
+<div class="block">The server socket's listen backlog length</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getConnectToLearnerMasterLimit--">getConnectToLearnerMasterLimit</a></span>()</code>
+<div class="block">Get the connectToLearnerMasterLimit</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getCurrentAndNextConfigVoters--">getCurrentAndNextConfigVoters</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getCurrentEpoch--">getCurrentEpoch</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getCurrentVote--">getCurrentVote</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getDetailedPeerState--">getDetailedPeerState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getElectionAddress--">getElectionAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getElectionAlg--">getElectionAlg</a></span>()</code>
+<div class="block">Get an instance of LeaderElection</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getElectionType--">getElectionType</a></span>()</code>
+<div class="block">Gets the election type</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getInitialConfig--">getInitialConfig</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getInitLimit--">getInitLimit</a></span>()</code>
+<div class="block">Get the number of ticks that the initial synchronization phase can take</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getLastLoggedZxid--">getLastLoggedZxid</a></span>()</code>
+<div class="block">returns the highest zxid that this host has seen</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getLastSeenQuorumVerifier--">getLastSeenQuorumVerifier</a></span>()</code>
+<div class="block">Return QuorumVerifier object for the last proposed configuration.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getLeaderAddress--">getLeaderAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getLeaderId--">getLeaderId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getLearnerType--">getLearnerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a></span>()</code>
+<div class="block">Maximum number of connections allowed from particular host (ip)</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getMaxSessionTimeout--">getMaxSessionTimeout</a></span>()</code>
+<div class="block">maximum session timeout in milliseconds</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getMinSessionTimeout--">getMinSessionTimeout</a></span>()</code>
+<div class="block">minimum session timeout in milliseconds</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getMultiAddressReachabilityCheckTimeoutMs--">getMultiAddressReachabilityCheckTimeoutMs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getMyId--">getMyId</a></span>()</code>
+<div class="block">get the id of this quorum peer.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getNextDynamicConfigFilename--">getNextDynamicConfigFilename</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getObserverMasterPort--">getObserverMasterPort</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getObservingView--">getObservingView</a></span>()</code>
+<div class="block">Returns only observers, no followers.</div>
+</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getPeerState--">getPeerState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumCnxManager--">getQuorumCnxManager</a></span>()</code>
+<div class="block">get reference to QuorumCnxManager</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumListenOnAllIPs--">getQuorumListenOnAllIPs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumPeers--">getQuorumPeers</a></span>()</code>
+<div class="block">Only used by QuorumStats at the moment</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumSize--">getQuorumSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumVerifier--">getQuorumVerifier</a></span>()</code>
+<div class="block">Return QuorumVerifier object for the last committed configuration.</div>
+</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getServerState--">getServerState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getSynced_observers_metric--">getSynced_observers_metric</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getSyncEnabled--">getSyncEnabled</a></span>()</code>
+<div class="block">Return syncEnabled.</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getSyncLimit--">getSyncLimit</a></span>()</code>
+<div class="block">Get the synclimit</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getSyncMode--">getSyncMode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getTick--">getTick</a></span>()</code>
+<div class="block">Get the current tick</div>
+</td>
+</tr>
+<tr id="i50" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getTickTime--">getTickTime</a></span>()</code>
+<div class="block">Get the number of milliseconds of each tick</div>
+</td>
+</tr>
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getTxnFactory--">getTxnFactory</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i52" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getView--">getView</a></span>()</code>
+<div class="block">A 'view' is a node's current opinion of the membership of the entire
+ ensemble.</div>
+</td>
+</tr>
+<tr id="i53" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getVotingView--">getVotingView</a></span>()</code>
+<div class="block">Observers are not contained in this view, only nodes with
+ PeerType=PARTICIPANT.</div>
+</td>
+</tr>
+<tr id="i54" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getZabState--">getZabState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i55" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getZkDb--">getZkDb</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i56" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#initConfigInZKDatabase--">initConfigInZKDatabase</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i57" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#initialize--">initialize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i58" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#isLocalSessionsUpgradingEnabled--">isLocalSessionsUpgradingEnabled</a></span>()</code>
+<div class="block">Whether local sessions are allowed to upgrade to global sessions</div>
+</td>
+</tr>
+<tr id="i59" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#isMultiAddressEnabled--">isMultiAddressEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i60" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#isMultiAddressReachabilityCheckEnabled--">isMultiAddressReachabilityCheckEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i61" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#isReconfigEnabled--">isReconfigEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i62" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#isReconfigStateChange--">isReconfigStateChange</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i63" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#isRunning--">isRunning</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i64" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#isSslQuorum--">isSslQuorum</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i65" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#makeFollower-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">makeFollower</a></span>(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)</code>&nbsp;</td>
+</tr>
+<tr id="i66" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#makeLeader-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">makeLeader</a></span>(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)</code>&nbsp;</td>
+</tr>
+<tr id="i67" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#makeLEStrategy--">makeLEStrategy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i68" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#makeObserver-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">makeObserver</a></span>(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)</code>&nbsp;</td>
+</tr>
+<tr id="i69" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#processReconfig-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-java.lang.Long-java.lang.Long-boolean-">processReconfig</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;suggestedLeaderId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;zxid,
+ boolean&nbsp;restartLE)</code>&nbsp;</td>
+</tr>
+<tr id="i70" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#reconfigFlagClear--">reconfigFlagClear</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i71" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#reconfigFlagSet--">reconfigFlagSet</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i72" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#recreateSocketAddresses-long-">recreateSocketAddresses</a></span>(long&nbsp;id)</code>
+<div class="block">Resolves hostname for a given server ID.</div>
+</td>
+</tr>
+<tr id="i73" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#restartLeaderElection-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">restartLeaderElection</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qvOLD,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qvNEW)</code>&nbsp;</td>
+</tr>
+<tr id="i74" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i75" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setAcceptedEpoch-long-">setAcceptedEpoch</a></span>(long&nbsp;e)</code>&nbsp;</td>
+</tr>
+<tr id="i76" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setClientPortListenBacklog-int-">setClientPortListenBacklog</a></span>(int&nbsp;backlog)</code>
+<div class="block">Sets the server socket's listen backlog length.</div>
+</td>
+</tr>
+<tr id="i77" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setCnxnFactory</a></span>(<a href="../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory)</code>&nbsp;</td>
+</tr>
+<tr id="i78" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setConfigFileName-java.lang.String-">setConfigFileName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>&nbsp;</td>
+</tr>
+<tr id="i79" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setConnectToLearnerMasterLimit-int-">setConnectToLearnerMasterLimit</a></span>(int&nbsp;connectToLearnerMasterLimit)</code>
+<div class="block">Set the connectToLearnerMasterLimit</div>
+</td>
+</tr>
+<tr id="i80" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setCurrentEpoch-long-">setCurrentEpoch</a></span>(long&nbsp;e)</code>&nbsp;</td>
+</tr>
+<tr id="i81" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setCurrentVote-org.apache.zookeeper.server.quorum.Vote-">setCurrentVote</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i82" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setElectionType-int-">setElectionType</a></span>(int&nbsp;electionType)</code>
+<div class="block">Sets the election type</div>
+</td>
+</tr>
+<tr id="i83" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setFollower-org.apache.zookeeper.server.quorum.Follower-">setFollower</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>&nbsp;newFollower)</code>&nbsp;</td>
+</tr>
+<tr id="i84" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setInitialConfig-java.lang.String-">setInitialConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;initialConfig)</code>&nbsp;</td>
+</tr>
+<tr id="i85" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setInitLimit-int-">setInitLimit</a></span>(int&nbsp;initLimit)</code>
+<div class="block">Set the number of ticks that the initial synchronization phase can take</div>
+</td>
+</tr>
+<tr id="i86" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setJvmPauseMonitor-org.apache.zookeeper.server.util.JvmPauseMonitor-">setJvmPauseMonitor</a></span>(<a href="../../../../../org/apache/zookeeper/server/util/JvmPauseMonitor.html" title="class in org.apache.zookeeper.server.util">JvmPauseMonitor</a>&nbsp;jvmPauseMonitor)</code>&nbsp;</td>
+</tr>
+<tr id="i87" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setLastSeenQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">setLastSeenQuorumVerifier</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;writeToDisk)</code>&nbsp;</td>
+</tr>
+<tr id="i88" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setLeader-org.apache.zookeeper.server.quorum.Leader-">setLeader</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;newLeader)</code>&nbsp;</td>
+</tr>
+<tr id="i89" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setLeaderAddressAndId-org.apache.zookeeper.server.quorum.MultipleAddresses-long-">setLeaderAddressAndId</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;addr,
+ long&nbsp;newId)</code>&nbsp;</td>
+</tr>
+<tr id="i90" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setLearnerType-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">setLearnerType</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;p)</code>
+<div class="block">Sets the LearnerType</div>
+</td>
+</tr>
+<tr id="i91" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a></span>(int&nbsp;max)</code>
+<div class="block">maximum session timeout in milliseconds</div>
+</td>
+</tr>
+<tr id="i92" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setMinSessionTimeout-int-">setMinSessionTimeout</a></span>(int&nbsp;min)</code>
+<div class="block">minimum session timeout in milliseconds</div>
+</td>
+</tr>
+<tr id="i93" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setMultiAddressEnabled-boolean-">setMultiAddressEnabled</a></span>(boolean&nbsp;multiAddressEnabled)</code>&nbsp;</td>
+</tr>
+<tr id="i94" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setMultiAddressReachabilityCheckEnabled-boolean-">setMultiAddressReachabilityCheckEnabled</a></span>(boolean&nbsp;multiAddressReachabilityCheckEnabled)</code>&nbsp;</td>
+</tr>
+<tr id="i95" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setMultiAddressReachabilityCheckTimeoutMs-int-">setMultiAddressReachabilityCheckTimeoutMs</a></span>(int&nbsp;multiAddressReachabilityCheckTimeoutMs)</code>&nbsp;</td>
+</tr>
+<tr id="i96" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setMyid-long-">setMyid</a></span>(long&nbsp;myid)</code>
+<div class="block">set the id of this quorum peer.</div>
+</td>
+</tr>
+<tr id="i97" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setObserver-org.apache.zookeeper.server.quorum.Observer-">setObserver</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a>&nbsp;newObserver)</code>&nbsp;</td>
+</tr>
+<tr id="i98" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setObserverMasterPort-int-">setObserverMasterPort</a></span>(int&nbsp;observerMasterPort)</code>&nbsp;</td>
+</tr>
+<tr id="i99" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setPeerState-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">setPeerState</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;newState)</code>&nbsp;</td>
+</tr>
+<tr id="i100" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setQuorumListenOnAllIPs-boolean-">setQuorumListenOnAllIPs</a></span>(boolean&nbsp;quorumListenOnAllIPs)</code>&nbsp;</td>
+</tr>
+<tr id="i101" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">setQuorumVerifier</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;writeToDisk)</code>&nbsp;</td>
+</tr>
+<tr id="i102" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setSecureCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setSecureCnxnFactory</a></span>(<a href="../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;secureCnxnFactory)</code>&nbsp;</td>
+</tr>
+<tr id="i103" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setSslQuorum-boolean-">setSslQuorum</a></span>(boolean&nbsp;sslQuorum)</code>&nbsp;</td>
+</tr>
+<tr id="i104" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setSyncEnabled-boolean-">setSyncEnabled</a></span>(boolean&nbsp;syncEnabled)</code>
+<div class="block">Set syncEnabled.</div>
+</td>
+</tr>
+<tr id="i105" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setSyncLimit-int-">setSyncLimit</a></span>(int&nbsp;syncLimit)</code>
+<div class="block">Set the synclimit</div>
+</td>
+</tr>
+<tr id="i106" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setSyncMode-org.apache.zookeeper.server.quorum.QuorumPeer.SyncMode-">setSyncMode</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>&nbsp;syncMode)</code>&nbsp;</td>
+</tr>
+<tr id="i107" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setTickTime-int-">setTickTime</a></span>(int&nbsp;tickTime)</code>
+<div class="block">Set the number of milliseconds of each tick</div>
+</td>
+</tr>
+<tr id="i108" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setTxnFactory-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">setTxnFactory</a></span>(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;factory)</code>&nbsp;</td>
+</tr>
+<tr id="i109" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setUsePortUnification-boolean-">setUsePortUnification</a></span>(boolean&nbsp;shouldUsePortUnification)</code>&nbsp;</td>
+</tr>
+<tr id="i110" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setZabState-org.apache.zookeeper.server.quorum.QuorumPeer.ZabState-">setZabState</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>&nbsp;zabState)</code>&nbsp;</td>
+</tr>
+<tr id="i111" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setZKDatabase-org.apache.zookeeper.server.ZKDatabase-">setZKDatabase</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;database)</code>
+<div class="block">set zk database for this node</div>
+</td>
+</tr>
+<tr id="i112" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setZooKeeperServer-org.apache.zookeeper.server.ZooKeeperServer-">setZooKeeperServer</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</code>&nbsp;</td>
+</tr>
+<tr id="i113" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#shouldUsePortUnification--">shouldUsePortUnification</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i114" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i115" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#start--">start</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i116" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#startLeaderElection--">startLeaderElection</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i117" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#stopLeaderElection--">stopLeaderElection</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i118" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#testingQuorumPeer--">testingQuorumPeer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i119" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#updateElectionVote-long-">updateElectionVote</a></span>(long&nbsp;newEpoch)</code>
+<div class="block">Updates leader election info to avoid inconsistencies when
+ a new server tries to join the ensemble.</div>
+</td>
+</tr>
+<tr id="i120" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#viewContains-java.lang.Long-">viewContains</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</code>
+<div class="block">Check if a node is in the current view.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">ZooKeeperThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="CONFIG_KEY_KERBEROS_CANONICALIZE_HOST_NAMES">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CONFIG_KEY_KERBEROS_CANONICALIZE_HOST_NAMES</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONFIG_KEY_KERBEROS_CANONICALIZE_HOST_NAMES</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.CONFIG_KEY_KERBEROS_CANONICALIZE_HOST_NAMES">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CONFIG_DEFAULT_KERBEROS_CANONICALIZE_HOST_NAMES">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CONFIG_DEFAULT_KERBEROS_CANONICALIZE_HOST_NAMES</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONFIG_DEFAULT_KERBEROS_CANONICALIZE_HOST_NAMES</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.CONFIG_DEFAULT_KERBEROS_CANONICALIZE_HOST_NAMES">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CONFIG_KEY_MULTI_ADDRESS_ENABLED">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CONFIG_KEY_MULTI_ADDRESS_ENABLED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONFIG_KEY_MULTI_ADDRESS_ENABLED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.CONFIG_KEY_MULTI_ADDRESS_ENABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CONFIG_DEFAULT_MULTI_ADDRESS_ENABLED">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CONFIG_DEFAULT_MULTI_ADDRESS_ENABLED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONFIG_DEFAULT_MULTI_ADDRESS_ENABLED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.CONFIG_DEFAULT_MULTI_ADDRESS_ENABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_TIMEOUT_MS">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_TIMEOUT_MS</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_TIMEOUT_MS</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_TIMEOUT_MS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_ENABLED">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_ENABLED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_ENABLED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_ENABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="start_fle">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start_fle</h4>
+<pre>public&nbsp;long start_fle</pre>
+</li>
+</ul>
+<a name="end_fle">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>end_fle</h4>
+<pre>public&nbsp;long end_fle</pre>
+</li>
+</ul>
+<a name="FLE_TIME_UNIT">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FLE_TIME_UNIT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FLE_TIME_UNIT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.FLE_TIME_UNIT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="tickTime">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tickTime</h4>
+<pre>protected&nbsp;int tickTime</pre>
+<div class="block">The number of milliseconds of each tick</div>
+</li>
+</ul>
+<a name="localSessionsEnabled">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>localSessionsEnabled</h4>
+<pre>protected&nbsp;boolean localSessionsEnabled</pre>
+<div class="block">Whether learners in this quorum should create new sessions as local.
+ False by default to preserve existing behavior.</div>
+</li>
+</ul>
+<a name="localSessionsUpgradingEnabled">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>localSessionsUpgradingEnabled</h4>
+<pre>protected&nbsp;boolean localSessionsUpgradingEnabled</pre>
+<div class="block">Whether learners in this quorum should upgrade local sessions to
+ global. Only matters if local sessions are enabled.</div>
+</li>
+</ul>
+<a name="minSessionTimeout">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>minSessionTimeout</h4>
+<pre>protected&nbsp;int minSessionTimeout</pre>
+<div class="block">Minimum number of milliseconds to allow for session timeout.
+ A value of -1 indicates unset, use default.</div>
+</li>
+</ul>
+<a name="maxSessionTimeout">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxSessionTimeout</h4>
+<pre>protected&nbsp;int maxSessionTimeout</pre>
+<div class="block">Maximum number of milliseconds to allow for session timeout.
+ A value of -1 indicates unset, use default.</div>
+</li>
+</ul>
+<a name="clientPortListenBacklog">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clientPortListenBacklog</h4>
+<pre>protected&nbsp;int clientPortListenBacklog</pre>
+<div class="block">The ZooKeeper server's socket backlog length. The number of connections
+ that will be queued to be read before new connections are dropped. A
+ value of one indicates the default backlog will be used.</div>
+</li>
+</ul>
+<a name="initLimit">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initLimit</h4>
+<pre>protected volatile&nbsp;int initLimit</pre>
+<div class="block">The number of ticks that the initial synchronization phase can take</div>
+</li>
+</ul>
+<a name="syncLimit">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syncLimit</h4>
+<pre>protected volatile&nbsp;int syncLimit</pre>
+<div class="block">The number of ticks that can pass between sending a request and getting
+ an acknowledgment</div>
+</li>
+</ul>
+<a name="connectToLearnerMasterLimit">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connectToLearnerMasterLimit</h4>
+<pre>protected volatile&nbsp;int connectToLearnerMasterLimit</pre>
+<div class="block">The number of ticks that can pass before retrying to connect to learner master</div>
+</li>
+</ul>
+<a name="syncEnabled">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syncEnabled</h4>
+<pre>protected&nbsp;boolean syncEnabled</pre>
+<div class="block">Enables/Disables sync request processor. This option is enabled
+ by default and is to be used with observers.</div>
+</li>
+</ul>
+<a name="tick">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tick</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> tick</pre>
+<div class="block">The current tick</div>
+</li>
+</ul>
+<a name="quorumListenOnAllIPs">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumListenOnAllIPs</h4>
+<pre>protected&nbsp;boolean quorumListenOnAllIPs</pre>
+<div class="block">Whether or not to listen on all IPs for the two quorum ports
+ (broadcast and fast leader election).</div>
+</li>
+</ul>
+<a name="quorumSaslEnableAuth">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumSaslEnableAuth</h4>
+<pre>protected&nbsp;boolean quorumSaslEnableAuth</pre>
+<div class="block">Enable/Disables quorum authentication using sasl. Defaulting to false.</div>
+</li>
+</ul>
+<a name="quorumServerSaslAuthRequired">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumServerSaslAuthRequired</h4>
+<pre>protected&nbsp;boolean quorumServerSaslAuthRequired</pre>
+<div class="block">If this is false, quorum peer server will accept another quorum peer client
+ connection even if the authentication did not succeed. This can be used while
+ upgrading ZooKeeper server. Defaulting to false (required).</div>
+</li>
+</ul>
+<a name="quorumLearnerSaslAuthRequired">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumLearnerSaslAuthRequired</h4>
+<pre>protected&nbsp;boolean quorumLearnerSaslAuthRequired</pre>
+<div class="block">If this is false, quorum peer learner will talk to quorum peer server
+ without authentication. This can be used while upgrading ZooKeeper
+ server. Defaulting to false (required).</div>
+</li>
+</ul>
+<a name="quorumServicePrincipal">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumServicePrincipal</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> quorumServicePrincipal</pre>
+<div class="block">Kerberos quorum service principal. Defaulting to 'zkquorum/localhost'.</div>
+</li>
+</ul>
+<a name="quorumLearnerLoginContext">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumLearnerLoginContext</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> quorumLearnerLoginContext</pre>
+<div class="block">Quorum learner login context name in jaas-conf file to read the kerberos
+ security details. Defaulting to 'QuorumLearner'.</div>
+</li>
+</ul>
+<a name="quorumServerLoginContext">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumServerLoginContext</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> quorumServerLoginContext</pre>
+<div class="block">Quorum server login context name in jaas-conf file to read the kerberos
+ security details. Defaulting to 'QuorumServer'.</div>
+</li>
+</ul>
+<a name="quorumCnxnThreadsSize">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumCnxnThreadsSize</h4>
+<pre>protected&nbsp;int quorumCnxnThreadsSize</pre>
+<div class="block">The maximum number of threads to allow in the connectionExecutors thread
+ pool which will be used to initiate quorum server connections.</div>
+</li>
+</ul>
+<a name="QUORUM_CNXN_TIMEOUT_MS">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_CNXN_TIMEOUT_MS</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_CNXN_TIMEOUT_MS</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.QUORUM_CNXN_TIMEOUT_MS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="follower">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>follower</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a> follower</pre>
+</li>
+</ul>
+<a name="leader">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leader</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a> leader</pre>
+</li>
+</ul>
+<a name="observer">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>observer</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a> observer</pre>
+</li>
+</ul>
+<a name="SYNC_ENABLED">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SYNC_ENABLED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SYNC_ENABLED</pre>
+<div class="block">The syncEnabled can also be set via a system property.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.SYNC_ENABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CURRENT_EPOCH_FILENAME">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CURRENT_EPOCH_FILENAME</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CURRENT_EPOCH_FILENAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.CURRENT_EPOCH_FILENAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ACCEPTED_EPOCH_FILENAME">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ACCEPTED_EPOCH_FILENAME</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ACCEPTED_EPOCH_FILENAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeer.ACCEPTED_EPOCH_FILENAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumPeer--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumPeer</h4>
+<pre>public&nbsp;QuorumPeer()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="QuorumPeer-java.util.Map-java.io.File-java.io.File-int-long-int-int-int-int-org.apache.zookeeper.server.ServerCnxnFactory-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumPeer</h4>
+<pre>public&nbsp;QuorumPeer(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataLogDir,
+ int&nbsp;electionType,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">For backward compatibility purposes, we instantiate QuorumMaj by default.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="QuorumPeer-java.util.Map-java.io.File-java.io.File-int-long-int-int-int-int-boolean-org.apache.zookeeper.server.ServerCnxnFactory-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumPeer</h4>
+<pre>public&nbsp;QuorumPeer(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataLogDir,
+ int&nbsp;electionType,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ boolean&nbsp;quorumListenOnAllIPs,
+ <a href="../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;quorumConfig)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumPeer</h4>
+<pre>public&nbsp;QuorumPeer(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">This constructor is only used by the existing unit test code.
+ It defaults to FileLogProvider persistence provider.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumPeer</h4>
+<pre>public&nbsp;QuorumPeer(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumPeer</h4>
+<pre>public&nbsp;QuorumPeer(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;quorumConfig)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">This constructor is only used by the existing unit test code.
+ It defaults to FileLogProvider persistence provider.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getObserverMasterPort--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObserverMasterPort</h4>
+<pre>public&nbsp;int&nbsp;getObserverMasterPort()</pre>
+</li>
+</ul>
+<a name="setObserverMasterPort-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setObserverMasterPort</h4>
+<pre>public&nbsp;void&nbsp;setObserverMasterPort(int&nbsp;observerMasterPort)</pre>
+</li>
+</ul>
+<a name="isMultiAddressEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isMultiAddressEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isMultiAddressEnabled()</pre>
+</li>
+</ul>
+<a name="setMultiAddressEnabled-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMultiAddressEnabled</h4>
+<pre>public&nbsp;void&nbsp;setMultiAddressEnabled(boolean&nbsp;multiAddressEnabled)</pre>
+</li>
+</ul>
+<a name="getMultiAddressReachabilityCheckTimeoutMs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMultiAddressReachabilityCheckTimeoutMs</h4>
+<pre>public&nbsp;int&nbsp;getMultiAddressReachabilityCheckTimeoutMs()</pre>
+</li>
+</ul>
+<a name="setMultiAddressReachabilityCheckTimeoutMs-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMultiAddressReachabilityCheckTimeoutMs</h4>
+<pre>public&nbsp;void&nbsp;setMultiAddressReachabilityCheckTimeoutMs(int&nbsp;multiAddressReachabilityCheckTimeoutMs)</pre>
+</li>
+</ul>
+<a name="isMultiAddressReachabilityCheckEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isMultiAddressReachabilityCheckEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isMultiAddressReachabilityCheckEnabled()</pre>
+</li>
+</ul>
+<a name="setMultiAddressReachabilityCheckEnabled-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMultiAddressReachabilityCheckEnabled</h4>
+<pre>public&nbsp;void&nbsp;setMultiAddressReachabilityCheckEnabled(boolean&nbsp;multiAddressReachabilityCheckEnabled)</pre>
+</li>
+</ul>
+<a name="getLearnerType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerType</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;getLearnerType()</pre>
+</li>
+</ul>
+<a name="setLearnerType-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLearnerType</h4>
+<pre>public&nbsp;void&nbsp;setLearnerType(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;p)</pre>
+<div class="block">Sets the LearnerType</div>
+</li>
+</ul>
+<a name="setConfigFileName-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setConfigFileName</h4>
+<pre>protected&nbsp;void&nbsp;setConfigFileName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</pre>
+</li>
+</ul>
+<a name="getQuorumSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumSize</h4>
+<pre>public&nbsp;int&nbsp;getQuorumSize()</pre>
+</li>
+</ul>
+<a name="setJvmPauseMonitor-org.apache.zookeeper.server.util.JvmPauseMonitor-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setJvmPauseMonitor</h4>
+<pre>public&nbsp;void&nbsp;setJvmPauseMonitor(<a href="../../../../../org/apache/zookeeper/server/util/JvmPauseMonitor.html" title="class in org.apache.zookeeper.server.util">JvmPauseMonitor</a>&nbsp;jvmPauseMonitor)</pre>
+</li>
+</ul>
+<a name="getMyId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMyId</h4>
+<pre>public&nbsp;long&nbsp;getMyId()</pre>
+<div class="block">get the id of this quorum peer.</div>
+</li>
+</ul>
+<a name="isSslQuorum--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSslQuorum</h4>
+<pre>public&nbsp;boolean&nbsp;isSslQuorum()</pre>
+</li>
+</ul>
+<a name="shouldUsePortUnification--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldUsePortUnification</h4>
+<pre>public&nbsp;boolean&nbsp;shouldUsePortUnification()</pre>
+</li>
+</ul>
+<a name="getCurrentVote--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentVote</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;getCurrentVote()</pre>
+</li>
+</ul>
+<a name="setCurrentVote-org.apache.zookeeper.server.quorum.Vote-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCurrentVote</h4>
+<pre>public&nbsp;void&nbsp;setCurrentVote(<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;v)</pre>
+</li>
+</ul>
+<a name="setPeerState-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPeerState</h4>
+<pre>public&nbsp;void&nbsp;setPeerState(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;newState)</pre>
+</li>
+</ul>
+<a name="setZabState-org.apache.zookeeper.server.quorum.QuorumPeer.ZabState-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setZabState</h4>
+<pre>public&nbsp;void&nbsp;setZabState(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>&nbsp;zabState)</pre>
+</li>
+</ul>
+<a name="setSyncMode-org.apache.zookeeper.server.quorum.QuorumPeer.SyncMode-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSyncMode</h4>
+<pre>public&nbsp;void&nbsp;setSyncMode(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>&nbsp;syncMode)</pre>
+</li>
+</ul>
+<a name="getZabState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getZabState</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>&nbsp;getZabState()</pre>
+</li>
+</ul>
+<a name="getSyncMode--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncMode</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>&nbsp;getSyncMode()</pre>
+</li>
+</ul>
+<a name="setLeaderAddressAndId-org.apache.zookeeper.server.quorum.MultipleAddresses-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLeaderAddressAndId</h4>
+<pre>public&nbsp;void&nbsp;setLeaderAddressAndId(<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;addr,
+ long&nbsp;newId)</pre>
+</li>
+</ul>
+<a name="getLeaderAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLeaderAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLeaderAddress()</pre>
+</li>
+</ul>
+<a name="getLeaderId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLeaderId</h4>
+<pre>public&nbsp;long&nbsp;getLeaderId()</pre>
+</li>
+</ul>
+<a name="getDetailedPeerState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDetailedPeerState</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDetailedPeerState()</pre>
+</li>
+</ul>
+<a name="reconfigFlagSet--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reconfigFlagSet</h4>
+<pre>public&nbsp;void&nbsp;reconfigFlagSet()</pre>
+</li>
+</ul>
+<a name="reconfigFlagClear--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reconfigFlagClear</h4>
+<pre>public&nbsp;void&nbsp;reconfigFlagClear()</pre>
+</li>
+</ul>
+<a name="isReconfigStateChange--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isReconfigStateChange</h4>
+<pre>public&nbsp;boolean&nbsp;isReconfigStateChange()</pre>
+</li>
+</ul>
+<a name="getPeerState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeerState</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;getPeerState()</pre>
+</li>
+</ul>
+<a name="recreateSocketAddresses-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>recreateSocketAddresses</h4>
+<pre>public&nbsp;void&nbsp;recreateSocketAddresses(long&nbsp;id)</pre>
+<div class="block">Resolves hostname for a given server ID.
+
+ This method resolves hostname for a given server ID in both quorumVerifer
+ and lastSeenQuorumVerifier. If the server ID matches the local server ID,
+ it also updates myAddrs.</div>
+</li>
+</ul>
+<a name="getQuorumAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAddress</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;getQuorumAddress()</pre>
+</li>
+</ul>
+<a name="getElectionAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionAddress</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;getElectionAddress()</pre>
+</li>
+</ul>
+<a name="getClientAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getClientAddress()</pre>
+</li>
+</ul>
+<a name="testingQuorumPeer--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testingQuorumPeer</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;testingQuorumPeer()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="initialize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="stopLeaderElection--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stopLeaderElection</h4>
+<pre>public&nbsp;void&nbsp;stopLeaderElection()</pre>
+</li>
+</ul>
+<a name="startLeaderElection--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startLeaderElection</h4>
+<pre>public&nbsp;void&nbsp;startLeaderElection()</pre>
+</li>
+</ul>
+<a name="countParticipants-java.util.Map-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countParticipants</h4>
+<pre>protected static&nbsp;int&nbsp;countParticipants(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;peers)</pre>
+<div class="block">Count the number of nodes in the map that could be followers.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>peers</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The number of followers in the map</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastLoggedZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastLoggedZxid</h4>
+<pre>public&nbsp;long&nbsp;getLastLoggedZxid()</pre>
+<div class="block">returns the highest zxid that this host has seen</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the highest zxid for this host</dd>
+</dl>
+</li>
+</ul>
+<a name="makeFollower-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>makeFollower</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>&nbsp;makeFollower(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="makeLeader-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>makeLeader</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;makeLeader(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../org/apache/zookeeper/common/X509Exception.html" title="class in org.apache.zookeeper.common">X509Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/common/X509Exception.html" title="class in org.apache.zookeeper.common">X509Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="makeObserver-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>makeObserver</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a>&nbsp;makeObserver(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="createElectionAlgorithm-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createElectionAlgorithm</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a>&nbsp;createElectionAlgorithm(int&nbsp;electionAlgorithm)</pre>
+</li>
+</ul>
+<a name="makeLEStrategy--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>makeLEStrategy</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a>&nbsp;makeLEStrategy()</pre>
+</li>
+</ul>
+<a name="setLeader-org.apache.zookeeper.server.quorum.Leader-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLeader</h4>
+<pre>protected&nbsp;void&nbsp;setLeader(<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;newLeader)</pre>
+</li>
+</ul>
+<a name="setFollower-org.apache.zookeeper.server.quorum.Follower-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFollower</h4>
+<pre>protected&nbsp;void&nbsp;setFollower(<a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>&nbsp;newFollower)</pre>
+</li>
+</ul>
+<a name="setObserver-org.apache.zookeeper.server.quorum.Observer-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setObserver</h4>
+<pre>protected&nbsp;void&nbsp;setObserver(<a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a>&nbsp;newObserver)</pre>
+</li>
+</ul>
+<a name="getActiveServer--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getActiveServer</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;getActiveServer()</pre>
+</li>
+</ul>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+</li>
+</ul>
+<a name="getView--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getView</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getView()</pre>
+<div class="block">A 'view' is a node's current opinion of the membership of the entire
+ ensemble.</div>
+</li>
+</ul>
+<a name="getVotingView--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVotingView</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getVotingView()</pre>
+<div class="block">Observers are not contained in this view, only nodes with
+ PeerType=PARTICIPANT.</div>
+</li>
+</ul>
+<a name="getObservingView--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObservingView</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getObservingView()</pre>
+<div class="block">Returns only observers, no followers.</div>
+</li>
+</ul>
+<a name="getCurrentAndNextConfigVoters--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentAndNextConfigVoters</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getCurrentAndNextConfigVoters()</pre>
+</li>
+</ul>
+<a name="viewContains-java.lang.Long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>viewContains</h4>
+<pre>public&nbsp;boolean&nbsp;viewContains(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</pre>
+<div class="block">Check if a node is in the current view. With static membership, the
+ result of this check will never change; only when dynamic membership
+ is introduced will this be more useful.</div>
+</li>
+</ul>
+<a name="getQuorumPeers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumPeers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getQuorumPeers()</pre>
+<div class="block">Only used by QuorumStats at the moment</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#getQuorumPeers--">getQuorumPeers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getServerState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerState</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getServerState()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#getServerState--">getServerState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setMyid-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMyid</h4>
+<pre>public&nbsp;void&nbsp;setMyid(long&nbsp;myid)</pre>
+<div class="block">set the id of this quorum peer.</div>
+</li>
+</ul>
+<a name="setInitialConfig-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInitialConfig</h4>
+<pre>public&nbsp;void&nbsp;setInitialConfig(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;initialConfig)</pre>
+</li>
+</ul>
+<a name="getInitialConfig--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitialConfig</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getInitialConfig()</pre>
+</li>
+</ul>
+<a name="getTickTime--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTickTime</h4>
+<pre>public&nbsp;int&nbsp;getTickTime()</pre>
+<div class="block">Get the number of milliseconds of each tick</div>
+</li>
+</ul>
+<a name="setTickTime-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTickTime</h4>
+<pre>public&nbsp;void&nbsp;setTickTime(int&nbsp;tickTime)</pre>
+<div class="block">Set the number of milliseconds of each tick</div>
+</li>
+</ul>
+<a name="getMaxClientCnxnsPerHost--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxClientCnxnsPerHost</h4>
+<pre>public&nbsp;int&nbsp;getMaxClientCnxnsPerHost()</pre>
+<div class="block">Maximum number of connections allowed from particular host (ip)</div>
+</li>
+</ul>
+<a name="areLocalSessionsEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>areLocalSessionsEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;areLocalSessionsEnabled()</pre>
+<div class="block">Whether local sessions are enabled</div>
+</li>
+</ul>
+<a name="enableLocalSessions-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>enableLocalSessions</h4>
+<pre>public&nbsp;void&nbsp;enableLocalSessions(boolean&nbsp;flag)</pre>
+<div class="block">Whether to enable local sessions</div>
+</li>
+</ul>
+<a name="isLocalSessionsUpgradingEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLocalSessionsUpgradingEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isLocalSessionsUpgradingEnabled()</pre>
+<div class="block">Whether local sessions are allowed to upgrade to global sessions</div>
+</li>
+</ul>
+<a name="enableLocalSessionsUpgrading-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>enableLocalSessionsUpgrading</h4>
+<pre>public&nbsp;void&nbsp;enableLocalSessionsUpgrading(boolean&nbsp;flag)</pre>
+<div class="block">Whether to allow local sessions to upgrade to global sessions</div>
+</li>
+</ul>
+<a name="getMinSessionTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMinSessionTimeout</h4>
+<pre>public&nbsp;int&nbsp;getMinSessionTimeout()</pre>
+<div class="block">minimum session timeout in milliseconds</div>
+</li>
+</ul>
+<a name="setMinSessionTimeout-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMinSessionTimeout</h4>
+<pre>public&nbsp;void&nbsp;setMinSessionTimeout(int&nbsp;min)</pre>
+<div class="block">minimum session timeout in milliseconds</div>
+</li>
+</ul>
+<a name="getMaxSessionTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxSessionTimeout</h4>
+<pre>public&nbsp;int&nbsp;getMaxSessionTimeout()</pre>
+<div class="block">maximum session timeout in milliseconds</div>
+</li>
+</ul>
+<a name="setMaxSessionTimeout-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxSessionTimeout</h4>
+<pre>public&nbsp;void&nbsp;setMaxSessionTimeout(int&nbsp;max)</pre>
+<div class="block">maximum session timeout in milliseconds</div>
+</li>
+</ul>
+<a name="getClientPortListenBacklog--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientPortListenBacklog</h4>
+<pre>public&nbsp;int&nbsp;getClientPortListenBacklog()</pre>
+<div class="block">The server socket's listen backlog length</div>
+</li>
+</ul>
+<a name="setClientPortListenBacklog-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setClientPortListenBacklog</h4>
+<pre>public&nbsp;void&nbsp;setClientPortListenBacklog(int&nbsp;backlog)</pre>
+<div class="block">Sets the server socket's listen backlog length.</div>
+</li>
+</ul>
+<a name="getInitLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitLimit</h4>
+<pre>public&nbsp;int&nbsp;getInitLimit()</pre>
+<div class="block">Get the number of ticks that the initial synchronization phase can take</div>
+</li>
+</ul>
+<a name="setInitLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInitLimit</h4>
+<pre>public&nbsp;void&nbsp;setInitLimit(int&nbsp;initLimit)</pre>
+<div class="block">Set the number of ticks that the initial synchronization phase can take</div>
+</li>
+</ul>
+<a name="getTick--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTick</h4>
+<pre>public&nbsp;int&nbsp;getTick()</pre>
+<div class="block">Get the current tick</div>
+</li>
+</ul>
+<a name="configFromString-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>configFromString</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;configFromString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumVerifier--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumVerifier</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;getQuorumVerifier()</pre>
+<div class="block">Return QuorumVerifier object for the last committed configuration.</div>
+</li>
+</ul>
+<a name="getLastSeenQuorumVerifier--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastSeenQuorumVerifier</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;getLastSeenQuorumVerifier()</pre>
+<div class="block">Return QuorumVerifier object for the last proposed configuration.</div>
+</li>
+</ul>
+<a name="restartLeaderElection-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>restartLeaderElection</h4>
+<pre>public&nbsp;void&nbsp;restartLeaderElection(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qvOLD,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qvNEW)</pre>
+</li>
+</ul>
+<a name="getNextDynamicConfigFilename--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextDynamicConfigFilename</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getNextDynamicConfigFilename()</pre>
+</li>
+</ul>
+<a name="setLastSeenQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLastSeenQuorumVerifier</h4>
+<pre>public&nbsp;void&nbsp;setLastSeenQuorumVerifier(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;writeToDisk)</pre>
+</li>
+</ul>
+<a name="setQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setQuorumVerifier</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;setQuorumVerifier(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;writeToDisk)</pre>
+</li>
+</ul>
+<a name="getElectionAlg--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionAlg</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a>&nbsp;getElectionAlg()</pre>
+<div class="block">Get an instance of LeaderElection</div>
+</li>
+</ul>
+<a name="getSyncLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncLimit</h4>
+<pre>public&nbsp;int&nbsp;getSyncLimit()</pre>
+<div class="block">Get the synclimit</div>
+</li>
+</ul>
+<a name="setSyncLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSyncLimit</h4>
+<pre>public&nbsp;void&nbsp;setSyncLimit(int&nbsp;syncLimit)</pre>
+<div class="block">Set the synclimit</div>
+</li>
+</ul>
+<a name="getConnectToLearnerMasterLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConnectToLearnerMasterLimit</h4>
+<pre>public&nbsp;int&nbsp;getConnectToLearnerMasterLimit()</pre>
+<div class="block">Get the connectToLearnerMasterLimit</div>
+</li>
+</ul>
+<a name="setConnectToLearnerMasterLimit-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setConnectToLearnerMasterLimit</h4>
+<pre>public&nbsp;void&nbsp;setConnectToLearnerMasterLimit(int&nbsp;connectToLearnerMasterLimit)</pre>
+<div class="block">Set the connectToLearnerMasterLimit</div>
+</li>
+</ul>
+<a name="getSyncEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;getSyncEnabled()</pre>
+<div class="block">Return syncEnabled.</div>
+</li>
+</ul>
+<a name="setSyncEnabled-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSyncEnabled</h4>
+<pre>public&nbsp;void&nbsp;setSyncEnabled(boolean&nbsp;syncEnabled)</pre>
+<div class="block">Set syncEnabled.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>syncEnabled</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionType</h4>
+<pre>public&nbsp;int&nbsp;getElectionType()</pre>
+<div class="block">Gets the election type</div>
+</li>
+</ul>
+<a name="setElectionType-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setElectionType</h4>
+<pre>public&nbsp;void&nbsp;setElectionType(int&nbsp;electionType)</pre>
+<div class="block">Sets the election type</div>
+</li>
+</ul>
+<a name="getQuorumListenOnAllIPs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumListenOnAllIPs</h4>
+<pre>public&nbsp;boolean&nbsp;getQuorumListenOnAllIPs()</pre>
+</li>
+</ul>
+<a name="setQuorumListenOnAllIPs-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setQuorumListenOnAllIPs</h4>
+<pre>public&nbsp;void&nbsp;setQuorumListenOnAllIPs(boolean&nbsp;quorumListenOnAllIPs)</pre>
+</li>
+</ul>
+<a name="setCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCnxnFactory</h4>
+<pre>public&nbsp;void&nbsp;setCnxnFactory(<a href="../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory)</pre>
+</li>
+</ul>
+<a name="setSecureCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSecureCnxnFactory</h4>
+<pre>public&nbsp;void&nbsp;setSecureCnxnFactory(<a href="../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;secureCnxnFactory)</pre>
+</li>
+</ul>
+<a name="setSslQuorum-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSslQuorum</h4>
+<pre>public&nbsp;void&nbsp;setSslQuorum(boolean&nbsp;sslQuorum)</pre>
+</li>
+</ul>
+<a name="setUsePortUnification-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUsePortUnification</h4>
+<pre>public&nbsp;void&nbsp;setUsePortUnification(boolean&nbsp;shouldUsePortUnification)</pre>
+</li>
+</ul>
+<a name="setZooKeeperServer-org.apache.zookeeper.server.ZooKeeperServer-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setZooKeeperServer</h4>
+<pre>public&nbsp;void&nbsp;setZooKeeperServer(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</pre>
+</li>
+</ul>
+<a name="closeAllConnections--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closeAllConnections</h4>
+<pre>public&nbsp;void&nbsp;closeAllConnections()</pre>
+</li>
+</ul>
+<a name="getClientPort--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientPort</h4>
+<pre>public&nbsp;int&nbsp;getClientPort()</pre>
+</li>
+</ul>
+<a name="setTxnFactory-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTxnFactory</h4>
+<pre>public&nbsp;void&nbsp;setTxnFactory(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;factory)</pre>
+</li>
+</ul>
+<a name="getTxnFactory--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTxnFactory</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;getTxnFactory()</pre>
+</li>
+</ul>
+<a name="setZKDatabase-org.apache.zookeeper.server.ZKDatabase-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setZKDatabase</h4>
+<pre>public&nbsp;void&nbsp;setZKDatabase(<a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;database)</pre>
+<div class="block">set zk database for this node</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>database</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="getZkDb--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getZkDb</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;getZkDb()</pre>
+</li>
+</ul>
+<a name="initConfigInZKDatabase--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initConfigInZKDatabase</h4>
+<pre>public&nbsp;void&nbsp;initConfigInZKDatabase()</pre>
+</li>
+</ul>
+<a name="isRunning--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRunning</h4>
+<pre>public&nbsp;boolean&nbsp;isRunning()</pre>
+</li>
+</ul>
+<a name="getQuorumCnxManager--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumCnxManager</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a>&nbsp;getQuorumCnxManager()</pre>
+<div class="block">get reference to QuorumCnxManager</div>
+</li>
+</ul>
+<a name="getCurrentEpoch--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentEpoch</h4>
+<pre>public&nbsp;long&nbsp;getCurrentEpoch()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getAcceptedEpoch--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAcceptedEpoch</h4>
+<pre>public&nbsp;long&nbsp;getAcceptedEpoch()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setCurrentEpoch-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCurrentEpoch</h4>
+<pre>public&nbsp;void&nbsp;setCurrentEpoch(long&nbsp;e)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setAcceptedEpoch-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAcceptedEpoch</h4>
+<pre>public&nbsp;void&nbsp;setAcceptedEpoch(long&nbsp;e)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="processReconfig-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-java.lang.Long-java.lang.Long-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processReconfig</h4>
+<pre>public&nbsp;boolean&nbsp;processReconfig(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;suggestedLeaderId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;zxid,
+ boolean&nbsp;restartLE)</pre>
+</li>
+</ul>
+<a name="updateElectionVote-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateElectionVote</h4>
+<pre>protected&nbsp;void&nbsp;updateElectionVote(long&nbsp;newEpoch)</pre>
+<div class="block">Updates leader election info to avoid inconsistencies when
+ a new server tries to join the ensemble.
+
+ Here is the inconsistency scenario we try to solve by updating the peer
+ epoch after following leader:
+
+ Let's say we have an ensemble with 3 servers z1, z2 and z3.
+
+ 1. z1, z2 were following z3 with peerEpoch to be 0xb8, the new epoch is
+ 0xb9, aka current accepted epoch on disk.
+ 2. z2 get restarted, which will use 0xb9 as it's peer epoch when loading
+ the current accept epoch from disk.
+ 3. z2 received notification from z1 and z3, which is following z3 with
+ epoch 0xb8, so it started following z3 again with peer epoch 0xb8.
+ 4. before z2 successfully connected to z3, z3 get restarted with new
+ epoch 0xb9.
+ 5. z2 will retry around a few round (default 5s) before giving up,
+ meanwhile it will report z3 as leader.
+ 6. z1 restarted, and looking with peer epoch 0xb9.
+ 7. z1 voted z3, and z3 was elected as leader again with peer epoch 0xb9.
+ 8. z2 successfully connected to z3 before giving up, but with peer
+ epoch 0xb8.
+ 9. z1 get restarted, looking for leader with peer epoch 0xba, but cannot
+ join, because z2 is reporting peer epoch 0xb8, while z3 is reporting
+ 0xb9.
+
+ By updating the election vote after actually following leader, we can
+ avoid this kind of stuck happened.
+
+ Btw, the zxid and electionEpoch could be inconsistent because of the same
+ reason, it's better to update these as well after syncing with leader, but
+ that required protocol change which is non trivial. This problem is worked
+ around by skipping comparing the zxid and electionEpoch when counting for
+ votes for out of election servers during looking for leader.
+
+ See https://issues.apache.org/jira/browse/ZOOKEEPER-1732</div>
+</li>
+</ul>
+<a name="createCnxnManager--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createCnxnManager</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a>&nbsp;createCnxnManager()</pre>
+</li>
+</ul>
+<a name="isReconfigEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isReconfigEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isReconfigEnabled()</pre>
+</li>
+</ul>
+<a name="getSynced_observers_metric--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSynced_observers_metric</h4>
+<pre>@InterfaceAudience.Private
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;getSynced_observers_metric()</pre>
+</li>
+</ul>
+<a name="createFromConfig-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createFromConfig</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;createFromConfig(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Create a new QuorumPeer and apply all the values per the already-parsed config.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>config</code> - The appertained quorum peer config.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A QuorumPeer instantiated with specified peer config. Note this peer
+ is not fully initialized; caller should finish initialization through
+ additional configurations (connection factory settings, etc).</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeer.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html
new file mode 100644
index 000000000..b784161ea
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html
@@ -0,0 +1,282 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeerConfig.ConfigException (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeerConfig.ConfigException (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeerConfig.ConfigException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerConfig.ConfigException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumPeerConfig.ConfigException" class="title">Class QuorumPeerConfig.ConfigException</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">QuorumPeerConfig.ConfigException</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html#ConfigException-java.lang.String-">ConfigException</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html#ConfigException-java.lang.String-java.lang.Exception-">ConfigException</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;e)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#addSuppressed-java.lang.Throwable-" title="class or interface in java.lang">addSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace--" title="class or interface in java.lang">fillInStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getCause--" title="class or interface in java.lang">getCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage--" title="class or interface in java.lang">getLocalizedMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getMessage--" title="class or interface in java.lang">getMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getSuppressed--" title="class or interface in java.lang">getSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#initCause-java.lang.Throwable-" title="class or interface in java.lang">initCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace--" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintStream-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintWriter-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace-java.lang.StackTraceElement:A-" title="class or interface in java.lang">setStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ConfigException-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ConfigException</h4>
+<pre>public&nbsp;ConfigException(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="ConfigException-java.lang.String-java.lang.Exception-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ConfigException</h4>
+<pre>public&nbsp;ConfigException(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;e)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeerConfig.ConfigException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerConfig.ConfigException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.html
new file mode 100644
index 000000000..0166be88e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerConfig.html
@@ -0,0 +1,1711 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeerConfig (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeerConfig (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":9,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":9,"i44":10,"i45":9,"i46":10,"i47":9,"i48":10,"i49":9,"i50":9,"i51":10,"i52":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeerConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumPeerConfig" class="title">Class QuorumPeerConfig</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeerConfig</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/controller/ControllerServerConfig.html" title="class in org.apache.zookeeper.server.controller">ControllerServerConfig</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+public class <span class="typeNameLabel">QuorumPeerConfig</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#clientPortAddress">clientPortAddress</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#clientPortListenBacklog">clientPortListenBacklog</a></span></code>
+<div class="block">defaults to -1 if not set explicitly</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#configFileStr">configFileStr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#connectToLearnerMasterLimit">connectToLearnerMasterLimit</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#dataDir">dataDir</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#dataLogDir">dataLogDir</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#dynamicConfigFileStr">dynamicConfigFileStr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#electionAlg">electionAlg</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#electionPort">electionPort</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#initialConfig">initialConfig</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#initLimit">initLimit</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#jvmPauseInfoThresholdMs">jvmPauseInfoThresholdMs</a></span></code>
+<div class="block">JVM Pause Monitor info threshold in ms</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#jvmPauseMonitorToRun">jvmPauseMonitorToRun</a></span></code>
+<div class="block">JVM Pause Monitor feature switch</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#jvmPauseSleepTimeMs">jvmPauseSleepTimeMs</a></span></code>
+<div class="block">JVM Pause Monitor sleep time in ms</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#jvmPauseWarnThresholdMs">jvmPauseWarnThresholdMs</a></span></code>
+<div class="block">JVM Pause Monitor warn threshold in ms</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#lastSeenQuorumVerifier">lastSeenQuorumVerifier</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#localSessionsEnabled">localSessionsEnabled</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#localSessionsUpgradingEnabled">localSessionsUpgradingEnabled</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#maxClientCnxns">maxClientCnxns</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#maxSessionTimeout">maxSessionTimeout</a></span></code>
+<div class="block">defaults to -1 if not set explicitly</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#metricsProviderClassName">metricsProviderClassName</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#metricsProviderConfiguration">metricsProviderConfiguration</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#minSessionTimeout">minSessionTimeout</a></span></code>
+<div class="block">defaults to -1 if not set explicitly</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#nextDynamicConfigFileSuffix">nextDynamicConfigFileSuffix</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#observerMasterPort">observerMasterPort</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#oraclePath">oraclePath</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#peerType">peerType</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#purgeInterval">purgeInterval</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumCnxnThreadsSize">quorumCnxnThreadsSize</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumEnableSasl">quorumEnableSasl</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumLearnerLoginContext">quorumLearnerLoginContext</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumLearnerRequireSasl">quorumLearnerRequireSasl</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumListenOnAllIPs">quorumListenOnAllIPs</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumServerLoginContext">quorumServerLoginContext</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumServerRequireSasl">quorumServerRequireSasl</a></span></code>
+<div class="block">Configurations for the quorumpeer-to-quorumpeer sasl authentication</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumServicePrincipal">quorumServicePrincipal</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumVerifier">quorumVerifier</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#secureClientPortAddress">secureClientPortAddress</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#serverId">serverId</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#shouldUsePortUnification">shouldUsePortUnification</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#snapRetainCount">snapRetainCount</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#sslQuorum">sslQuorum</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#sslQuorumReloadCertFiles">sslQuorumReloadCertFiles</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#syncEnabled">syncEnabled</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#syncLimit">syncLimit</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#tickTime">tickTime</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#QuorumPeerConfig--">QuorumPeerConfig</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#areLocalSessionsEnabled--">areLocalSessionsEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#checkValidity--">checkValidity</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#configureSSLAuth--">configureSSLAuth</a></span>()</code>
+<div class="block">Configure SSL authentication only if it is not configured.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#deleteFile-java.lang.String-">deleteFile</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#editStaticConfig-java.lang.String-java.lang.String-boolean-">editStaticConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configFileStr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dynamicFileStr,
+ boolean&nbsp;eraseClientPortAddress)</code>
+<div class="block">Edit static config file.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getClientPortAddress--">getClientPortAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getClientPortListenBacklog--">getClientPortListenBacklog</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getConfigFilename--">getConfigFilename</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getConnectToLearnerMasterLimit--">getConnectToLearnerMasterLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getDataDir--">getDataDir</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getDataLogDir--">getDataLogDir</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getElectionAlg--">getElectionAlg</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getElectionPort--">getElectionPort</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getInitialConfig--">getInitialConfig</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getInitLimit--">getInitLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getJvmPauseInfoThresholdMs--">getJvmPauseInfoThresholdMs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getJvmPauseSleepTimeMs--">getJvmPauseSleepTimeMs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getJvmPauseWarnThresholdMs--">getJvmPauseWarnThresholdMs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getLastSeenQuorumVerifier--">getLastSeenQuorumVerifier</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getMaxClientCnxns--">getMaxClientCnxns</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getMaxSessionTimeout--">getMaxSessionTimeout</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getMetricsProviderClassName--">getMetricsProviderClassName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getMetricsProviderConfiguration--">getMetricsProviderConfiguration</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getMinSessionTimeout--">getMinSessionTimeout</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getMultiAddressReachabilityCheckTimeoutMs--">getMultiAddressReachabilityCheckTimeoutMs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getObserverMasterPort--">getObserverMasterPort</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getPeerType--">getPeerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getPurgeInterval--">getPurgeInterval</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getQuorumListenOnAllIPs--">getQuorumListenOnAllIPs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getQuorumVerifier--">getQuorumVerifier</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getSecureClientPortAddress--">getSecureClientPortAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getServerId--">getServerId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getServers--">getServers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getSnapRetainCount--">getSnapRetainCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getSyncEnabled--">getSyncEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getSyncLimit--">getSyncLimit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getTickTime--">getTickTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getVersionFromFilename-java.lang.String-">getVersionFromFilename</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#isDistributed--">isDistributed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#isJvmPauseMonitorToRun--">isJvmPauseMonitorToRun</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#isLocalSessionsUpgradingEnabled--">isLocalSessionsUpgradingEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#isMultiAddressEnabled--">isMultiAddressEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#isMultiAddressReachabilityCheckEnabled--">isMultiAddressReachabilityCheckEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#isReconfigEnabled--">isReconfigEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#isSslQuorum--">isSslQuorum</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#isStandaloneEnabled--">isStandaloneEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#parse-java.lang.String-">parse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
+<div class="block">Parse a ZooKeeper configuration file</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#parseDynamicConfig-java.util.Properties-int-boolean-boolean-java.lang.String-">parseDynamicConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;dynamicConfigProp,
+ int&nbsp;eAlg,
+ boolean&nbsp;warnings,
+ boolean&nbsp;configBackwardCompatibilityMode,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>
+<div class="block">Parse dynamic configuration file and return
+ quorumVerifier for new configuration.</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#parseProperties-java.util.Properties-">parseProperties</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;zkProp)</code>
+<div class="block">Parse config from a Properties.</div>
+</td>
+</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#setReconfigEnabled-boolean-">setReconfigEnabled</a></span>(boolean&nbsp;enabled)</code>&nbsp;</td>
+</tr>
+<tr id="i50" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#setStandaloneEnabled-boolean-">setStandaloneEnabled</a></span>(boolean&nbsp;enabled)</code>&nbsp;</td>
+</tr>
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#shouldUsePortUnification--">shouldUsePortUnification</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i52" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#writeDynamicConfig-java.lang.String-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">writeDynamicConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dynamicConfigFilename,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;needKeepVersion)</code>
+<div class="block">Writes dynamic configuration file</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="nextDynamicConfigFileSuffix">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nextDynamicConfigFileSuffix</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> nextDynamicConfigFileSuffix</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumPeerConfig.nextDynamicConfigFileSuffix">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="clientPortAddress">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clientPortAddress</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> clientPortAddress</pre>
+</li>
+</ul>
+<a name="secureClientPortAddress">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>secureClientPortAddress</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> secureClientPortAddress</pre>
+</li>
+</ul>
+<a name="sslQuorum">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sslQuorum</h4>
+<pre>protected&nbsp;boolean sslQuorum</pre>
+</li>
+</ul>
+<a name="shouldUsePortUnification">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldUsePortUnification</h4>
+<pre>protected&nbsp;boolean shouldUsePortUnification</pre>
+</li>
+</ul>
+<a name="observerMasterPort">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>observerMasterPort</h4>
+<pre>protected&nbsp;int observerMasterPort</pre>
+</li>
+</ul>
+<a name="sslQuorumReloadCertFiles">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sslQuorumReloadCertFiles</h4>
+<pre>protected&nbsp;boolean sslQuorumReloadCertFiles</pre>
+</li>
+</ul>
+<a name="dataDir">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dataDir</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a> dataDir</pre>
+</li>
+</ul>
+<a name="dataLogDir">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dataLogDir</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a> dataLogDir</pre>
+</li>
+</ul>
+<a name="dynamicConfigFileStr">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dynamicConfigFileStr</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> dynamicConfigFileStr</pre>
+</li>
+</ul>
+<a name="configFileStr">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>configFileStr</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> configFileStr</pre>
+</li>
+</ul>
+<a name="tickTime">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tickTime</h4>
+<pre>protected&nbsp;int tickTime</pre>
+</li>
+</ul>
+<a name="maxClientCnxns">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxClientCnxns</h4>
+<pre>protected&nbsp;int maxClientCnxns</pre>
+</li>
+</ul>
+<a name="minSessionTimeout">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>minSessionTimeout</h4>
+<pre>protected&nbsp;int minSessionTimeout</pre>
+<div class="block">defaults to -1 if not set explicitly</div>
+</li>
+</ul>
+<a name="maxSessionTimeout">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxSessionTimeout</h4>
+<pre>protected&nbsp;int maxSessionTimeout</pre>
+<div class="block">defaults to -1 if not set explicitly</div>
+</li>
+</ul>
+<a name="metricsProviderClassName">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>metricsProviderClassName</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> metricsProviderClassName</pre>
+</li>
+</ul>
+<a name="metricsProviderConfiguration">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>metricsProviderConfiguration</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a> metricsProviderConfiguration</pre>
+</li>
+</ul>
+<a name="localSessionsEnabled">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>localSessionsEnabled</h4>
+<pre>protected&nbsp;boolean localSessionsEnabled</pre>
+</li>
+</ul>
+<a name="localSessionsUpgradingEnabled">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>localSessionsUpgradingEnabled</h4>
+<pre>protected&nbsp;boolean localSessionsUpgradingEnabled</pre>
+</li>
+</ul>
+<a name="clientPortListenBacklog">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clientPortListenBacklog</h4>
+<pre>protected&nbsp;int clientPortListenBacklog</pre>
+<div class="block">defaults to -1 if not set explicitly</div>
+</li>
+</ul>
+<a name="initLimit">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initLimit</h4>
+<pre>protected&nbsp;int initLimit</pre>
+</li>
+</ul>
+<a name="syncLimit">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syncLimit</h4>
+<pre>protected&nbsp;int syncLimit</pre>
+</li>
+</ul>
+<a name="connectToLearnerMasterLimit">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connectToLearnerMasterLimit</h4>
+<pre>protected&nbsp;int connectToLearnerMasterLimit</pre>
+</li>
+</ul>
+<a name="electionAlg">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>electionAlg</h4>
+<pre>protected&nbsp;int electionAlg</pre>
+</li>
+</ul>
+<a name="electionPort">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>electionPort</h4>
+<pre>protected&nbsp;int electionPort</pre>
+</li>
+</ul>
+<a name="quorumListenOnAllIPs">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumListenOnAllIPs</h4>
+<pre>protected&nbsp;boolean quorumListenOnAllIPs</pre>
+</li>
+</ul>
+<a name="serverId">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serverId</h4>
+<pre>protected&nbsp;long serverId</pre>
+</li>
+</ul>
+<a name="quorumVerifier">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumVerifier</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a> quorumVerifier</pre>
+</li>
+</ul>
+<a name="lastSeenQuorumVerifier">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lastSeenQuorumVerifier</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a> lastSeenQuorumVerifier</pre>
+</li>
+</ul>
+<a name="snapRetainCount">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>snapRetainCount</h4>
+<pre>protected&nbsp;int snapRetainCount</pre>
+</li>
+</ul>
+<a name="purgeInterval">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>purgeInterval</h4>
+<pre>protected&nbsp;int purgeInterval</pre>
+</li>
+</ul>
+<a name="syncEnabled">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syncEnabled</h4>
+<pre>protected&nbsp;boolean syncEnabled</pre>
+</li>
+</ul>
+<a name="initialConfig">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialConfig</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> initialConfig</pre>
+</li>
+</ul>
+<a name="peerType">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peerType</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a> peerType</pre>
+</li>
+</ul>
+<a name="quorumServerRequireSasl">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumServerRequireSasl</h4>
+<pre>protected&nbsp;boolean quorumServerRequireSasl</pre>
+<div class="block">Configurations for the quorumpeer-to-quorumpeer sasl authentication</div>
+</li>
+</ul>
+<a name="quorumLearnerRequireSasl">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumLearnerRequireSasl</h4>
+<pre>protected&nbsp;boolean quorumLearnerRequireSasl</pre>
+</li>
+</ul>
+<a name="quorumEnableSasl">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumEnableSasl</h4>
+<pre>protected&nbsp;boolean quorumEnableSasl</pre>
+</li>
+</ul>
+<a name="quorumServicePrincipal">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumServicePrincipal</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> quorumServicePrincipal</pre>
+</li>
+</ul>
+<a name="quorumLearnerLoginContext">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumLearnerLoginContext</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> quorumLearnerLoginContext</pre>
+</li>
+</ul>
+<a name="quorumServerLoginContext">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumServerLoginContext</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> quorumServerLoginContext</pre>
+</li>
+</ul>
+<a name="quorumCnxnThreadsSize">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quorumCnxnThreadsSize</h4>
+<pre>protected&nbsp;int quorumCnxnThreadsSize</pre>
+</li>
+</ul>
+<a name="oraclePath">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>oraclePath</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> oraclePath</pre>
+</li>
+</ul>
+<a name="jvmPauseMonitorToRun">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>jvmPauseMonitorToRun</h4>
+<pre>protected&nbsp;boolean jvmPauseMonitorToRun</pre>
+<div class="block">JVM Pause Monitor feature switch</div>
+</li>
+</ul>
+<a name="jvmPauseWarnThresholdMs">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>jvmPauseWarnThresholdMs</h4>
+<pre>protected&nbsp;long jvmPauseWarnThresholdMs</pre>
+<div class="block">JVM Pause Monitor warn threshold in ms</div>
+</li>
+</ul>
+<a name="jvmPauseInfoThresholdMs">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>jvmPauseInfoThresholdMs</h4>
+<pre>protected&nbsp;long jvmPauseInfoThresholdMs</pre>
+<div class="block">JVM Pause Monitor info threshold in ms</div>
+</li>
+</ul>
+<a name="jvmPauseSleepTimeMs">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>jvmPauseSleepTimeMs</h4>
+<pre>protected&nbsp;long jvmPauseSleepTimeMs</pre>
+<div class="block">JVM Pause Monitor sleep time in ms</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumPeerConfig--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumPeerConfig</h4>
+<pre>public&nbsp;QuorumPeerConfig()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="parse-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parse</h4>
+<pre>public&nbsp;void&nbsp;parse(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)
+ throws <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<div class="block">Parse a ZooKeeper configuration file</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - the patch of the configuration file</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code> - error processing configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="getVersionFromFilename-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVersionFromFilename</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVersionFromFilename(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</pre>
+</li>
+</ul>
+<a name="parseProperties-java.util.Properties-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseProperties</h4>
+<pre>public&nbsp;void&nbsp;parseProperties(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;zkProp)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<div class="block">Parse config from a Properties.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>zkProp</code> - Properties to parse from.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="configureSSLAuth--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>configureSSLAuth</h4>
+<pre>public static&nbsp;void&nbsp;configureSSLAuth()
+ throws <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<div class="block">Configure SSL authentication only if it is not configured.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code> - If authentication scheme is configured but authentication
+ provider is not configured.</dd>
+</dl>
+</li>
+</ul>
+<a name="writeDynamicConfig-java.lang.String-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeDynamicConfig</h4>
+<pre>public static&nbsp;void&nbsp;writeDynamicConfig(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dynamicConfigFilename,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;needKeepVersion)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Writes dynamic configuration file</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="editStaticConfig-java.lang.String-java.lang.String-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>editStaticConfig</h4>
+<pre>public static&nbsp;void&nbsp;editStaticConfig(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configFileStr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dynamicFileStr,
+ boolean&nbsp;eraseClientPortAddress)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Edit static config file.
+ If there are quorum information in static file, e.g. "server.X", "group",
+ it will remove them.
+ If it needs to erase client port information left by the old config,
+ "eraseClientPortAddress" should be set true.
+ It should also updates dynamic file pointer on reconfig.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="deleteFile-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteFile</h4>
+<pre>public static&nbsp;void&nbsp;deleteFile(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</pre>
+</li>
+</ul>
+<a name="parseDynamicConfig-java.util.Properties-int-boolean-boolean-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseDynamicConfig</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;parseDynamicConfig(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;dynamicConfigProp,
+ int&nbsp;eAlg,
+ boolean&nbsp;warnings,
+ boolean&nbsp;configBackwardCompatibilityMode,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<div class="block">Parse dynamic configuration file and return
+ quorumVerifier for new configuration.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dynamicConfigProp</code> - Properties to parse from.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="checkValidity--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkValidity</h4>
+<pre>public&nbsp;void&nbsp;checkValidity()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getClientPortAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientPortAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getClientPortAddress()</pre>
+</li>
+</ul>
+<a name="getSecureClientPortAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSecureClientPortAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getSecureClientPortAddress()</pre>
+</li>
+</ul>
+<a name="getObserverMasterPort--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObserverMasterPort</h4>
+<pre>public&nbsp;int&nbsp;getObserverMasterPort()</pre>
+</li>
+</ul>
+<a name="getDataDir--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataDir</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;getDataDir()</pre>
+</li>
+</ul>
+<a name="getDataLogDir--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataLogDir</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;getDataLogDir()</pre>
+</li>
+</ul>
+<a name="getInitialConfig--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitialConfig</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getInitialConfig()</pre>
+</li>
+</ul>
+<a name="getTickTime--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTickTime</h4>
+<pre>public&nbsp;int&nbsp;getTickTime()</pre>
+</li>
+</ul>
+<a name="getMaxClientCnxns--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxClientCnxns</h4>
+<pre>public&nbsp;int&nbsp;getMaxClientCnxns()</pre>
+</li>
+</ul>
+<a name="getMinSessionTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMinSessionTimeout</h4>
+<pre>public&nbsp;int&nbsp;getMinSessionTimeout()</pre>
+</li>
+</ul>
+<a name="getMaxSessionTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxSessionTimeout</h4>
+<pre>public&nbsp;int&nbsp;getMaxSessionTimeout()</pre>
+</li>
+</ul>
+<a name="getMetricsProviderClassName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetricsProviderClassName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMetricsProviderClassName()</pre>
+</li>
+</ul>
+<a name="getMetricsProviderConfiguration--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetricsProviderConfiguration</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;getMetricsProviderConfiguration()</pre>
+</li>
+</ul>
+<a name="areLocalSessionsEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>areLocalSessionsEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;areLocalSessionsEnabled()</pre>
+</li>
+</ul>
+<a name="isLocalSessionsUpgradingEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLocalSessionsUpgradingEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isLocalSessionsUpgradingEnabled()</pre>
+</li>
+</ul>
+<a name="isSslQuorum--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSslQuorum</h4>
+<pre>public&nbsp;boolean&nbsp;isSslQuorum()</pre>
+</li>
+</ul>
+<a name="shouldUsePortUnification--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldUsePortUnification</h4>
+<pre>public&nbsp;boolean&nbsp;shouldUsePortUnification()</pre>
+</li>
+</ul>
+<a name="getClientPortListenBacklog--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientPortListenBacklog</h4>
+<pre>public&nbsp;int&nbsp;getClientPortListenBacklog()</pre>
+</li>
+</ul>
+<a name="getInitLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitLimit</h4>
+<pre>public&nbsp;int&nbsp;getInitLimit()</pre>
+</li>
+</ul>
+<a name="getSyncLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncLimit</h4>
+<pre>public&nbsp;int&nbsp;getSyncLimit()</pre>
+</li>
+</ul>
+<a name="getConnectToLearnerMasterLimit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConnectToLearnerMasterLimit</h4>
+<pre>public&nbsp;int&nbsp;getConnectToLearnerMasterLimit()</pre>
+</li>
+</ul>
+<a name="getElectionAlg--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionAlg</h4>
+<pre>public&nbsp;int&nbsp;getElectionAlg()</pre>
+</li>
+</ul>
+<a name="getElectionPort--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionPort</h4>
+<pre>public&nbsp;int&nbsp;getElectionPort()</pre>
+</li>
+</ul>
+<a name="getSnapRetainCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSnapRetainCount</h4>
+<pre>public&nbsp;int&nbsp;getSnapRetainCount()</pre>
+</li>
+</ul>
+<a name="getPurgeInterval--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPurgeInterval</h4>
+<pre>public&nbsp;int&nbsp;getPurgeInterval()</pre>
+</li>
+</ul>
+<a name="getSyncEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSyncEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;getSyncEnabled()</pre>
+</li>
+</ul>
+<a name="getQuorumVerifier--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumVerifier</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;getQuorumVerifier()</pre>
+</li>
+</ul>
+<a name="getLastSeenQuorumVerifier--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastSeenQuorumVerifier</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;getLastSeenQuorumVerifier()</pre>
+</li>
+</ul>
+<a name="getServers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getServers()</pre>
+</li>
+</ul>
+<a name="getJvmPauseInfoThresholdMs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJvmPauseInfoThresholdMs</h4>
+<pre>public&nbsp;long&nbsp;getJvmPauseInfoThresholdMs()</pre>
+</li>
+</ul>
+<a name="getJvmPauseWarnThresholdMs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJvmPauseWarnThresholdMs</h4>
+<pre>public&nbsp;long&nbsp;getJvmPauseWarnThresholdMs()</pre>
+</li>
+</ul>
+<a name="getJvmPauseSleepTimeMs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJvmPauseSleepTimeMs</h4>
+<pre>public&nbsp;long&nbsp;getJvmPauseSleepTimeMs()</pre>
+</li>
+</ul>
+<a name="isJvmPauseMonitorToRun--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isJvmPauseMonitorToRun</h4>
+<pre>public&nbsp;boolean&nbsp;isJvmPauseMonitorToRun()</pre>
+</li>
+</ul>
+<a name="getServerId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerId</h4>
+<pre>public&nbsp;long&nbsp;getServerId()</pre>
+</li>
+</ul>
+<a name="isDistributed--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isDistributed</h4>
+<pre>public&nbsp;boolean&nbsp;isDistributed()</pre>
+</li>
+</ul>
+<a name="getPeerType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeerType</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;getPeerType()</pre>
+</li>
+</ul>
+<a name="getConfigFilename--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConfigFilename</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getConfigFilename()</pre>
+</li>
+</ul>
+<a name="getQuorumListenOnAllIPs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumListenOnAllIPs</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;getQuorumListenOnAllIPs()</pre>
+</li>
+</ul>
+<a name="isMultiAddressEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isMultiAddressEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isMultiAddressEnabled()</pre>
+</li>
+</ul>
+<a name="isMultiAddressReachabilityCheckEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isMultiAddressReachabilityCheckEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isMultiAddressReachabilityCheckEnabled()</pre>
+</li>
+</ul>
+<a name="getMultiAddressReachabilityCheckTimeoutMs--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMultiAddressReachabilityCheckTimeoutMs</h4>
+<pre>public&nbsp;int&nbsp;getMultiAddressReachabilityCheckTimeoutMs()</pre>
+</li>
+</ul>
+<a name="isStandaloneEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isStandaloneEnabled</h4>
+<pre>public static&nbsp;boolean&nbsp;isStandaloneEnabled()</pre>
+</li>
+</ul>
+<a name="setStandaloneEnabled-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setStandaloneEnabled</h4>
+<pre>public static&nbsp;void&nbsp;setStandaloneEnabled(boolean&nbsp;enabled)</pre>
+</li>
+</ul>
+<a name="isReconfigEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isReconfigEnabled</h4>
+<pre>public static&nbsp;boolean&nbsp;isReconfigEnabled()</pre>
+</li>
+</ul>
+<a name="setReconfigEnabled-boolean-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setReconfigEnabled</h4>
+<pre>public static&nbsp;void&nbsp;setReconfigEnabled(boolean&nbsp;enabled)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeerConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerMain.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerMain.html
new file mode 100644
index 000000000..d5aee5665
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumPeerMain.html
@@ -0,0 +1,436 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumPeerMain (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumPeerMain (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeerMain.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeerMain.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerMain.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumPeerMain" class="title">Class QuorumPeerMain</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumPeerMain</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+public class <span class="typeNameLabel">QuorumPeerMain</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block"><h2>Configuration file</h2>
+
+ When the main() method of this class is used to start the program, the first
+ argument is used as a path to the config file, which will be used to obtain
+ configuration information. This file is a Properties file, so keys and
+ values are separated by equals (=) and the key/value pairs are separated
+ by new lines. The following is a general summary of keys used in the
+ configuration file. For full details on this see the documentation in
+ docs/index.html
+ <ol>
+ <li>dataDir - The directory where the ZooKeeper data is stored.</li>
+ <li>dataLogDir - The directory where the ZooKeeper transaction log is stored.</li>
+ <li>clientPort - The port used to communicate with clients.</li>
+ <li>tickTime - The duration of a tick in milliseconds. This is the basic
+ unit of time in ZooKeeper.</li>
+ <li>initLimit - The maximum number of ticks that a follower will wait to
+ initially synchronize with a leader.</li>
+ <li>syncLimit - The maximum number of ticks that a follower will wait for a
+ message (including heartbeats) from the leader.</li>
+ <li>server.<i>id</i> - This is the host:port[:port] that the server with the
+ given id will use for the quorum protocol.</li>
+ </ol>
+ In addition to the config file. There is a file in the data directory called
+ "myid" that contains the server id as an ASCII decimal value.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#quorumPeer">quorumPeer</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#QuorumPeerMain--">QuorumPeerMain</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#close--">close</a></span>()</code>
+<div class="block">Shutdowns properly the service, this method is not a public API.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#getQuorumPeer--">getQuorumPeer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#initializeAndRun-java.lang.String:A-">initializeAndRun</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
+<div class="block">To start the replicated server specify the configuration file name on
+ the command line.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#runFromConfig-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">runFromConfig</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="quorumPeer">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>quorumPeer</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a> quorumPeer</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumPeerMain--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumPeerMain</h4>
+<pre>public&nbsp;QuorumPeerMain()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="main-java.lang.String:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>main</h4>
+<pre>public static&nbsp;void&nbsp;main(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
+<div class="block">To start the replicated server specify the configuration file name on
+ the command line.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>args</code> - path to the configfile</dd>
+</dl>
+</li>
+</ul>
+<a name="initializeAndRun-java.lang.String:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initializeAndRun</h4>
+<pre>protected&nbsp;void&nbsp;initializeAndRun(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+ throws <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../org/apache/zookeeper/server/admin/AdminServer.AdminServerException.html" title="class in org.apache.zookeeper.server.admin">AdminServer.AdminServerException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/admin/AdminServer.AdminServerException.html" title="class in org.apache.zookeeper.server.admin">AdminServer.AdminServerException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="runFromConfig-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>runFromConfig</h4>
+<pre>public&nbsp;void&nbsp;runFromConfig(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../org/apache/zookeeper/server/admin/AdminServer.AdminServerException.html" title="class in org.apache.zookeeper.server.admin">AdminServer.AdminServerException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/admin/AdminServer.AdminServerException.html" title="class in org.apache.zookeeper.server.admin">AdminServer.AdminServerException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumPeer--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumPeer</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;getQuorumPeer()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()</pre>
+<div class="block">Shutdowns properly the service, this method is not a public API.</div>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumPeerMain.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumPeerMain.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerMain.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.Provider.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.Provider.html
new file mode 100644
index 000000000..30c69ab4c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.Provider.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumStats.Provider (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumStats.Provider (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumStats.Provider.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" target="_top">Frames</a></li>
+<li><a href="QuorumStats.Provider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface QuorumStats.Provider" class="title">Interface QuorumStats.Provider</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum">QuorumStats</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">QuorumStats.Provider</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#FOLLOWING_STATE">FOLLOWING_STATE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#LEADING_STATE">LEADING_STATE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#LOOKING_STATE">LOOKING_STATE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#OBSERVING_STATE">OBSERVING_STATE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#UNKNOWN_STATE">UNKNOWN_STATE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#getQuorumPeers--">getQuorumPeers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html#getServerState--">getServerState</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="UNKNOWN_STATE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UNKNOWN_STATE</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> UNKNOWN_STATE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumStats.Provider.UNKNOWN_STATE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="LOOKING_STATE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOOKING_STATE</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LOOKING_STATE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumStats.Provider.LOOKING_STATE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="LEADING_STATE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEADING_STATE</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LEADING_STATE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumStats.Provider.LEADING_STATE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="FOLLOWING_STATE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FOLLOWING_STATE</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FOLLOWING_STATE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumStats.Provider.FOLLOWING_STATE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="OBSERVING_STATE">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>OBSERVING_STATE</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OBSERVING_STATE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.zookeeper.server.quorum.QuorumStats.Provider.OBSERVING_STATE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getQuorumPeers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumPeers</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getQuorumPeers()</pre>
+</li>
+</ul>
+<a name="getServerState--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getServerState</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getServerState()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumStats.Provider.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" target="_top">Frames</a></li>
+<li><a href="QuorumStats.Provider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.html
new file mode 100644
index 000000000..df38fc90d
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumStats.html
@@ -0,0 +1,324 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumStats (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumStats (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumStats.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumStats.html" target="_top">Frames</a></li>
+<li><a href="QuorumStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumStats" class="title">Class QuorumStats</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumStats</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumStats</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html#QuorumStats-org.apache.zookeeper.server.quorum.QuorumStats.Provider-">QuorumStats</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a>&nbsp;provider)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html#getQuorumPeers--">getQuorumPeers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html#getServerState--">getServerState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumStats-org.apache.zookeeper.server.quorum.QuorumStats.Provider-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumStats</h4>
+<pre>protected&nbsp;QuorumStats(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a>&nbsp;provider)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getServerState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerState</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getServerState()</pre>
+</li>
+</ul>
+<a name="getQuorumPeers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumPeers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getQuorumPeers()</pre>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumStats.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumStats.html" target="_top">Frames</a></li>
+<li><a href="QuorumStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html
new file mode 100644
index 000000000..b92f9861e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html
@@ -0,0 +1,560 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class QuorumZooKeeperServer" class="title">Class QuorumZooKeeperServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.QuorumZooKeeperServer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">QuorumZooKeeperServer</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></pre>
+<div class="block">Abstract base class for all ZooKeeperServers that participate in
+ a quorum.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html" title="class in org.apache.zookeeper.server">ZooKeeperServer.MissingSessionException</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#self">self</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgradeableSessionTracker">upgradeableSessionTracker</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ALLOW_SASL_FAILED_CLIENTS">ALLOW_SASL_FAILED_CLIENTS</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#CLOSE_SESSION_TXN_ENABLED">CLOSE_SESSION_TXN_ENABLED</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_STARTING_BUFFER_SIZE">DEFAULT_STARTING_BUFFER_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_THROTTLED_OP_WAIT_TIME">DEFAULT_THROTTLED_OP_WAIT_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_TICK_TIME">DEFAULT_TICK_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENABLE_EAGER_ACL_CHECK">ENABLE_EAGER_ACL_CHECK</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENFORCE_QUOTA">ENFORCE_QUOTA</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enforceQuota">enforceQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#firstProcessor">firstProcessor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_CHILDREN_RESPONSE_CACHE_SIZE">GET_CHILDREN_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_DATA_RESPONSE_CACHE_SIZE">GET_DATA_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GLOBAL_OUTSTANDING_LIMIT">GLOBAL_OUTSTANDING_LIMIT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#initialConfig">initialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#INT_BUFFER_STARTING_SIZE_BYTES">INT_BUFFER_STARTING_SIZE_BYTES</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#intBufferStartingSizeBytes">intBufferStartingSizeBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxDataTreeBean">jmxDataTreeBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxServerBean">jmxServerBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jvmPauseMonitor">jvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#listenBacklog">listenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#LOG">LOG</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#maxSessionTimeout">maxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#minSessionTimeout">minSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ok">ok</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reconfigEnabled">reconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SASL_SUPER_USER">SASL_SUPER_USER</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#secureServerCnxnFactory">secureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverCnxnFactory">serverCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#sessionTracker">sessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SKIP_ACL">SKIP_ACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SNAP_COUNT">SNAP_COUNT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#state">state</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#throttledOpWaitTime">throttledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#tickTime">tickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ZOOKEEPER_DIGEST_ENABLED">ZOOKEEPER_DIGEST_ENABLED</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#QuorumZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-int-int-int-int-org.apache.zookeeper.server.ZKDatabase-org.apache.zookeeper.server.quorum.QuorumPeer-">QuorumZooKeeperServer</a></span>(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ int&nbsp;tickTime,
+ int&nbsp;minSessionTimeout,
+ int&nbsp;maxSessionTimeout,
+ int&nbsp;listenBacklog,
+ <a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#checkUpgradeSession-org.apache.zookeeper.server.Request-">checkUpgradeSession</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpConf-java.io.PrintWriter-">dumpConf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;pwriter)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">dumpMonitorValues</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function">BiConsumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;response)</code>
+<div class="block">Hook into admin server, useful to expose additional data
+ that do not represent metrics.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#registerMetrics--">registerMetrics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">setLocalSessionFlag</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">setState</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a>&nbsp;state)</code>
+<div class="block">Sets the state of ZooKeeper server.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#startSessionTracker--">startSessionTracker</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgrade-long-">upgrade</a></span>(long&nbsp;sessionId)</code>
+<div class="block">Implements the SessionUpgrader interface,</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#authWriteRequest-org.apache.zookeeper.server.Request-">authWriteRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#canShutdown--">canShutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkACL-org.apache.zookeeper.server.ServerCnxn-java.util.List-int-java.util.List-java.lang.String-java.util.List-">checkACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkPasswd-long-byte:A-">checkPasswd</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkQuota-java.lang.String-byte:A-byte:A-int-">checkQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkRequestSizeWhenReceivingMessage-int-">checkRequestSizeWhenReceivingMessage</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-long-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-org.apache.zookeeper.server.ServerCnxn-org.apache.zookeeper.proto.RequestHeader-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#connThrottle--">connThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createRequestThrottler--">createRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createSessionTracker--">createSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#decInProcess--">decInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpEphemerals-java.io.PrintWriter-">dumpEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enqueueRequest-org.apache.zookeeper.server.Request-">enqueueRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-long-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-org.apache.zookeeper.server.SessionTracker.Session-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#finishSessionInit-org.apache.zookeeper.server.ServerCnxn-boolean-">finishSessionInit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPortListenBacklog--">getClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConf--">getConf</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConnectionDropChance--">getConnectionDropChance</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getEphemerals--">getEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGetChildrenResponseCache--">getGetChildrenResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGlobalOutstandingLimit--">getGlobalOutstandingLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInflight--">getInflight</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInitialConfig--">getInitialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInProcess--">getInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestBytes--">getLargeRequestBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLastProcessedZxid--">getLastProcessedZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingHandshakeNum--">getOutstandingHandshakeNum</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getReadResponseCache--">getReadResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getRequestPathMetricsCollector--">getRequestPathMetricsCollector</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureServerCnxnFactory--">getSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerCnxnFactory--">getServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerId--">getServerId</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionExpiryMap--">getSessionExpiryMap</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionTracker--">getSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapCount--">getSnapCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapSizeInBytes--">getSnapSizeInBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getState--">getState</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogFactory--">getTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZKDatabase--">getZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZkShutdownHandler--">getZkShutdownHandler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZooKeeperServerListener--">getZooKeeperServerListener</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZxid--">getZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#incInProcess--">incInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isCloseSessionTxnEnabled--">isCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isDigestEnabled--">isDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isEnableEagerACLCheck--">isEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isReconfigEnabled--">isReconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isResponseCachingEnabled--">isResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isRunning--">isRunning</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#killSession-long-long-">killSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#loadData--">loadData</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processConnectRequest-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processConnectRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processPacket-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processPacket</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.server.Request-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.txn.TxnHeader-org.apache.jute.Record-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#registerJMX--">registerJMX</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reopenSession-org.apache.zookeeper.server.ServerCnxn-long-byte:A-int-">reopenSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#requestFinished-org.apache.zookeeper.server.Request-">requestFinished</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">revalidateSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverStats--">serverStats</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setClientPortListenBacklog-int-">setClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCloseSessionTxnEnabled-boolean-">setCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCreateSessionTrackerServerId-int-">setCreateSessionTrackerServerId</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setDigestEnabled-boolean-">setDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setEnableEagerACLCheck-boolean-">setEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setOwner-long-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setSecureServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTickTime-int-">setTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTxnLogFactory-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">setTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZKDatabase-org.apache.zookeeper.server.ZKDatabase-">setZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZxid-long-">setZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldForceWriteInitialSnapshotAfterLeaderElection--">shouldForceWriteInitialSnapshotAfterLeaderElection</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldThrottle-long-">shouldThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown-boolean-">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startdata--">startdata</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startJvmPauseMonitor--">startJvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startRequestThrottler--">startRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startServing--">startServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startup--">startup</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startupWithoutServing--">startupWithoutServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequest-org.apache.zookeeper.server.Request-">submitRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequestNow-org.apache.zookeeper.server.Request-">submitRequestNow</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot--">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot-boolean-">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#truncateLog-long-">truncateLog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#unregisterJMX--">unregisterJMX</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#validateSession-org.apache.zookeeper.server.ServerCnxn-long-">validateSession</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="self">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>self</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a> self</pre>
+</li>
+</ul>
+<a name="upgradeableSessionTracker">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>upgradeableSessionTracker</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a> upgradeableSessionTracker</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-int-int-int-int-org.apache.zookeeper.server.ZKDatabase-org.apache.zookeeper.server.quorum.QuorumPeer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumZooKeeperServer</h4>
+<pre>protected&nbsp;QuorumZooKeeperServer(<a href="../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ int&nbsp;tickTime,
+ int&nbsp;minSessionTimeout,
+ int&nbsp;maxSessionTimeout,
+ int&nbsp;listenBacklog,
+ <a href="../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="startSessionTracker--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startSessionTracker</h4>
+<pre>protected&nbsp;void&nbsp;startSessionTracker()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startSessionTracker--">startSessionTracker</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="checkUpgradeSession-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkUpgradeSession</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;checkUpgradeSession(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../org/apache/zookeeper/KeeperException.html" title="class in org.apache.zookeeper">KeeperException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../org/apache/zookeeper/KeeperException.html" title="class in org.apache.zookeeper">KeeperException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="upgrade-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>upgrade</h4>
+<pre>public&nbsp;void&nbsp;upgrade(long&nbsp;sessionId)</pre>
+<div class="block">Implements the SessionUpgrader interface,</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sessionId</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="setLocalSessionFlag-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLocalSessionFlag</h4>
+<pre>protected&nbsp;void&nbsp;setLocalSessionFlag(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">ZooKeeperServer</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">setLocalSessionFlag</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="dumpConf-java.io.PrintWriter-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dumpConf</h4>
+<pre>public&nbsp;void&nbsp;dumpConf(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;pwriter)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpConf-java.io.PrintWriter-">dumpConf</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setState-org.apache.zookeeper.server.ZooKeeperServer.State-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setState</h4>
+<pre>protected&nbsp;void&nbsp;setState(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a>&nbsp;state)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">ZooKeeperServer</a></code></span></div>
+<div class="block">Sets the state of ZooKeeper server. After changing the state, it notifies
+ the server state change to a registered shutdown handler, if any.
+ <p>
+ The following are the server state transitions:
+ <ul><li>During startup the server will be in the INITIAL state.</li>
+ <li>After successfully starting, the server sets the state to RUNNING.
+ </li>
+ <li>The server transitions to the ERROR state if it hits an internal
+ error. <code>ZooKeeperServerListenerImpl</code> notifies any critical resource
+ error events, e.g., SyncRequestProcessor not being able to write a txn to
+ disk.</li>
+ <li>During shutdown the server sets the state to SHUTDOWN, which
+ corresponds to the server not running.</li></ul></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">setState</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>state</code> - new server state.</dd>
+</dl>
+</li>
+</ul>
+<a name="registerMetrics--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerMetrics</h4>
+<pre>protected&nbsp;void&nbsp;registerMetrics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#registerMetrics--">registerMetrics</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="unregisterMetrics--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregisterMetrics</h4>
+<pre>protected&nbsp;void&nbsp;unregisterMetrics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="dumpMonitorValues-java.util.function.BiConsumer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>dumpMonitorValues</h4>
+<pre>public&nbsp;void&nbsp;dumpMonitorValues(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function">BiConsumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;response)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">ZooKeeperServer</a></code></span></div>
+<div class="block">Hook into admin server, useful to expose additional data
+ that do not represent metrics.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">dumpMonitorValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>response</code> - a sink which collects the data.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyBean.html
new file mode 100644
index 000000000..9772a4951
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyBean.html
@@ -0,0 +1,313 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReadOnlyBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ReadOnlyBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReadOnlyBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ReadOnlyBean.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class ReadOnlyBean" class="title">Class ReadOnlyBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServerBean</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.ReadOnlyBean</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReadOnlyBean</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></pre>
+<div class="block">ReadOnly MX Bean interface, implemented by ReadOnlyBean</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#zks">zks</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html#ReadOnlyBean-org.apache.zookeeper.server.ZooKeeperServer-">ReadOnlyBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getAuthFailedCount--">getAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getAvgRequestLatency--">getAvgRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getCommitProcMaxCommitBatchSize--">getCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getCommitProcMaxReadBatchSize--">getCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDecreaseRatio--">getConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDropDecrease--">getConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionDropIncrease--">getConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionFreezeTime--">getConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionMaxTokens--">getConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionTokenFillCount--">getConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getConnectionTokenFillTime--">getConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getFlushDelay--">getFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getFsyncThresholdExceedCount--">getFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getJuteMaxBufferSize--">getJuteMaxBufferSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLastClientResponseSize--">getLastClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxBatchSize--">getMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxClientResponseSize--">getMaxClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxCnxns--">getMaxCnxns</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxRequestLatency--">getMaxRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMaxWriteQueuePollTime--">getMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinClientResponseSize--">getMinClientResponseSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinRequestLatency--">getMinRequestLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNonMTLSLocalConnCount--">getNonMTLSLocalConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNonMTLSRemoteConnCount--">getNonMTLSRemoteConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getPacketsReceived--">getPacketsReceived</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getPacketsSent--">getPacketsSent</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestStaleConnectionCheck--">getRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestStaleLatencyCheck--">getRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleDropStale--">getRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleLimit--">getRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getRequestThrottleStallTime--">getRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getResponseCachingEnabled--">getResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getSecureClientAddress--">getSecureClientAddress</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getVersion--">getVersion</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#isHidden--">isHidden</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetAuthFailedCount--">resetAuthFailedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetFsyncThresholdExceedCount--">resetFsyncThresholdExceedCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetLatency--">resetLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetMaxLatency--">resetMaxLatency</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetNonMTLSConnCount--">resetNonMTLSConnCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#resetStatistics--">resetStatistics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setCommitProcMaxCommitBatchSize-int-">setCommitProcMaxCommitBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setCommitProcMaxReadBatchSize-int-">setCommitProcMaxReadBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDecreaseRatio-double-">setConnectionDecreaseRatio</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDropDecrease-double-">setConnectionDropDecrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionDropIncrease-double-">setConnectionDropIncrease</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionFreezeTime-int-">setConnectionFreezeTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionMaxTokens-int-">setConnectionMaxTokens</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionTokenFillCount-int-">setConnectionTokenFillCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setConnectionTokenFillTime-int-">setConnectionTokenFillTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setFlushDelay-long-">setFlushDelay</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxBatchSize-int-">setMaxBatchSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxClientCnxnsPerHost-int-">setMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMaxWriteQueuePollTime-long-">setMaxWriteQueuePollTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestStaleConnectionCheck-boolean-">setRequestStaleConnectionCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestStaleLatencyCheck-boolean-">setRequestStaleLatencyCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleDropStale-boolean-">setRequestThrottleDropStale</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleLimit-int-">setRequestThrottleLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setRequestThrottleStallTime-int-">setRequestThrottleStallTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#setTickTime-int-">setTickTime</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ReadOnlyBean-org.apache.zookeeper.server.ZooKeeperServer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReadOnlyBean</h4>
+<pre>public&nbsp;ReadOnlyBean(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html#getName--">getName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string identifying the MBean</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReadOnlyBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ReadOnlyBean.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServerBean">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html
new file mode 100644
index 000000000..41dd18bf3
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html
@@ -0,0 +1,390 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReadOnlyRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ReadOnlyRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReadOnlyRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.lang.Thread">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class ReadOnlyRequestProcessor" class="title">Class ReadOnlyRequestProcessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperThread</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperCriticalThread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.ReadOnlyRequestProcessor</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReadOnlyRequestProcessor</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a>
+implements <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></pre>
+<div class="block">This processor is at the beginning of the ReadOnlyZooKeeperServer's
+ processors chain. All it does is, it passes read-only operations (e.g.
+ OpCode.getData, OpCode.exists) through to the next processor, but drops
+ state-changing operations (e.g. OpCode.create, OpCode.setData).</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.RequestProcessor">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html#ReadOnlyRequestProcessor-org.apache.zookeeper.server.ZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">ReadOnlyRequestProcessor</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperCriticalThread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server">ZooKeeperCriticalThread</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html#handleException-java.lang.String-java.lang.Throwable-">handleException</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lang">getId</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ReadOnlyRequestProcessor-org.apache.zookeeper.server.ZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReadOnlyRequestProcessor</h4>
+<pre>public&nbsp;ReadOnlyRequestProcessor(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="run--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="processRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processRequest</h4>
+<pre>public&nbsp;void&nbsp;processRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReadOnlyRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.lang.Thread">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html
new file mode 100644
index 000000000..38a4253ed
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html
@@ -0,0 +1,599 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReadOnlyZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ReadOnlyZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReadOnlyZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class ReadOnlyZooKeeperServer" class="title">Class ReadOnlyZooKeeperServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">org.apache.zookeeper.server.ZooKeeperServer</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReadOnlyZooKeeperServer</span>
+extends <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></pre>
+<div class="block">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.
+ <p>
+ The very first processor in the chain of request processors is a
+ ReadOnlyRequestProcessor which drops state-changing requests.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.MissingSessionException.html" title="class in org.apache.zookeeper.server">ZooKeeperServer.MissingSessionException</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#self">self</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ALLOW_SASL_FAILED_CLIENTS">ALLOW_SASL_FAILED_CLIENTS</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#CLOSE_SESSION_TXN_ENABLED">CLOSE_SESSION_TXN_ENABLED</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_STARTING_BUFFER_SIZE">DEFAULT_STARTING_BUFFER_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_THROTTLED_OP_WAIT_TIME">DEFAULT_THROTTLED_OP_WAIT_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#DEFAULT_TICK_TIME">DEFAULT_TICK_TIME</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENABLE_EAGER_ACL_CHECK">ENABLE_EAGER_ACL_CHECK</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ENFORCE_QUOTA">ENFORCE_QUOTA</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enforceQuota">enforceQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#firstProcessor">firstProcessor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_CHILDREN_RESPONSE_CACHE_SIZE">GET_CHILDREN_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GET_DATA_RESPONSE_CACHE_SIZE">GET_DATA_RESPONSE_CACHE_SIZE</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#GLOBAL_OUTSTANDING_LIMIT">GLOBAL_OUTSTANDING_LIMIT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#initialConfig">initialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#INT_BUFFER_STARTING_SIZE_BYTES">INT_BUFFER_STARTING_SIZE_BYTES</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#intBufferStartingSizeBytes">intBufferStartingSizeBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxDataTreeBean">jmxDataTreeBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jmxServerBean">jmxServerBean</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#jvmPauseMonitor">jvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#listenBacklog">listenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#LOG">LOG</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#maxSessionTimeout">maxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#minSessionTimeout">minSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ok">ok</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reconfigEnabled">reconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SASL_SUPER_USER">SASL_SUPER_USER</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#secureServerCnxnFactory">secureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverCnxnFactory">serverCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#sessionTracker">sessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SKIP_ACL">SKIP_ACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#SNAP_COUNT">SNAP_COUNT</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#state">state</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#throttledOpWaitTime">throttledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#tickTime">tickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#ZOOKEEPER_DIGEST_ENABLED">ZOOKEEPER_DIGEST_ENABLED</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#createSessionTracker--">createSessionTracker</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#dumpConf-java.io.PrintWriter-">dumpConf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;pwriter)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#getServerId--">getServerId</a></span>()</code>
+<div class="block">Returns the id of the associated QuorumPeer, which will do for a unique
+ id of this server.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#registerJMX--">registerJMX</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.ZooKeeperServerBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a>&nbsp;serverBean,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">setLocalSessionFlag</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">setState</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a>&nbsp;state)</code>
+<div class="block">Sets the state of ZooKeeper server.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#startSessionTracker--">startSessionTracker</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#startup--">startup</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#unregisterJMX--">unregisterJMX</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#unregisterJMX-org.apache.zookeeper.server.ZooKeeperServer-">unregisterJMX</a></span>(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#validateSession-org.apache.zookeeper.server.ServerCnxn-long-">validateSession</a></span>(<a href="../../../../../org/apache/zookeeper/server/ServerCnxn.html" title="class in org.apache.zookeeper.server">ServerCnxn</a>&nbsp;cnxn,
+ long&nbsp;sessionId)</code>
+<div class="block">Validate if a particular session can be reestablished.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#authWriteRequest-org.apache.zookeeper.server.Request-">authWriteRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#canShutdown--">canShutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkACL-org.apache.zookeeper.server.ServerCnxn-java.util.List-int-java.util.List-java.lang.String-java.util.List-">checkACL</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkPasswd-long-byte:A-">checkPasswd</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkQuota-java.lang.String-byte:A-byte:A-int-">checkQuota</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#checkRequestSizeWhenReceivingMessage-int-">checkRequestSizeWhenReceivingMessage</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-long-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#closeSession-org.apache.zookeeper.server.ServerCnxn-org.apache.zookeeper.proto.RequestHeader-">closeSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#connThrottle--">connThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createRequestThrottler--">createRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#decInProcess--">decInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpEphemerals-java.io.PrintWriter-">dumpEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpMonitorValues-java.util.function.BiConsumer-">dumpMonitorValues</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#enqueueRequest-org.apache.zookeeper.server.Request-">enqueueRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-long-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#expire-org.apache.zookeeper.server.SessionTracker.Session-">expire</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#finishSessionInit-org.apache.zookeeper.server.ServerCnxn-boolean-">finishSessionInit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPort--">getClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getClientPortListenBacklog--">getClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConf--">getConf</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getConnectionDropChance--">getConnectionDropChance</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getDataDirSize--">getDataDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getEphemerals--">getEphemerals</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGetChildrenResponseCache--">getGetChildrenResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getGlobalOutstandingLimit--">getGlobalOutstandingLimit</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInflight--">getInflight</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInitialConfig--">getInitialConfig</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getInProcess--">getInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestBytes--">getLargeRequestBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestMaxBytes--">getLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLargeRequestThreshold--">getLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLastProcessedZxid--">getLastProcessedZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getLogDirSize--">getLogDirSize</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxClientCnxnsPerHost--">getMaxClientCnxnsPerHost</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMaxSessionTimeout--">getMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getMinSessionTimeout--">getMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getNumAliveConnections--">getNumAliveConnections</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingHandshakeNum--">getOutstandingHandshakeNum</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getOutstandingRequests--">getOutstandingRequests</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getReadResponseCache--">getReadResponseCache</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getRequestPathMetricsCollector--">getRequestPathMetricsCollector</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureClientPort--">getSecureClientPort</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSecureServerCnxnFactory--">getSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerCnxnFactory--">getServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionExpiryMap--">getSessionExpiryMap</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSessionTracker--">getSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapCount--">getSnapCount</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getSnapSizeInBytes--">getSnapSizeInBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getThrottledOpWaitTime--">getThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTickTime--">getTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogElapsedSyncTime--">getTxnLogElapsedSyncTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getTxnLogFactory--">getTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZKDatabase--">getZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZkShutdownHandler--">getZkShutdownHandler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZooKeeperServerListener--">getZooKeeperServerListener</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getZxid--">getZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#incInProcess--">incInProcess</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isCloseSessionTxnEnabled--">isCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isDigestEnabled--">isDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isEnableEagerACLCheck--">isEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isReconfigEnabled--">isReconfigEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isResponseCachingEnabled--">isResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#isRunning--">isRunning</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#killSession-long-long-">killSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#loadData--">loadData</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processConnectRequest-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processConnectRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processPacket-org.apache.zookeeper.server.ServerCnxn-java.nio.ByteBuffer-">processPacket</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.server.Request-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#processTxn-org.apache.zookeeper.txn.TxnHeader-org.apache.jute.Record-">processTxn</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#registerMetrics--">registerMetrics</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#reopenSession-org.apache.zookeeper.server.ServerCnxn-long-byte:A-int-">reopenSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#requestFinished-org.apache.zookeeper.server.Request-">requestFinished</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#revalidateSession-org.apache.zookeeper.server.ServerCnxn-long-int-">revalidateSession</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#serverStats--">serverStats</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setClientPortListenBacklog-int-">setClientPortListenBacklog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCloseSessionTxnEnabled-boolean-">setCloseSessionTxnEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setCreateSessionTrackerServerId-int-">setCreateSessionTrackerServerId</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setDigestEnabled-boolean-">setDigestEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setEnableEagerACLCheck-boolean-">setEnableEagerACLCheck</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestMaxBytes-int-">setLargeRequestMaxBytes</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLargeRequestThreshold-int-">setLargeRequestThreshold</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMaxSessionTimeout-int-">setMaxSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setMinSessionTimeout-int-">setMinSessionTimeout</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setOwner-long-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setResponseCachingEnabled-boolean-">setResponseCachingEnabled</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setSecureServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setSecureServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setServerCnxnFactory-org.apache.zookeeper.server.ServerCnxnFactory-">setServerCnxnFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setThrottledOpWaitTime-int-">setThrottledOpWaitTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTickTime-int-">setTickTime</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setTxnLogFactory-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">setTxnLogFactory</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZKDatabase-org.apache.zookeeper.server.ZKDatabase-">setZKDatabase</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setZxid-long-">setZxid</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldForceWriteInitialSnapshotAfterLeaderElection--">shouldForceWriteInitialSnapshotAfterLeaderElection</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shouldThrottle-long-">shouldThrottle</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown-boolean-">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startdata--">startdata</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startJvmPauseMonitor--">startJvmPauseMonitor</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startRequestThrottler--">startRequestThrottler</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startServing--">startServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startupWithoutServing--">startupWithoutServing</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequest-org.apache.zookeeper.server.Request-">submitRequest</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#submitRequestNow-org.apache.zookeeper.server.Request-">submitRequestNow</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot--">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#takeSnapshot-boolean-">takeSnapshot</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#truncateLog-long-">truncateLog</a>, <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#unregisterMetrics--">unregisterMetrics</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="self">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>self</h4>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a> self</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="setupRequestProcessors--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setupRequestProcessors</h4>
+<pre>protected&nbsp;void&nbsp;setupRequestProcessors()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setupRequestProcessors--">setupRequestProcessors</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="startup--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startup</h4>
+<pre>public&nbsp;void&nbsp;startup()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startup--">startup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="createSessionTracker--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createSessionTracker</h4>
+<pre>public&nbsp;void&nbsp;createSessionTracker()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#createSessionTracker--">createSessionTracker</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="startSessionTracker--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startSessionTracker</h4>
+<pre>protected&nbsp;void&nbsp;startSessionTracker()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#startSessionTracker--">startSessionTracker</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setLocalSessionFlag-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLocalSessionFlag</h4>
+<pre>protected&nbsp;void&nbsp;setLocalSessionFlag(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">ZooKeeperServer</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setLocalSessionFlag-org.apache.zookeeper.server.Request-">setLocalSessionFlag</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="validateSession-org.apache.zookeeper.server.ServerCnxn-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>validateSession</h4>
+<pre>protected&nbsp;void&nbsp;validateSession(<a href="../../../../../org/apache/zookeeper/server/ServerCnxn.html" title="class in org.apache.zookeeper.server">ServerCnxn</a>&nbsp;cnxn,
+ long&nbsp;sessionId)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#validateSession-org.apache.zookeeper.server.ServerCnxn-long-">ZooKeeperServer</a></code></span></div>
+<div class="block">Validate if a particular session can be reestablished.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#validateSession-org.apache.zookeeper.server.ServerCnxn-long-">validateSession</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJMX--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerJMX</h4>
+<pre>protected&nbsp;void&nbsp;registerJMX()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#registerJMX--">registerJMX</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJMX-org.apache.zookeeper.server.ZooKeeperServerBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerJMX</h4>
+<pre>public&nbsp;void&nbsp;registerJMX(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a>&nbsp;serverBean,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</pre>
+</li>
+</ul>
+<a name="unregisterJMX--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregisterJMX</h4>
+<pre>protected&nbsp;void&nbsp;unregisterJMX()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#unregisterJMX--">unregisterJMX</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="unregisterJMX-org.apache.zookeeper.server.ZooKeeperServer-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregisterJMX</h4>
+<pre>protected&nbsp;void&nbsp;unregisterJMX(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</pre>
+</li>
+</ul>
+<a name="getState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getState()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html#getState--">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getState--">getState</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getServerId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerId</h4>
+<pre>public&nbsp;long&nbsp;getServerId()</pre>
+<div class="block">Returns the id of the associated QuorumPeer, which will do for a unique
+ id of this server.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html#getServerId--">getServerId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#getServerId--">getServerId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#shutdown--">shutdown</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="dumpConf-java.io.PrintWriter-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dumpConf</h4>
+<pre>public&nbsp;void&nbsp;dumpConf(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;pwriter)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#dumpConf-java.io.PrintWriter-">dumpConf</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setState-org.apache.zookeeper.server.ZooKeeperServer.State-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setState</h4>
+<pre>protected&nbsp;void&nbsp;setState(<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.State.html" title="enum in org.apache.zookeeper.server">ZooKeeperServer.State</a>&nbsp;state)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">ZooKeeperServer</a></code></span></div>
+<div class="block">Sets the state of ZooKeeper server. After changing the state, it notifies
+ the server state change to a registered shutdown handler, if any.
+ <p>
+ The following are the server state transitions:
+ <ul><li>During startup the server will be in the INITIAL state.</li>
+ <li>After successfully starting, the server sets the state to RUNNING.
+ </li>
+ <li>The server transitions to the ERROR state if it hits an internal
+ error. <code>ZooKeeperServerListenerImpl</code> notifies any critical resource
+ error events, e.g., SyncRequestProcessor not being able to write a txn to
+ disk.</li>
+ <li>During shutdown the server sets the state to SHUTDOWN, which
+ corresponds to the server not running.</li></ul></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html#setState-org.apache.zookeeper.server.ZooKeeperServer.State-">setState</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>state</code> - new server state.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReadOnlyZooKeeperServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.zookeeper.server.ZooKeeperServer">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerBean.html
new file mode 100644
index 000000000..cd94c6496
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerBean.html
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RemotePeerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="RemotePeerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RemotePeerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/RemotePeerBean.html" target="_top">Frames</a></li>
+<li><a href="RemotePeerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class RemotePeerBean" class="title">Class RemotePeerBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.RemotePeerBean</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">RemotePeerBean</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a>, <a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></pre>
+<div class="block">A remote peer bean only provides limited information about the remote peer,
+ and the peer cannot be managed remotely.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#RemotePeerBean-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">RemotePeerBean</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;localPeer,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#getClientAddress--">getClientAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#getElectionAddress--">getElectionAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#getLearnerType--">getLearnerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#isHidden--">isHidden</a></span>()</code>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#isLeader--">isLeader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#setQuorumServer-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">setQuorumServer</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="RemotePeerBean-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RemotePeerBean</h4>
+<pre>public&nbsp;RemotePeerBean(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;localPeer,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;peer)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="setQuorumServer-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setQuorumServer</h4>
+<pre>public&nbsp;void&nbsp;setQuorumServer(<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;peer)</pre>
+</li>
+</ul>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>name of the peer</dd>
+</dl>
+</li>
+</ul>
+<a name="isHidden--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isHidden</h4>
+<pre>public&nbsp;boolean&nbsp;isHidden()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">ZKMBeanInfo</a></code></span></div>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools. Used for grouping MBeans.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">isHidden</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the MBean is hidden.</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumAddress()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getQuorumAddress--">getQuorumAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>IP address of the quorum peer</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getElectionAddress()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getElectionAddress--">getElectionAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the election address</dd>
+</dl>
+</li>
+</ul>
+<a name="getClientAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClientAddress()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getClientAddress--">getClientAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the client address</dd>
+</dl>
+</li>
+</ul>
+<a name="getLearnerType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerType</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLearnerType()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getLearnerType--">getLearnerType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the learner type</dd>
+</dl>
+</li>
+</ul>
+<a name="isLeader--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isLeader</h4>
+<pre>public&nbsp;boolean&nbsp;isLeader()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#isLeader--">isLeader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the peer is the current leader</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RemotePeerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/RemotePeerBean.html" target="_top">Frames</a></li>
+<li><a href="RemotePeerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerMXBean.html
new file mode 100644
index 000000000..ba71ee757
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/RemotePeerMXBean.html
@@ -0,0 +1,317 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RemotePeerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="RemotePeerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RemotePeerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" target="_top">Frames</a></li>
+<li><a href="RemotePeerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface RemotePeerMXBean" class="title">Interface RemotePeerMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum">RemotePeerBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">RemotePeerMXBean</span></pre>
+<div class="block">A proxy for a remote quorum peer.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getClientAddress--">getClientAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getElectionAddress--">getElectionAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getLearnerType--">getLearnerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html#isLeader--">isLeader</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>name of the peer</dd>
+</dl>
+</li>
+</ul>
+<a name="getQuorumAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumAddress</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQuorumAddress()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>IP address of the quorum peer</dd>
+</dl>
+</li>
+</ul>
+<a name="getElectionAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionAddress</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getElectionAddress()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the election address</dd>
+</dl>
+</li>
+</ul>
+<a name="getClientAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientAddress</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClientAddress()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the client address</dd>
+</dl>
+</li>
+</ul>
+<a name="getLearnerType--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLearnerType</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLearnerType()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the learner type</dd>
+</dl>
+</li>
+</ul>
+<a name="isLeader--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isLeader</h4>
+<pre>boolean&nbsp;isLeader()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the peer is the current leader</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RemotePeerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" target="_top">Frames</a></li>
+<li><a href="RemotePeerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html
new file mode 100644
index 000000000..b14666d4c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html
@@ -0,0 +1,300 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SendAckRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SendAckRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SendAckRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="SendAckRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class SendAckRequestProcessor" class="title">Class SendAckRequestProcessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.SendAckRequestProcessor</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</a>, <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SendAckRequestProcessor</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.RequestProcessor">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.RequestProcessorException.html" title="class in org.apache.zookeeper.server">RequestProcessor.RequestProcessorException</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html#flush--">flush</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></span>(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="processRequest-org.apache.zookeeper.server.Request-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processRequest</h4>
+<pre>public&nbsp;void&nbsp;processRequest(<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;si)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#processRequest-org.apache.zookeeper.server.Request-">processRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="flush--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>flush</h4>
+<pre>public&nbsp;void&nbsp;flush()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true#flush--" title="class or interface in java.io">flush</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SendAckRequestProcessor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="SendAckRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerBean.html
new file mode 100644
index 000000000..1d8ca2810
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerBean.html
@@ -0,0 +1,328 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ServerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ServerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ServerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ServerBean.html" target="_top">Frames</a></li>
+<li><a href="ServerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class ServerBean" class="title">Class ServerBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.ServerBean</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">ServerBean</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a>, <a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></pre>
+<div class="block">An abstract base class for the leader and follower MBeans.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html#ServerBean--">ServerBean</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html#getStartTime--">getStartTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html#isHidden--">isHidden</a></span>()</code>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.ServerMXBean">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html#getName--">getName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.jmx.ZKMBeanInfo">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.jmx.<a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#getName--">getName</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ServerBean--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ServerBean</h4>
+<pre>public&nbsp;ServerBean()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="isHidden--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isHidden</h4>
+<pre>public&nbsp;boolean&nbsp;isHidden()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">ZKMBeanInfo</a></code></span></div>
+<div class="block">If isHidden returns true, the MBean won't be registered with MBean server,
+ and thus won't be available for management tools. Used for grouping MBeans.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html#isHidden--">isHidden</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the MBean is hidden.</dd>
+</dl>
+</li>
+</ul>
+<a name="getStartTime--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getStartTime</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getStartTime()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html#getStartTime--">getStartTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the start time the server</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ServerBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ServerBean.html" target="_top">Frames</a></li>
+<li><a href="ServerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerMXBean.html
new file mode 100644
index 000000000..3340131a7
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/ServerMXBean.html
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ServerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ServerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ServerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ServerMXBean.html" target="_top">Frames</a></li>
+<li><a href="ServerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Interface ServerMXBean" class="title">Interface ServerMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ServerMXBean</span></pre>
+<div class="block">A quorum server MBean.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html#getStartTime--">getStartTime</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>name of the server MBean</dd>
+</dl>
+</li>
+</ul>
+<a name="getStartTime--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getStartTime</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getStartTime()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the start time the server</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ServerMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/ServerMXBean.html" target="_top">Frames</a></li>
+<li><a href="ServerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/StateSummary.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/StateSummary.html
new file mode 100644
index 000000000..a00366a98
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/StateSummary.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StateSummary (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="StateSummary (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StateSummary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/StateSummary.html" target="_top">Frames</a></li>
+<li><a href="StateSummary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class StateSummary" class="title">Class StateSummary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.StateSummary</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StateSummary</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This class encapsulates the state comparison logic. Specifically,
+ how two different states are compared.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html#StateSummary-long-long-">StateSummary</a></span>(long&nbsp;currentEpoch,
+ long&nbsp;lastZxid)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html#getCurrentEpoch--">getCurrentEpoch</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html#getLastZxid--">getLastZxid</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html#isMoreRecentThan-org.apache.zookeeper.server.quorum.StateSummary-">isMoreRecentThan</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StateSummary-long-long-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StateSummary</h4>
+<pre>public&nbsp;StateSummary(long&nbsp;currentEpoch,
+ long&nbsp;lastZxid)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getCurrentEpoch--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentEpoch</h4>
+<pre>public&nbsp;long&nbsp;getCurrentEpoch()</pre>
+</li>
+</ul>
+<a name="getLastZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastZxid</h4>
+<pre>public&nbsp;long&nbsp;getLastZxid()</pre>
+</li>
+</ul>
+<a name="isMoreRecentThan-org.apache.zookeeper.server.quorum.StateSummary-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isMoreRecentThan</h4>
+<pre>public&nbsp;boolean&nbsp;isMoreRecentThan(<a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StateSummary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/StateSummary.html" target="_top">Frames</a></li>
+<li><a href="StateSummary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncThrottleException.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncThrottleException.html
new file mode 100644
index 000000000..212c2f625
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncThrottleException.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SyncThrottleException (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SyncThrottleException (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SyncThrottleException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/SyncThrottleException.html" target="_top">Frames</a></li>
+<li><a href="SyncThrottleException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class SyncThrottleException" class="title">Class SyncThrottleException</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.SyncThrottleException</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SyncThrottleException</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Thrown when a <a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum"><code>Leader</code></a> has too many concurrent syncs being sent
+ to observers.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum"><code>LearnerSyncThrottler</code></a>,
+<a href="../../../../../serialized-form.html#org.apache.zookeeper.server.quorum.SyncThrottleException">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html#SyncThrottleException-int-int-org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType-">SyncThrottleException</a></span>(int&nbsp;concurrentSyncNumber,
+ int&nbsp;throttleThreshold,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&nbsp;syncType)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#addSuppressed-java.lang.Throwable-" title="class or interface in java.lang">addSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace--" title="class or interface in java.lang">fillInStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getCause--" title="class or interface in java.lang">getCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage--" title="class or interface in java.lang">getLocalizedMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getMessage--" title="class or interface in java.lang">getMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getSuppressed--" title="class or interface in java.lang">getSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#initCause-java.lang.Throwable-" title="class or interface in java.lang">initCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace--" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintStream-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintWriter-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace-java.lang.StackTraceElement:A-" title="class or interface in java.lang">setStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SyncThrottleException-int-int-org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SyncThrottleException</h4>
+<pre>public&nbsp;SyncThrottleException(int&nbsp;concurrentSyncNumber,
+ int&nbsp;throttleThreshold,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&nbsp;syncType)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SyncThrottleException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/SyncThrottleException.html" target="_top">Frames</a></li>
+<li><a href="SyncThrottleException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html
new file mode 100644
index 000000000..2b2c09a72
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html
@@ -0,0 +1,292 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SyncedLearnerTracker.QuorumVerifierAcksetPair (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SyncedLearnerTracker.QuorumVerifierAcksetPair (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" target="_top">Frames</a></li>
+<li><a href="SyncedLearnerTracker.QuorumVerifierAcksetPair.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class SyncedLearnerTracker.QuorumVerifierAcksetPair" class="title">Class SyncedLearnerTracker.QuorumVerifierAcksetPair</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.SyncedLearnerTracker.QuorumVerifierAcksetPair</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">SyncedLearnerTracker.QuorumVerifierAcksetPair</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html#QuorumVerifierAcksetPair-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-java.util.HashSet-">QuorumVerifierAcksetPair</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;ackset)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html#getAckset--">getAckset</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html#getQuorumVerifier--">getQuorumVerifier</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumVerifierAcksetPair-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-java.util.HashSet-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumVerifierAcksetPair</h4>
+<pre>public&nbsp;QuorumVerifierAcksetPair(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;ackset)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getQuorumVerifier--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuorumVerifier</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;getQuorumVerifier()</pre>
+</li>
+</ul>
+<a name="getAckset--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAckset</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getAckset()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" target="_top">Frames</a></li>
+<li><a href="SyncedLearnerTracker.QuorumVerifierAcksetPair.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html
new file mode 100644
index 000000000..70b0cc696
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html
@@ -0,0 +1,384 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SyncedLearnerTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SyncedLearnerTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SyncedLearnerTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" target="_top">Frames</a></li>
+<li><a href="SyncedLearnerTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class SyncedLearnerTracker" class="title">Class SyncedLearnerTracker</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.SyncedLearnerTracker</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SyncedLearnerTracker</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#qvAcksetPairs">qvAcksetPairs</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#SyncedLearnerTracker--">SyncedLearnerTracker</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#ackSetsToString--">ackSetsToString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#addAck-java.lang.Long-">addAck</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#addQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">addQuorumVerifier</a></span>(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#hasAllQuorums--">hasAllQuorums</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#hasSid-long-">hasSid</a></span>(long&nbsp;sid)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="qvAcksetPairs">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>qvAcksetPairs</h4>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a>&gt; qvAcksetPairs</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SyncedLearnerTracker--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SyncedLearnerTracker</h4>
+<pre>public&nbsp;SyncedLearnerTracker()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="addQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addQuorumVerifier</h4>
+<pre>public&nbsp;void&nbsp;addQuorumVerifier(<a href="../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv)</pre>
+</li>
+</ul>
+<a name="addAck-java.lang.Long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addAck</h4>
+<pre>public&nbsp;boolean&nbsp;addAck(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</pre>
+</li>
+</ul>
+<a name="hasSid-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasSid</h4>
+<pre>public&nbsp;boolean&nbsp;hasSid(long&nbsp;sid)</pre>
+</li>
+</ul>
+<a name="hasAllQuorums--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasAllQuorums</h4>
+<pre>public&nbsp;boolean&nbsp;hasAllQuorums()</pre>
+</li>
+</ul>
+<a name="ackSetsToString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ackSetsToString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ackSetsToString()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SyncedLearnerTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" target="_top">Frames</a></li>
+<li><a href="SyncedLearnerTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html
new file mode 100644
index 000000000..06c16dd06
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html
@@ -0,0 +1,1279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnifiedServerSocket.UnifiedSocket (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="UnifiedServerSocket.UnifiedSocket (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnifiedServerSocket.UnifiedSocket.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" target="_top">Frames</a></li>
+<li><a href="UnifiedServerSocket.UnifiedSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class UnifiedServerSocket.UnifiedSocket" class="title">Class UnifiedServerSocket.UnifiedSocket</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">java.net.Socket</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.UnifiedServerSocket.UnifiedSocket</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum">UnifiedServerSocket</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">UnifiedServerSocket.UnifiedSocket</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></pre>
+<div class="block">The result of calling accept() on a UnifiedServerSocket. This is a Socket that doesn't know if it's
+ using plaintext or SSL/TLS at the time when it is created. Calling a method that indicates a desire to
+ read or write from the socket will cause the socket to detect if the connected client is attempting
+ to establish a TLS or plaintext connection. This is done by doing a blocking read of 5 bytes off the
+ socket and checking if the bytes look like the start of a TLS ClientHello message. If it looks like
+ the client is attempting to connect with TLS, the internal socket is upgraded to a SSLSocket. If not,
+ any bytes read from the socket are pushed back to the input stream, and the socket continues
+ to be treated as a plaintext socket.
+
+ The methods that trigger this behavior are:
+ <ul>
+ <li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getInputStream--"><code>getInputStream()</code></a></li>
+ <li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getOutputStream--"><code>getOutputStream()</code></a></li>
+ <li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#sendUrgentData-int-"><code>sendUrgentData(int)</code></a></li>
+ </ul>
+
+ Calling other socket methods (i.e option setters such as <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTcpNoDelay-boolean-" title="class or interface in java.net"><code>Socket.setTcpNoDelay(boolean)</code></a>) does
+ not trigger mode detection.
+
+ Because detecting the mode is a potentially blocking operation, it should not be done in the
+ accepting thread. Attempting to read from or write to the socket in the accepting thread opens the
+ caller up to a denial-of-service attack, in which a client connects and then does nothing. This would
+ prevent any other clients from connecting. Passing the socket returned by accept() to a separate
+ thread which handles all read and write operations protects against this DoS attack.
+
+ Callers can check if the socket has been upgraded to TLS by calling <a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isSecureSocket--"><code>isSecureSocket()</code></a>,
+ and can get the underlying SSLSocket by calling <a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getSslSocket--"><code>getSslSocket()</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#bind-java.net.SocketAddress-">bind</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;bindpoint)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#bind-java.net.SocketAddress-" title="class or interface in java.net"><code>Socket.bind(SocketAddress)</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#close--">close</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#close--" title="class or interface in java.net"><code>Socket.close()</code></a>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#connect-java.net.SocketAddress-">connect</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;endpoint)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#connect-java.net.SocketAddress-" title="class or interface in java.net"><code>Socket.connect(SocketAddress)</code></a>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#connect-java.net.SocketAddress-int-">connect</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;endpoint,
+ int&nbsp;timeout)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#connect-java.net.SocketAddress-int-" title="class or interface in java.net"><code>Socket.connect(SocketAddress, int)</code></a>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getChannel--">getChannel</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getChannel--" title="class or interface in java.net"><code>Socket.getChannel()</code></a>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getInetAddress--">getInetAddress</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getInetAddress--" title="class or interface in java.net"><code>Socket.getInetAddress()</code></a>.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getInputStream--">getInputStream</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getInputStream--" title="class or interface in java.net"><code>Socket.getInputStream()</code></a>.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getKeepAlive--">getKeepAlive</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getKeepAlive--" title="class or interface in java.net"><code>Socket.getKeepAlive()</code></a>.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getLocalAddress--">getLocalAddress</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalAddress--" title="class or interface in java.net"><code>Socket.getLocalAddress()</code></a>.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getLocalPort--">getLocalPort</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalPort--" title="class or interface in java.net"><code>Socket.getLocalPort()</code></a>.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getLocalSocketAddress--">getLocalSocketAddress</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalSocketAddress--" title="class or interface in java.net"><code>Socket.getLocalSocketAddress()</code></a>.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getOOBInline--">getOOBInline</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getOOBInline--" title="class or interface in java.net"><code>Socket.getOOBInline()</code></a>.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getOutputStream--">getOutputStream</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getOutputStream--" title="class or interface in java.net"><code>Socket.getOutputStream()</code></a>.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getPort--">getPort</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getPort--" title="class or interface in java.net"><code>Socket.getPort()</code></a>.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getReceiveBufferSize--">getReceiveBufferSize</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getReceiveBufferSize--" title="class or interface in java.net"><code>Socket.getReceiveBufferSize()</code></a>.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getRemoteSocketAddress--">getRemoteSocketAddress</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getRemoteSocketAddress--" title="class or interface in java.net"><code>Socket.getRemoteSocketAddress()</code></a>.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getReuseAddress--">getReuseAddress</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getReuseAddress--" title="class or interface in java.net"><code>Socket.getReuseAddress()</code></a>.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getSendBufferSize--">getSendBufferSize</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSendBufferSize--" title="class or interface in java.net"><code>Socket.getSendBufferSize()</code></a>.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getSoLinger--">getSoLinger</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSoLinger--" title="class or interface in java.net"><code>Socket.getSoLinger()</code></a>.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getSoTimeout--">getSoTimeout</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSoTimeout--" title="class or interface in java.net"><code>Socket.getSoTimeout()</code></a>.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLSocket.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getSslSocket--">getSslSocket</a></span>()</code>
+<div class="block">Returns the underlying SSLSocket if the mode is TLS.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getTcpNoDelay--">getTcpNoDelay</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getTcpNoDelay--" title="class or interface in java.net"><code>Socket.getTcpNoDelay()</code></a>.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#getTrafficClass--">getTrafficClass</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getTrafficClass--" title="class or interface in java.net"><code>Socket.getTrafficClass()</code></a>.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isBound--">isBound</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isBound--" title="class or interface in java.net"><code>Socket.isBound()</code></a>.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isClosed--">isClosed</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isClosed--" title="class or interface in java.net"><code>Socket.isClosed()</code></a>.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isConnected--">isConnected</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isConnected--" title="class or interface in java.net"><code>Socket.isConnected()</code></a>.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isInputShutdown--">isInputShutdown</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isInputShutdown--" title="class or interface in java.net"><code>Socket.isInputShutdown()</code></a>.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isModeKnown--">isModeKnown</a></span>()</code>
+<div class="block">Returns true if the socket mode is not yet known.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isOutputShutdown--">isOutputShutdown</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isOutputShutdown--" title="class or interface in java.net"><code>Socket.isOutputShutdown()</code></a>.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isPlaintextSocket--">isPlaintextSocket</a></span>()</code>
+<div class="block">Returns true if the socket mode has been determined to be PLAINTEXT.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isSecureSocket--">isSecureSocket</a></span>()</code>
+<div class="block">Returns true if the socket mode has been determined to be TLS.</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#sendUrgentData-int-">sendUrgentData</a></span>(int&nbsp;data)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#sendUrgentData-int-" title="class or interface in java.net"><code>Socket.sendUrgentData(int)</code></a>.</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setKeepAlive-boolean-">setKeepAlive</a></span>(boolean&nbsp;on)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setKeepAlive-boolean-" title="class or interface in java.net"><code>Socket.setKeepAlive(boolean)</code></a>.</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setOOBInline-boolean-">setOOBInline</a></span>(boolean&nbsp;on)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setOOBInline-boolean-" title="class or interface in java.net"><code>Socket.setOOBInline(boolean)</code></a>.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setPerformancePreferences-int-int-int-">setPerformancePreferences</a></span>(int&nbsp;connectionTime,
+ int&nbsp;latency,
+ int&nbsp;bandwidth)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setPerformancePreferences-int-int-int-" title="class or interface in java.net"><code>Socket.setPerformancePreferences(int, int, int)</code></a>.</div>
+</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setReceiveBufferSize-int-">setReceiveBufferSize</a></span>(int&nbsp;size)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setReceiveBufferSize-int-" title="class or interface in java.net"><code>Socket.setReceiveBufferSize(int)</code></a>.</div>
+</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setReuseAddress-boolean-">setReuseAddress</a></span>(boolean&nbsp;on)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setReuseAddress-boolean-" title="class or interface in java.net"><code>Socket.setReuseAddress(boolean)</code></a>.</div>
+</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setSendBufferSize-int-">setSendBufferSize</a></span>(int&nbsp;size)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSendBufferSize-int-" title="class or interface in java.net"><code>Socket.setSendBufferSize(int)</code></a>.</div>
+</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setSoLinger-boolean-int-">setSoLinger</a></span>(boolean&nbsp;on,
+ int&nbsp;linger)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSoLinger-boolean-int-" title="class or interface in java.net"><code>Socket.setSoLinger(boolean, int)</code></a>.</div>
+</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setSoTimeout-int-">setSoTimeout</a></span>(int&nbsp;timeout)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSoTimeout-int-" title="class or interface in java.net"><code>Socket.setSoTimeout(int)</code></a>.</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setTcpNoDelay-boolean-">setTcpNoDelay</a></span>(boolean&nbsp;on)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTcpNoDelay-boolean-" title="class or interface in java.net"><code>Socket.setTcpNoDelay(boolean)</code></a>.</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#setTrafficClass-int-">setTrafficClass</a></span>(int&nbsp;tc)</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTrafficClass-int-" title="class or interface in java.net"><code>Socket.setTrafficClass(int)</code></a>.</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#shutdownInput--">shutdownInput</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#shutdownInput--" title="class or interface in java.net"><code>Socket.shutdownInput()</code></a>.</div>
+</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#shutdownOutput--">shutdownOutput</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#shutdownOutput--" title="class or interface in java.net"><code>Socket.shutdownOutput()</code></a>.</div>
+</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#toString--">toString</a></span>()</code>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#toString--" title="class or interface in java.net"><code>Socket.toString()</code></a>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.net.Socket">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.net.<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSocketImplFactory-java.net.SocketImplFactory-" title="class or interface in java.net">setSocketImplFactory</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="isSecureSocket--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSecureSocket</h4>
+<pre>public&nbsp;boolean&nbsp;isSecureSocket()</pre>
+<div class="block">Returns true if the socket mode has been determined to be TLS.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the mode is TLS, false if it is UNKNOWN or PLAINTEXT.</dd>
+</dl>
+</li>
+</ul>
+<a name="isPlaintextSocket--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPlaintextSocket</h4>
+<pre>public&nbsp;boolean&nbsp;isPlaintextSocket()</pre>
+<div class="block">Returns true if the socket mode has been determined to be PLAINTEXT.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the mode is PLAINTEXT, false if it is UNKNOWN or TLS.</dd>
+</dl>
+</li>
+</ul>
+<a name="isModeKnown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isModeKnown</h4>
+<pre>public&nbsp;boolean&nbsp;isModeKnown()</pre>
+<div class="block">Returns true if the socket mode is not yet known.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the mode is UNKNOWN, false if it is PLAINTEXT or TLS.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSslSocket--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSslSocket</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLSocket.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocket</a>&nbsp;getSslSocket()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Returns the underlying SSLSocket if the mode is TLS. If the mode is UNKNOWN, causes mode detection which is a
+ potentially blocking operation. If the mode ends up being PLAINTEXT, this will throw a SocketException, so
+ callers are advised to only call this method after checking that <a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html#isSecureSocket--"><code>isSecureSocket()</code></a>
+ returned true.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the underlying SSLSocket if the mode is known to be TLS.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if detecting the socket mode fails</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code> - if the mode is PLAINTEXT.</dd>
+</dl>
+</li>
+</ul>
+<a name="connect-java.net.SocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connect</h4>
+<pre>public&nbsp;void&nbsp;connect(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;endpoint)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#connect-java.net.SocketAddress-" title="class or interface in java.net"><code>Socket.connect(SocketAddress)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#connect-java.net.SocketAddress-" title="class or interface in java.net">connect</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="connect-java.net.SocketAddress-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connect</h4>
+<pre>public&nbsp;void&nbsp;connect(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;endpoint,
+ int&nbsp;timeout)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#connect-java.net.SocketAddress-int-" title="class or interface in java.net"><code>Socket.connect(SocketAddress, int)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#connect-java.net.SocketAddress-int-" title="class or interface in java.net">connect</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="bind-java.net.SocketAddress-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bind</h4>
+<pre>public&nbsp;void&nbsp;bind(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;bindpoint)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#bind-java.net.SocketAddress-" title="class or interface in java.net"><code>Socket.bind(SocketAddress)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#bind-java.net.SocketAddress-" title="class or interface in java.net">bind</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInetAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInetAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;getInetAddress()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getInetAddress--" title="class or interface in java.net"><code>Socket.getInetAddress()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getInetAddress--" title="class or interface in java.net">getInetAddress</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLocalAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLocalAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;getLocalAddress()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalAddress--" title="class or interface in java.net"><code>Socket.getLocalAddress()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalAddress--" title="class or interface in java.net">getLocalAddress</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getPort--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPort</h4>
+<pre>public&nbsp;int&nbsp;getPort()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getPort--" title="class or interface in java.net"><code>Socket.getPort()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getPort--" title="class or interface in java.net">getPort</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLocalPort--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLocalPort</h4>
+<pre>public&nbsp;int&nbsp;getLocalPort()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalPort--" title="class or interface in java.net"><code>Socket.getLocalPort()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalPort--" title="class or interface in java.net">getLocalPort</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getRemoteSocketAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRemoteSocketAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;getRemoteSocketAddress()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getRemoteSocketAddress--" title="class or interface in java.net"><code>Socket.getRemoteSocketAddress()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getRemoteSocketAddress--" title="class or interface in java.net">getRemoteSocketAddress</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLocalSocketAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLocalSocketAddress</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;getLocalSocketAddress()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalSocketAddress--" title="class or interface in java.net"><code>Socket.getLocalSocketAddress()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getLocalSocketAddress--" title="class or interface in java.net">getLocalSocketAddress</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getChannel--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getChannel</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a>&nbsp;getChannel()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getChannel--" title="class or interface in java.net"><code>Socket.getChannel()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getChannel--" title="class or interface in java.net">getChannel</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInputStream--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputStream</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;getInputStream()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getInputStream--" title="class or interface in java.net"><code>Socket.getInputStream()</code></a>. If the socket mode has not yet been detected, the first read from the
+ returned input stream will trigger mode detection, which is a potentially blocking operation. This means
+ the accept() thread should avoid reading from this input stream if possible.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getInputStream--" title="class or interface in java.net">getInputStream</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputStream--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputStream</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;getOutputStream()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getOutputStream--" title="class or interface in java.net"><code>Socket.getOutputStream()</code></a>. If the socket mode has not yet been detected, the first read from the
+ returned input stream will trigger mode detection, which is a potentially blocking operation. This means
+ the accept() thread should avoid reading from this input stream if possible.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getOutputStream--" title="class or interface in java.net">getOutputStream</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setTcpNoDelay-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTcpNoDelay</h4>
+<pre>public&nbsp;void&nbsp;setTcpNoDelay(boolean&nbsp;on)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTcpNoDelay-boolean-" title="class or interface in java.net"><code>Socket.setTcpNoDelay(boolean)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTcpNoDelay-boolean-" title="class or interface in java.net">setTcpNoDelay</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTcpNoDelay--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTcpNoDelay</h4>
+<pre>public&nbsp;boolean&nbsp;getTcpNoDelay()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getTcpNoDelay--" title="class or interface in java.net"><code>Socket.getTcpNoDelay()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getTcpNoDelay--" title="class or interface in java.net">getTcpNoDelay</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setSoLinger-boolean-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSoLinger</h4>
+<pre>public&nbsp;void&nbsp;setSoLinger(boolean&nbsp;on,
+ int&nbsp;linger)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSoLinger-boolean-int-" title="class or interface in java.net"><code>Socket.setSoLinger(boolean, int)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSoLinger-boolean-int-" title="class or interface in java.net">setSoLinger</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getSoLinger--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSoLinger</h4>
+<pre>public&nbsp;int&nbsp;getSoLinger()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSoLinger--" title="class or interface in java.net"><code>Socket.getSoLinger()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSoLinger--" title="class or interface in java.net">getSoLinger</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="sendUrgentData-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sendUrgentData</h4>
+<pre>public&nbsp;void&nbsp;sendUrgentData(int&nbsp;data)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#sendUrgentData-int-" title="class or interface in java.net"><code>Socket.sendUrgentData(int)</code></a>. Calling this method triggers mode detection, which is a potentially
+ blocking operation, so it should not be done in the accept() thread.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#sendUrgentData-int-" title="class or interface in java.net">sendUrgentData</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setOOBInline-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setOOBInline</h4>
+<pre>public&nbsp;void&nbsp;setOOBInline(boolean&nbsp;on)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setOOBInline-boolean-" title="class or interface in java.net"><code>Socket.setOOBInline(boolean)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setOOBInline-boolean-" title="class or interface in java.net">setOOBInline</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getOOBInline--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOOBInline</h4>
+<pre>public&nbsp;boolean&nbsp;getOOBInline()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getOOBInline--" title="class or interface in java.net"><code>Socket.getOOBInline()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getOOBInline--" title="class or interface in java.net">getOOBInline</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setSoTimeout-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSoTimeout</h4>
+<pre>public&nbsp;void&nbsp;setSoTimeout(int&nbsp;timeout)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSoTimeout-int-" title="class or interface in java.net"><code>Socket.setSoTimeout(int)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSoTimeout-int-" title="class or interface in java.net">setSoTimeout</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getSoTimeout--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSoTimeout</h4>
+<pre>public&nbsp;int&nbsp;getSoTimeout()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSoTimeout--" title="class or interface in java.net"><code>Socket.getSoTimeout()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSoTimeout--" title="class or interface in java.net">getSoTimeout</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setSendBufferSize-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSendBufferSize</h4>
+<pre>public&nbsp;void&nbsp;setSendBufferSize(int&nbsp;size)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSendBufferSize-int-" title="class or interface in java.net"><code>Socket.setSendBufferSize(int)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setSendBufferSize-int-" title="class or interface in java.net">setSendBufferSize</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getSendBufferSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendBufferSize</h4>
+<pre>public&nbsp;int&nbsp;getSendBufferSize()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSendBufferSize--" title="class or interface in java.net"><code>Socket.getSendBufferSize()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getSendBufferSize--" title="class or interface in java.net">getSendBufferSize</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setReceiveBufferSize-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setReceiveBufferSize</h4>
+<pre>public&nbsp;void&nbsp;setReceiveBufferSize(int&nbsp;size)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setReceiveBufferSize-int-" title="class or interface in java.net"><code>Socket.setReceiveBufferSize(int)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setReceiveBufferSize-int-" title="class or interface in java.net">setReceiveBufferSize</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getReceiveBufferSize--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReceiveBufferSize</h4>
+<pre>public&nbsp;int&nbsp;getReceiveBufferSize()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getReceiveBufferSize--" title="class or interface in java.net"><code>Socket.getReceiveBufferSize()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getReceiveBufferSize--" title="class or interface in java.net">getReceiveBufferSize</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setKeepAlive-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setKeepAlive</h4>
+<pre>public&nbsp;void&nbsp;setKeepAlive(boolean&nbsp;on)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setKeepAlive-boolean-" title="class or interface in java.net"><code>Socket.setKeepAlive(boolean)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setKeepAlive-boolean-" title="class or interface in java.net">setKeepAlive</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getKeepAlive--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeepAlive</h4>
+<pre>public&nbsp;boolean&nbsp;getKeepAlive()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getKeepAlive--" title="class or interface in java.net"><code>Socket.getKeepAlive()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getKeepAlive--" title="class or interface in java.net">getKeepAlive</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setTrafficClass-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTrafficClass</h4>
+<pre>public&nbsp;void&nbsp;setTrafficClass(int&nbsp;tc)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTrafficClass-int-" title="class or interface in java.net"><code>Socket.setTrafficClass(int)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setTrafficClass-int-" title="class or interface in java.net">setTrafficClass</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTrafficClass--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTrafficClass</h4>
+<pre>public&nbsp;int&nbsp;getTrafficClass()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getTrafficClass--" title="class or interface in java.net"><code>Socket.getTrafficClass()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getTrafficClass--" title="class or interface in java.net">getTrafficClass</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setReuseAddress-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setReuseAddress</h4>
+<pre>public&nbsp;void&nbsp;setReuseAddress(boolean&nbsp;on)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setReuseAddress-boolean-" title="class or interface in java.net"><code>Socket.setReuseAddress(boolean)</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setReuseAddress-boolean-" title="class or interface in java.net">setReuseAddress</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getReuseAddress--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReuseAddress</h4>
+<pre>public&nbsp;boolean&nbsp;getReuseAddress()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getReuseAddress--" title="class or interface in java.net"><code>Socket.getReuseAddress()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#getReuseAddress--" title="class or interface in java.net">getReuseAddress</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#close--" title="class or interface in java.net"><code>Socket.close()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#close--" title="class or interface in java.net">close</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdownInput--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdownInput</h4>
+<pre>public&nbsp;void&nbsp;shutdownInput()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#shutdownInput--" title="class or interface in java.net"><code>Socket.shutdownInput()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#shutdownInput--" title="class or interface in java.net">shutdownInput</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdownOutput--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdownOutput</h4>
+<pre>public&nbsp;void&nbsp;shutdownOutput()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#shutdownOutput--" title="class or interface in java.net"><code>Socket.shutdownOutput()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#shutdownOutput--" title="class or interface in java.net">shutdownOutput</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#toString--" title="class or interface in java.net"><code>Socket.toString()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#toString--" title="class or interface in java.net">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isConnected--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isConnected</h4>
+<pre>public&nbsp;boolean&nbsp;isConnected()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isConnected--" title="class or interface in java.net"><code>Socket.isConnected()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isConnected--" title="class or interface in java.net">isConnected</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isBound--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isBound</h4>
+<pre>public&nbsp;boolean&nbsp;isBound()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isBound--" title="class or interface in java.net"><code>Socket.isBound()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isBound--" title="class or interface in java.net">isBound</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isClosed--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isClosed</h4>
+<pre>public&nbsp;boolean&nbsp;isClosed()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isClosed--" title="class or interface in java.net"><code>Socket.isClosed()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isClosed--" title="class or interface in java.net">isClosed</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isInputShutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isInputShutdown</h4>
+<pre>public&nbsp;boolean&nbsp;isInputShutdown()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isInputShutdown--" title="class or interface in java.net"><code>Socket.isInputShutdown()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isInputShutdown--" title="class or interface in java.net">isInputShutdown</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isOutputShutdown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isOutputShutdown</h4>
+<pre>public&nbsp;boolean&nbsp;isOutputShutdown()</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isOutputShutdown--" title="class or interface in java.net"><code>Socket.isOutputShutdown()</code></a>. Calling this method does not trigger mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#isOutputShutdown--" title="class or interface in java.net">isOutputShutdown</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setPerformancePreferences-int-int-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setPerformancePreferences</h4>
+<pre>public&nbsp;void&nbsp;setPerformancePreferences(int&nbsp;connectionTime,
+ int&nbsp;latency,
+ int&nbsp;bandwidth)</pre>
+<div class="block">See <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setPerformancePreferences-int-int-int-" title="class or interface in java.net"><code>Socket.setPerformancePreferences(int, int, int)</code></a>. Calling this method does not trigger
+ mode detection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true#setPerformancePreferences-int-int-int-" title="class or interface in java.net">setPerformancePreferences</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnifiedServerSocket.UnifiedSocket.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" target="_top">Frames</a></li>
+<li><a href="UnifiedServerSocket.UnifiedSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.html
new file mode 100644
index 000000000..8c0615053
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UnifiedServerSocket.html
@@ -0,0 +1,453 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnifiedServerSocket (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="UnifiedServerSocket (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnifiedServerSocket.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" target="_top">Frames</a></li>
+<li><a href="UnifiedServerSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class UnifiedServerSocket" class="title">Class UnifiedServerSocket</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net">java.net.ServerSocket</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.UnifiedServerSocket</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">UnifiedServerSocket</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net">ServerSocket</a></pre>
+<div class="block">A ServerSocket that can act either as a regular ServerSocket, as a SSLServerSocket, or as both, depending on
+ the constructor parameters and on the type of client (TLS or plaintext) that connects to it.
+ The constructors have the same signature as constructors of ServerSocket, with the addition of two parameters
+ at the beginning:
+ <ul>
+ <li>X509Util - provides the SSL context to construct a secure socket when a client connects with TLS.</li>
+ <li>boolean allowInsecureConnection - when true, acts as a hybrid server socket (plaintext / TLS). When
+ false, acts as a SSLServerSocket (rejects plaintext connections).</li>
+ </ul>
+ The <code>!allowInsecureConnection</code> mode is needed so we can update the SSLContext (in particular, the
+ key store and/or trust store) without having to re-create the server socket. By starting with a plaintext socket
+ and delaying the upgrade to TLS until after a client has connected and begins a handshake, we can keep the same
+ UnifiedServerSocket instance around, and replace the default SSLContext in the provided X509Util when the key store
+ and/or trust store file changes on disk.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum">UnifiedServerSocket.UnifiedSocket</a></span></code>
+<div class="block">The result of calling accept() on a UnifiedServerSocket.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html#UnifiedServerSocket-org.apache.zookeeper.common.X509Util-boolean-">UnifiedServerSocket</a></span>(<a href="../../../../../org/apache/zookeeper/common/X509Util.html" title="class in org.apache.zookeeper.common">X509Util</a>&nbsp;x509Util,
+ boolean&nbsp;allowInsecureConnection)</code>
+<div class="block">Creates an unbound unified server socket by calling <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket--" title="class or interface in java.net"><code>ServerSocket()</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html#UnifiedServerSocket-org.apache.zookeeper.common.X509Util-boolean-int-">UnifiedServerSocket</a></span>(<a href="../../../../../org/apache/zookeeper/common/X509Util.html" title="class in org.apache.zookeeper.common">X509Util</a>&nbsp;x509Util,
+ boolean&nbsp;allowInsecureConnection,
+ int&nbsp;port)</code>
+<div class="block">Creates a unified server socket bound to the specified port by calling <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-" title="class or interface in java.net"><code>ServerSocket(int)</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html#UnifiedServerSocket-org.apache.zookeeper.common.X509Util-boolean-int-int-">UnifiedServerSocket</a></span>(<a href="../../../../../org/apache/zookeeper/common/X509Util.html" title="class in org.apache.zookeeper.common">X509Util</a>&nbsp;x509Util,
+ boolean&nbsp;allowInsecureConnection,
+ int&nbsp;port,
+ int&nbsp;backlog)</code>
+<div class="block">Creates a unified server socket bound to the specified port, with the specified backlog, by calling
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-int-" title="class or interface in java.net"><code>ServerSocket(int, int)</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html#UnifiedServerSocket-org.apache.zookeeper.common.X509Util-boolean-int-int-java.net.InetAddress-">UnifiedServerSocket</a></span>(<a href="../../../../../org/apache/zookeeper/common/X509Util.html" title="class in org.apache.zookeeper.common">X509Util</a>&nbsp;x509Util,
+ boolean&nbsp;allowInsecureConnection,
+ int&nbsp;port,
+ int&nbsp;backlog,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;bindAddr)</code>
+<div class="block">Creates a unified server socket bound to the specified port, with the specified backlog, and local IP address
+ to bind to, by calling <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-int-java.net.InetAddress-" title="class or interface in java.net"><code>ServerSocket(int, int, InetAddress)</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html#accept--">accept</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.net.ServerSocket">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.net.<a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net">ServerSocket</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#bind-java.net.SocketAddress-" title="class or interface in java.net">bind</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#bind-java.net.SocketAddress-int-" title="class or interface in java.net">bind</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#close--" title="class or interface in java.net">close</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#getChannel--" title="class or interface in java.net">getChannel</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#getInetAddress--" title="class or interface in java.net">getInetAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#getLocalPort--" title="class or interface in java.net">getLocalPort</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#getLocalSocketAddress--" title="class or interface in java.net">getLocalSocketAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#getReceiveBufferSize--" title="class or interface in java.net">getReceiveBufferSize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#getReuseAddress--" title="class or interface in java.net">getReuseAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#getSoTimeout--" title="class or interface in java.net">getSoTimeout</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#implAccept-java.net.Socket-" title="class or interface in java.net">implAccept</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#isBound--" title="class or interface in java.net">isBound</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#isClosed--" title="class or interface in java.net">isClosed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#setPerformancePreferences-int-int-int-" title="class or interface in java.net">setPerformancePreferences</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#setReceiveBufferSize-int-" title="class or interface in java.net">setReceiveBufferSize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#setReuseAddress-boolean-" title="class or interface in java.net">setReuseAddress</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#setSocketFactory-java.net.SocketImplFactory-" title="class or interface in java.net">setSocketFactory</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#setSoTimeout-int-" title="class or interface in java.net">setSoTimeout</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#toString--" title="class or interface in java.net">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="UnifiedServerSocket-org.apache.zookeeper.common.X509Util-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UnifiedServerSocket</h4>
+<pre>public&nbsp;UnifiedServerSocket(<a href="../../../../../org/apache/zookeeper/common/X509Util.html" title="class in org.apache.zookeeper.common">X509Util</a>&nbsp;x509Util,
+ boolean&nbsp;allowInsecureConnection)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Creates an unbound unified server socket by calling <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket--" title="class or interface in java.net"><code>ServerSocket()</code></a>.
+ Secure client connections will be upgraded to TLS once this socket detects the ClientHello message (start of a
+ TLS handshake). Plaintext client connections will either be accepted or rejected depending on the value of
+ the <code>allowInsecureConnection</code> parameter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>x509Util</code> - the X509Util that provides the SSLContext to use for secure connections.</dd>
+<dd><code>allowInsecureConnection</code> - if true, accept plaintext connections, otherwise close them.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket--" title="class or interface in java.net"><code>ServerSocket()</code></a> throws.</dd>
+</dl>
+</li>
+</ul>
+<a name="UnifiedServerSocket-org.apache.zookeeper.common.X509Util-boolean-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UnifiedServerSocket</h4>
+<pre>public&nbsp;UnifiedServerSocket(<a href="../../../../../org/apache/zookeeper/common/X509Util.html" title="class in org.apache.zookeeper.common">X509Util</a>&nbsp;x509Util,
+ boolean&nbsp;allowInsecureConnection,
+ int&nbsp;port)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Creates a unified server socket bound to the specified port by calling <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-" title="class or interface in java.net"><code>ServerSocket(int)</code></a>.
+ Secure client connections will be upgraded to TLS once this socket detects the ClientHello message (start of a
+ TLS handshake). Plaintext client connections will either be accepted or rejected depending on the value of
+ the <code>allowInsecureConnection</code> parameter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>x509Util</code> - the X509Util that provides the SSLContext to use for secure connections.</dd>
+<dd><code>allowInsecureConnection</code> - if true, accept plaintext connections, otherwise close them.</dd>
+<dd><code>port</code> - the port number, or <code>0</code> to use a port number that is automatically allocated.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-" title="class or interface in java.net"><code>ServerSocket(int)</code></a> throws.</dd>
+</dl>
+</li>
+</ul>
+<a name="UnifiedServerSocket-org.apache.zookeeper.common.X509Util-boolean-int-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UnifiedServerSocket</h4>
+<pre>public&nbsp;UnifiedServerSocket(<a href="../../../../../org/apache/zookeeper/common/X509Util.html" title="class in org.apache.zookeeper.common">X509Util</a>&nbsp;x509Util,
+ boolean&nbsp;allowInsecureConnection,
+ int&nbsp;port,
+ int&nbsp;backlog)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Creates a unified server socket bound to the specified port, with the specified backlog, by calling
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-int-" title="class or interface in java.net"><code>ServerSocket(int, int)</code></a>.
+ Secure client connections will be upgraded to TLS once this socket detects the ClientHello message (start of a
+ TLS handshake). Plaintext client connections will either be accepted or rejected depending on the value of
+ the <code>allowInsecureConnection</code> parameter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>x509Util</code> - the X509Util that provides the SSLContext to use for secure connections.</dd>
+<dd><code>allowInsecureConnection</code> - if true, accept plaintext connections, otherwise close them.</dd>
+<dd><code>port</code> - the port number, or <code>0</code> to use a port number that is automatically allocated.</dd>
+<dd><code>backlog</code> - requested maximum length of the queue of incoming connections.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-int-" title="class or interface in java.net"><code>ServerSocket(int, int)</code></a> throws.</dd>
+</dl>
+</li>
+</ul>
+<a name="UnifiedServerSocket-org.apache.zookeeper.common.X509Util-boolean-int-int-java.net.InetAddress-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UnifiedServerSocket</h4>
+<pre>public&nbsp;UnifiedServerSocket(<a href="../../../../../org/apache/zookeeper/common/X509Util.html" title="class in org.apache.zookeeper.common">X509Util</a>&nbsp;x509Util,
+ boolean&nbsp;allowInsecureConnection,
+ int&nbsp;port,
+ int&nbsp;backlog,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;bindAddr)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Creates a unified server socket bound to the specified port, with the specified backlog, and local IP address
+ to bind to, by calling <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-int-java.net.InetAddress-" title="class or interface in java.net"><code>ServerSocket(int, int, InetAddress)</code></a>.
+ Secure client connections will be upgraded to TLS once this socket detects the ClientHello message (start of a
+ TLS handshake). Plaintext client connections will either be accepted or rejected depending on the value of
+ the <code>allowInsecureConnection</code> parameter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>x509Util</code> - the X509Util that provides the SSLContext to use for secure connections.</dd>
+<dd><code>allowInsecureConnection</code> - if true, accept plaintext connections, otherwise close them.</dd>
+<dd><code>port</code> - the port number, or <code>0</code> to use a port number that is automatically allocated.</dd>
+<dd><code>backlog</code> - requested maximum length of the queue of incoming connections.</dd>
+<dd><code>bindAddr</code> - the local InetAddress the server will bind to.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if <a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#ServerSocket-int-int-java.net.InetAddress-" title="class or interface in java.net"><code>ServerSocket(int, int, InetAddress)</code></a> throws.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="accept--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;accept()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true#accept--" title="class or interface in java.net">accept</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net">ServerSocket</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnifiedServerSocket.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" target="_top">Frames</a></li>
+<li><a href="UnifiedServerSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html
new file mode 100644
index 000000000..c8db258e2
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html
@@ -0,0 +1,570 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UpgradeableSessionTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="UpgradeableSessionTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":6,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UpgradeableSessionTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="UpgradeableSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class UpgradeableSessionTracker" class="title">Class UpgradeableSessionTracker</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.UpgradeableSessionTracker</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LeaderSessionTracker</a>, <a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LearnerSessionTracker</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">UpgradeableSessionTracker</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></pre>
+<div class="block">A session tracker that supports upgradeable local sessions.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.server.SessionTracker">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.Session.html" title="interface in org.apache.zookeeper.server">SessionTracker.Session</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessionsEnabled">localSessionsEnabled</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LocalSessionTracker</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessionTracker">localSessionTracker</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#UpgradeableSessionTracker--">UpgradeableSessionTracker</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#checkGlobalSession-long-java.lang.Object-">checkGlobalSession</a></span>(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)</code>
+<div class="block">Strictly check that a given session is a global session or not</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#createLocalSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-int-long-org.apache.zookeeper.server.ZooKeeperServerListener-">createLocalSessionTracker</a></span>(<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>&nbsp;expirer,
+ int&nbsp;tickTime,
+ long&nbsp;id,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#finishedUpgrading-long-">finishedUpgrading</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#getLocalSessionCount--">getLocalSessionCount</a></span>()</code>
+<div class="block">If this session tracker supports local sessions, return how many.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isGlobalSession-long-">isGlobalSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isLocalSession-long-">isLocalSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isLocalSessionsEnabled--">isLocalSessionsEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isTrackingSession-long-">isTrackingSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#isUpgradingSession-long-">isUpgradingSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessions--">localSessions</a></span>()</code>
+<div class="block">Get a set of local session IDs</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#removeLocalSession-long-">removeLocalSession</a></span>(long&nbsp;sessionId)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#start--">start</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#upgradeSession-long-">upgradeSession</a></span>(long&nbsp;sessionId)</code>
+<div class="block">Upgrades the session to a global session.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.SessionTracker">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></h3>
+<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#checkSession-long-java.lang.Object-">checkSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#commitSession-long-int-">commitSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#createSession-int-">createSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#dumpSessions-java.io.PrintWriter-">dumpSessions</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#getSessionExpiryMap--">getSessionExpiryMap</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#globalSessions--">globalSessions</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#removeSession-long-">removeSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#setOwner-long-java.lang.Object-">setOwner</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#setSessionClosing-long-">setSessionClosing</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#touchSession-long-int-">touchSession</a>, <a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#trackSession-long-int-">trackSession</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="localSessionTracker">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>localSessionTracker</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LocalSessionTracker</a> localSessionTracker</pre>
+</li>
+</ul>
+<a name="localSessionsEnabled">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>localSessionsEnabled</h4>
+<pre>protected&nbsp;boolean localSessionsEnabled</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="UpgradeableSessionTracker--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UpgradeableSessionTracker</h4>
+<pre>public&nbsp;UpgradeableSessionTracker()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="start--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+</li>
+</ul>
+<a name="createLocalSessionTracker-org.apache.zookeeper.server.SessionTracker.SessionExpirer-int-long-org.apache.zookeeper.server.ZooKeeperServerListener-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createLocalSessionTracker</h4>
+<pre>public&nbsp;void&nbsp;createLocalSessionTracker(<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>&nbsp;expirer,
+ int&nbsp;tickTime,
+ long&nbsp;id,
+ <a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerListener.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerListener</a>&nbsp;listener)</pre>
+</li>
+</ul>
+<a name="isTrackingSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isTrackingSession</h4>
+<pre>public&nbsp;boolean&nbsp;isTrackingSession(long&nbsp;sessionId)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#isTrackingSession-long-">isTrackingSession</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether or not the SessionTracker is aware of this session</dd>
+</dl>
+</li>
+</ul>
+<a name="isLocalSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLocalSession</h4>
+<pre>public&nbsp;boolean&nbsp;isLocalSession(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="isLocalSessionsEnabled--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLocalSessionsEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isLocalSessionsEnabled()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#isLocalSessionsEnabled--">isLocalSessionsEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isUpgradingSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isUpgradingSession</h4>
+<pre>public&nbsp;boolean&nbsp;isUpgradingSession(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="finishedUpgrading-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>finishedUpgrading</h4>
+<pre>public&nbsp;void&nbsp;finishedUpgrading(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="isGlobalSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isGlobalSession</h4>
+<pre>public abstract&nbsp;boolean&nbsp;isGlobalSession(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="upgradeSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>upgradeSession</h4>
+<pre>public&nbsp;int&nbsp;upgradeSession(long&nbsp;sessionId)</pre>
+<div class="block">Upgrades the session to a global session.
+ This simply removes the session from the local tracker and marks
+ it as global. It is up to the caller to actually
+ queue up a transaction for the session.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sessionId</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>session timeout (-1 if not a local session)</dd>
+</dl>
+</li>
+</ul>
+<a name="removeLocalSession-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeLocalSession</h4>
+<pre>protected&nbsp;void&nbsp;removeLocalSession(long&nbsp;sessionId)</pre>
+</li>
+</ul>
+<a name="checkGlobalSession-long-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkGlobalSession</h4>
+<pre>public&nbsp;void&nbsp;checkGlobalSession(long&nbsp;sessionId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;owner)
+ throws <a href="../../../../../org/apache/zookeeper/KeeperException.SessionExpiredException.html" title="class in org.apache.zookeeper">KeeperException.SessionExpiredException</a>,
+ <a href="../../../../../org/apache/zookeeper/KeeperException.SessionMovedException.html" title="class in org.apache.zookeeper">KeeperException.SessionMovedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#checkGlobalSession-long-java.lang.Object-">SessionTracker</a></code></span></div>
+<div class="block">Strictly check that a given session is a global session or not</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#checkGlobalSession-long-java.lang.Object-">checkGlobalSession</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>KeeperException.SessionExpiredException</code></dd>
+<dd><code>KeeperException.SessionMovedException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLocalSessionCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLocalSessionCount</h4>
+<pre>public&nbsp;long&nbsp;getLocalSessionCount()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#getLocalSessionCount--">SessionTracker</a></code></span></div>
+<div class="block">If this session tracker supports local sessions, return how many.
+ otherwise returns 0;</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#getLocalSessionCount--">getLocalSessionCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="localSessions--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>localSessions</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;localSessions()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#localSessions--">SessionTracker</a></code></span></div>
+<div class="block">Get a set of local session IDs</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html#localSessions--">localSessions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UpgradeableSessionTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="UpgradeableSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Vote.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Vote.html
new file mode 100644
index 000000000..186928789
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/Vote.html
@@ -0,0 +1,467 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Vote (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Vote (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Vote.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Vote.html" target="_top">Frames</a></li>
+<li><a href="Vote.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum</div>
+<h2 title="Class Vote" class="title">Class Vote</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.Vote</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Vote</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#Vote-int-long-long-long-long-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">Vote</a></span>(int&nbsp;version,
+ long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;electionEpoch,
+ long&nbsp;peerEpoch,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#Vote-long-long-">Vote</a></span>(long&nbsp;id,
+ long&nbsp;zxid)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#Vote-long-long-long-">Vote</a></span>(long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;peerEpoch)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#Vote-long-long-long-long-">Vote</a></span>(long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;electionEpoch,
+ long&nbsp;peerEpoch)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#Vote-long-long-long-long-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">Vote</a></span>(long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;electionEpoch,
+ long&nbsp;peerEpoch,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#getElectionEpoch--">getElectionEpoch</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#getId--">getId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#getPeerEpoch--">getPeerEpoch</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#getVersion--">getVersion</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#getZxid--">getZxid</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Vote-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Vote</h4>
+<pre>public&nbsp;Vote(long&nbsp;id,
+ long&nbsp;zxid)</pre>
+</li>
+</ul>
+<a name="Vote-long-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Vote</h4>
+<pre>public&nbsp;Vote(long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;peerEpoch)</pre>
+</li>
+</ul>
+<a name="Vote-long-long-long-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Vote</h4>
+<pre>public&nbsp;Vote(long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;electionEpoch,
+ long&nbsp;peerEpoch)</pre>
+</li>
+</ul>
+<a name="Vote-int-long-long-long-long-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Vote</h4>
+<pre>public&nbsp;Vote(int&nbsp;version,
+ long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;electionEpoch,
+ long&nbsp;peerEpoch,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;state)</pre>
+</li>
+</ul>
+<a name="Vote-long-long-long-long-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Vote</h4>
+<pre>public&nbsp;Vote(long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;electionEpoch,
+ long&nbsp;peerEpoch,
+ <a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;state)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getVersion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVersion</h4>
+<pre>public&nbsp;int&nbsp;getVersion()</pre>
+</li>
+</ul>
+<a name="getId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre>public&nbsp;long&nbsp;getId()</pre>
+</li>
+</ul>
+<a name="getZxid--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getZxid</h4>
+<pre>public&nbsp;long&nbsp;getZxid()</pre>
+</li>
+</ul>
+<a name="getElectionEpoch--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElectionEpoch</h4>
+<pre>public&nbsp;long&nbsp;getElectionEpoch()</pre>
+</li>
+</ul>
+<a name="getPeerEpoch--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeerEpoch</h4>
+<pre>public&nbsp;long&nbsp;getPeerEpoch()</pre>
+</li>
+</ul>
+<a name="getState--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;getState()</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Vote.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/Vote.html" target="_top">Frames</a></li>
+<li><a href="Vote.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html
new file mode 100644
index 000000000..f16e079a2
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html
@@ -0,0 +1,293 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>NullQuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="NullQuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/NullQuorumAuthLearner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="NullQuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Class NullQuorumAuthLearner" class="title">Class NullQuorumAuthLearner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">NullQuorumAuthLearner</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></pre>
+<div class="block">This class represents no authentication learner, it just return
+ without performing any authentication.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html#NullQuorumAuthLearner--">NullQuorumAuthLearner</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html#authenticate-java.net.Socket-java.lang.String-">authenticate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)</code>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="NullQuorumAuthLearner--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>NullQuorumAuthLearner</h4>
+<pre>public&nbsp;NullQuorumAuthLearner()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="authenticate-java.net.Socket-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>authenticate</h4>
+<pre>public&nbsp;void&nbsp;authenticate(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html#authenticate-java.net.Socket-java.lang.String-">QuorumAuthLearner</a></code></span></div>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html#authenticate-java.net.Socket-java.lang.String-">authenticate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sock</code> - socket connection to other quorum peer server</dd>
+<dd><code>hostname</code> - host name of other quorum peer server</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/NullQuorumAuthLearner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="NullQuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html
new file mode 100644
index 000000000..fa97a1c6e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html
@@ -0,0 +1,293 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>NullQuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="NullQuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/NullQuorumAuthServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="NullQuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Class NullQuorumAuthServer" class="title">Class NullQuorumAuthServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">NullQuorumAuthServer</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></pre>
+<div class="block">This class represents no authentication server, it just return
+ without performing any authentication.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html#NullQuorumAuthServer--">NullQuorumAuthServer</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html#authenticate-java.net.Socket-java.io.DataInputStream-">authenticate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)</code>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="NullQuorumAuthServer--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>NullQuorumAuthServer</h4>
+<pre>public&nbsp;NullQuorumAuthServer()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="authenticate-java.net.Socket-java.io.DataInputStream-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>authenticate</h4>
+<pre>public&nbsp;void&nbsp;authenticate(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html#authenticate-java.net.Socket-java.io.DataInputStream-">QuorumAuthServer</a></code></span></div>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html#authenticate-java.net.Socket-java.io.DataInputStream-">authenticate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sock</code> - socket connection to other quorum peer</dd>
+<dd><code>din</code> - stream used to read auth data send by the quorum learner</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/NullQuorumAuthServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="NullQuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html
new file mode 100644
index 000000000..e394b6b7e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html
@@ -0,0 +1,359 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumAuth.Status (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumAuth.Status (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumAuth.Status.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuth.Status.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Enum QuorumAuth.Status" class="title">Enum QuorumAuth.Status</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.auth.QuorumAuth.Status</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth">QuorumAuth</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">QuorumAuth.Status</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!-- -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html#ERROR">ERROR</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html#IN_PROGRESS">IN_PROGRESS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html#SUCCESS">SUCCESS</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!-- -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="IN_PROGRESS">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IN_PROGRESS</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a> IN_PROGRESS</pre>
+</li>
+</ul>
+<a name="SUCCESS">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SUCCESS</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a> SUCCESS</pre>
+</li>
+</ul>
+<a name="ERROR">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ERROR</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a> ERROR</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared. This method may be used to iterate
+over the constants as follows:
+<pre>
+for (QuorumAuth.Status c : QuorumAuth.Status.values())
+&nbsp; System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumAuth.Status.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuth.Status.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.html
new file mode 100644
index 000000000..9fd910b32
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuth.html
@@ -0,0 +1,505 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumAuth (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumAuth (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumAuth.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuth.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Class QuorumAuth" class="title">Class QuorumAuth</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.auth.QuorumAuth</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumAuth</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_AUTH_MAGIC_NUMBER">QUORUM_AUTH_MAGIC_NUMBER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_KERBEROS_SERVICE_PRINCIPAL">QUORUM_KERBEROS_SERVICE_PRINCIPAL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_KERBEROS_SERVICE_PRINCIPAL_DEFAULT_VALUE">QUORUM_KERBEROS_SERVICE_PRINCIPAL_DEFAULT_VALUE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_LEARNER_SASL_AUTH_REQUIRED">QUORUM_LEARNER_SASL_AUTH_REQUIRED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_LEARNER_SASL_LOGIN_CONTEXT">QUORUM_LEARNER_SASL_LOGIN_CONTEXT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_LEARNER_SASL_LOGIN_CONTEXT_DFAULT_VALUE">QUORUM_LEARNER_SASL_LOGIN_CONTEXT_DFAULT_VALUE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_SASL_AUTH_ENABLED">QUORUM_SASL_AUTH_ENABLED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_SERVER_SASL_AUTH_REQUIRED">QUORUM_SERVER_SASL_AUTH_REQUIRED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_SERVER_SASL_LOGIN_CONTEXT">QUORUM_SERVER_SASL_LOGIN_CONTEXT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QUORUM_SERVER_SASL_LOGIN_CONTEXT_DFAULT_VALUE">QUORUM_SERVER_SASL_LOGIN_CONTEXT_DFAULT_VALUE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#QuorumAuth--">QuorumAuth</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumAuthPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumAuthPacket</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#createPacket-org.apache.zookeeper.server.quorum.auth.QuorumAuth.Status-byte:A-">createPacket</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>&nbsp;status,
+ byte[]&nbsp;response)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#nextPacketIsAuth-java.io.DataInputStream-">nextPacketIsAuth</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="QUORUM_SASL_AUTH_ENABLED">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_SASL_AUTH_ENABLED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_SASL_AUTH_ENABLED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_SASL_AUTH_ENABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_SERVER_SASL_AUTH_REQUIRED">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_SERVER_SASL_AUTH_REQUIRED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_SERVER_SASL_AUTH_REQUIRED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_SERVER_SASL_AUTH_REQUIRED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_LEARNER_SASL_AUTH_REQUIRED">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_LEARNER_SASL_AUTH_REQUIRED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_LEARNER_SASL_AUTH_REQUIRED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_LEARNER_SASL_AUTH_REQUIRED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_KERBEROS_SERVICE_PRINCIPAL">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_KERBEROS_SERVICE_PRINCIPAL</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_KERBEROS_SERVICE_PRINCIPAL</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_KERBEROS_SERVICE_PRINCIPAL">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_KERBEROS_SERVICE_PRINCIPAL_DEFAULT_VALUE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_KERBEROS_SERVICE_PRINCIPAL_DEFAULT_VALUE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_KERBEROS_SERVICE_PRINCIPAL_DEFAULT_VALUE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_KERBEROS_SERVICE_PRINCIPAL_DEFAULT_VALUE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_LEARNER_SASL_LOGIN_CONTEXT">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_LEARNER_SASL_LOGIN_CONTEXT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_LEARNER_SASL_LOGIN_CONTEXT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_LEARNER_SASL_LOGIN_CONTEXT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_LEARNER_SASL_LOGIN_CONTEXT_DFAULT_VALUE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_LEARNER_SASL_LOGIN_CONTEXT_DFAULT_VALUE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_LEARNER_SASL_LOGIN_CONTEXT_DFAULT_VALUE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_LEARNER_SASL_LOGIN_CONTEXT_DFAULT_VALUE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_SERVER_SASL_LOGIN_CONTEXT">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_SERVER_SASL_LOGIN_CONTEXT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_SERVER_SASL_LOGIN_CONTEXT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_SERVER_SASL_LOGIN_CONTEXT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_SERVER_SASL_LOGIN_CONTEXT_DFAULT_VALUE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUORUM_SERVER_SASL_LOGIN_CONTEXT_DFAULT_VALUE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUORUM_SERVER_SASL_LOGIN_CONTEXT_DFAULT_VALUE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_SERVER_SASL_LOGIN_CONTEXT_DFAULT_VALUE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="QUORUM_AUTH_MAGIC_NUMBER">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QUORUM_AUTH_MAGIC_NUMBER</h4>
+<pre>public static final&nbsp;long QUORUM_AUTH_MAGIC_NUMBER</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.zookeeper.server.quorum.auth.QuorumAuth.QUORUM_AUTH_MAGIC_NUMBER">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumAuth--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumAuth</h4>
+<pre>public&nbsp;QuorumAuth()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="createPacket-org.apache.zookeeper.server.quorum.auth.QuorumAuth.Status-byte:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createPacket</h4>
+<pre>public static&nbsp;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumAuthPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumAuthPacket</a>&nbsp;createPacket(<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>&nbsp;status,
+ byte[]&nbsp;response)</pre>
+</li>
+</ul>
+<a name="nextPacketIsAuth-java.io.DataInputStream-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>nextPacketIsAuth</h4>
+<pre>public static&nbsp;boolean&nbsp;nextPacketIsAuth(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumAuth.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuth.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html
new file mode 100644
index 000000000..a93e9c7f6
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumAuthLearner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Interface QuorumAuthLearner" class="title">Interface QuorumAuthLearner</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">NullQuorumAuthLearner</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">SaslQuorumAuthLearner</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">QuorumAuthLearner</span></pre>
+<div class="block">Interface for quorum learner authentication mechanisms.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html#authenticate-java.net.Socket-java.lang.String-">authenticate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)</code>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="authenticate-java.net.Socket-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>authenticate</h4>
+<pre>void&nbsp;authenticate(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sock</code> - socket connection to other quorum peer server</dd>
+<dd><code>hostname</code> - host name of other quorum peer server</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if there is an authentication failure</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumAuthLearner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html
new file mode 100644
index 000000000..d47835125
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumAuthServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Interface QuorumAuthServer" class="title">Interface QuorumAuthServer</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">NullQuorumAuthServer</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">SaslQuorumAuthServer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">QuorumAuthServer</span></pre>
+<div class="block">Interface for quorum server authentication mechanisms.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html#authenticate-java.net.Socket-java.io.DataInputStream-">authenticate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)</code>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="authenticate-java.net.Socket-java.io.DataInputStream-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>authenticate</h4>
+<pre>void&nbsp;authenticate(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sock</code> - socket connection to other quorum peer</dd>
+<dd><code>din</code> - stream used to read auth data send by the quorum learner</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the server fails to authenticate connecting quorum learner</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumAuthServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html
new file mode 100644
index 000000000..ea10f0d0d
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html
@@ -0,0 +1,303 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SaslQuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SaslQuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SaslQuorumAuthLearner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Class SaslQuorumAuthLearner" class="title">Class SaslQuorumAuthLearner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SaslQuorumAuthLearner</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html#SaslQuorumAuthLearner-boolean-java.lang.String-java.lang.String-">SaslQuorumAuthLearner</a></span>(boolean&nbsp;quorumRequireSasl,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;quorumServicePrincipal,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;loginContext)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html#authenticate-java.net.Socket-java.lang.String-">authenticate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostName)</code>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SaslQuorumAuthLearner-boolean-java.lang.String-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SaslQuorumAuthLearner</h4>
+<pre>public&nbsp;SaslQuorumAuthLearner(boolean&nbsp;quorumRequireSasl,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;quorumServicePrincipal,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;loginContext)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="authenticate-java.net.Socket-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>authenticate</h4>
+<pre>public&nbsp;void&nbsp;authenticate(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostName)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html#authenticate-java.net.Socket-java.lang.String-">QuorumAuthLearner</a></code></span></div>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html#authenticate-java.net.Socket-java.lang.String-">authenticate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sock</code> - socket connection to other quorum peer server</dd>
+<dd><code>hostName</code> - host name of other quorum peer server</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if there is an authentication failure</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SaslQuorumAuthLearner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html
new file mode 100644
index 000000000..54dd2b498
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html
@@ -0,0 +1,303 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SaslQuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SaslQuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SaslQuorumAuthServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Class SaslQuorumAuthServer" class="title">Class SaslQuorumAuthServer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SaslQuorumAuthServer</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html#SaslQuorumAuthServer-boolean-java.lang.String-java.util.Set-">SaslQuorumAuthServer</a></span>(boolean&nbsp;quorumRequireSasl,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;loginContext,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;authzHosts)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html#authenticate-java.net.Socket-java.io.DataInputStream-">authenticate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)</code>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SaslQuorumAuthServer-boolean-java.lang.String-java.util.Set-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SaslQuorumAuthServer</h4>
+<pre>public&nbsp;SaslQuorumAuthServer(boolean&nbsp;quorumRequireSasl,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;loginContext,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;authzHosts)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="authenticate-java.net.Socket-java.io.DataInputStream-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>authenticate</h4>
+<pre>public&nbsp;void&nbsp;authenticate(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html#authenticate-java.net.Socket-java.io.DataInputStream-">QuorumAuthServer</a></code></span></div>
+<div class="block">Performs an authentication step for the given socket connection.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html#authenticate-java.net.Socket-java.io.DataInputStream-">authenticate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sock</code> - socket connection to other quorum peer</dd>
+<dd><code>din</code> - stream used to read auth data send by the quorum learner</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SaslQuorumAuthServer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html
new file mode 100644
index 000000000..391d4dc09
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SaslQuorumServerCallbackHandler (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SaslQuorumServerCallbackHandler (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SaslQuorumServerCallbackHandler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumServerCallbackHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.auth</div>
+<h2 title="Class SaslQuorumServerCallbackHandler" class="title">Class SaslQuorumServerCallbackHandler</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.auth.SaslQuorumServerCallbackHandler</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SaslQuorumServerCallbackHandler</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a></pre>
+<div class="block">This is used by the SASL mechanisms to get further information to complete
+ the authentication. For example, a SASL mechanism might use this callback
+ handler to do verification operation. This is used by the QuorumServer to
+ perform the mutual quorum peer authentication.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html#SaslQuorumServerCallbackHandler-javax.security.auth.login.Configuration-java.lang.String-java.util.Set-">SaslQuorumServerCallbackHandler</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/login/Configuration.html?is-external=true" title="class or interface in javax.security.auth.login">Configuration</a>&nbsp;configuration,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverSection,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;authzHosts)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html#handle-javax.security.auth.callback.Callback:A-">handle</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SaslQuorumServerCallbackHandler-javax.security.auth.login.Configuration-java.lang.String-java.util.Set-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SaslQuorumServerCallbackHandler</h4>
+<pre>public&nbsp;SaslQuorumServerCallbackHandler(<a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/login/Configuration.html?is-external=true" title="class or interface in javax.security.auth.login">Configuration</a>&nbsp;configuration,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverSection,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;authzHosts)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="handle-javax.security.auth.callback.Callback:A-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>handle</h4>
+<pre>public&nbsp;void&nbsp;handle(<a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/UnsupportedCallbackException.html?is-external=true" title="class or interface in javax.security.auth.callback">UnsupportedCallbackException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true#handle-javax.security.auth.callback.Callback:A-" title="class or interface in javax.security.auth.callback">handle</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/UnsupportedCallbackException.html?is-external=true" title="class or interface in javax.security.auth.callback">UnsupportedCallbackException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SaslQuorumServerCallbackHandler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumServerCallbackHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html
new file mode 100644
index 000000000..7b944ae92
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="NullQuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="NullQuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html
new file mode 100644
index 000000000..d2d12314c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="NullQuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/NullQuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="NullQuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html
new file mode 100644
index 000000000..a341f2b7a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.auth.QuorumAuth.Status (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.auth.QuorumAuth.Status (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuth.Status.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.auth.QuorumAuth.Status" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.auth.QuorumAuth.Status</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.auth">org.apache.zookeeper.server.quorum.auth</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.auth">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a> that return <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumAuth.Status.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumAuth.Status.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a> with parameters of type <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumAuthPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumAuthPacket</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumAuth.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html#createPacket-org.apache.zookeeper.server.quorum.auth.QuorumAuth.Status-byte:A-">createPacket</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>&nbsp;status,
+ byte[]&nbsp;response)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuth.Status.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html
new file mode 100644
index 000000000..d2e8ba68b
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.auth.QuorumAuth (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.auth.QuorumAuth (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuth.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.auth.QuorumAuth" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.auth.QuorumAuth</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.auth.QuorumAuth</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuth.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html
new file mode 100644
index 000000000..cbba2b621
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.auth">org.apache.zookeeper.server.quorum.auth</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#QuorumCnxManager-org.apache.zookeeper.server.quorum.QuorumPeer-long-java.util.Map-org.apache.zookeeper.server.quorum.auth.QuorumAuthServer-org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner-int-boolean-int-boolean-">QuorumCnxManager</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ long&nbsp;mySid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;view,
+ <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>&nbsp;authServer,
+ <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>&nbsp;authLearner,
+ int&nbsp;socketTimeout,
+ boolean&nbsp;listenOnAllIPs,
+ int&nbsp;quorumCnxnThreadsSize,
+ boolean&nbsp;quorumSaslAuthEnabled)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.auth">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a> that implement <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">NullQuorumAuthLearner</a></span></code>
+<div class="block">This class represents no authentication learner, it just return
+ without performing any authentication.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">SaslQuorumAuthLearner</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html
new file mode 100644
index 000000000..00a6a3781
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.auth.QuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.auth.QuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.auth.QuorumAuthServer" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.auth.QuorumAuthServer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.auth">org.apache.zookeeper.server.quorum.auth</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverMaster.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#getQuorumAuthServer--">getQuorumAuthServer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/Leader.html#getQuorumAuthServer--">getQuorumAuthServer</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#QuorumCnxManager-org.apache.zookeeper.server.quorum.QuorumPeer-long-java.util.Map-org.apache.zookeeper.server.quorum.auth.QuorumAuthServer-org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner-int-boolean-int-boolean-">QuorumCnxManager</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ long&nbsp;mySid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;view,
+ <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>&nbsp;authServer,
+ <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>&nbsp;authLearner,
+ int&nbsp;socketTimeout,
+ boolean&nbsp;listenOnAllIPs,
+ int&nbsp;quorumCnxnThreadsSize,
+ boolean&nbsp;quorumSaslAuthEnabled)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.auth">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a> that implement <a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">NullQuorumAuthServer</a></span></code>
+<div class="block">This class represents no authentication server, it just return
+ without performing any authentication.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">SaslQuorumAuthServer</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html
new file mode 100644
index 000000000..6e2428dd8
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthLearner.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumAuthLearner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html
new file mode 100644
index 000000000..1b4555116
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumAuthServer.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumAuthServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html
new file mode 100644
index 000000000..294ec975a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumServerCallbackHandler (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumServerCallbackHandler (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumServerCallbackHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.auth.SaslQuorumServerCallbackHandler" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.auth.SaslQuorumServerCallbackHandler</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.auth.SaslQuorumServerCallbackHandler</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html" title="class in org.apache.zookeeper.server.quorum.auth">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/class-use/SaslQuorumServerCallbackHandler.html" target="_top">Frames</a></li>
+<li><a href="SaslQuorumServerCallbackHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-frame.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-frame.html
new file mode 100644
index 000000000..1f04df1c8
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-frame.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum.auth (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html" target="classFrame">org.apache.zookeeper.server.quorum.auth</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth" target="classFrame"><span class="interfaceName">QuorumAuthLearner</span></a></li>
+<li><a href="QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth" target="classFrame"><span class="interfaceName">QuorumAuthServer</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth" target="classFrame">NullQuorumAuthLearner</a></li>
+<li><a href="NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth" target="classFrame">NullQuorumAuthServer</a></li>
+<li><a href="QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth" target="classFrame">QuorumAuth</a></li>
+<li><a href="SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth" target="classFrame">SaslQuorumAuthLearner</a></li>
+<li><a href="SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth" target="classFrame">SaslQuorumAuthServer</a></li>
+<li><a href="SaslQuorumServerCallbackHandler.html" title="class in org.apache.zookeeper.server.quorum.auth" target="classFrame">SaslQuorumServerCallbackHandler</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth" target="classFrame">QuorumAuth.Status</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-summary.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-summary.html
new file mode 100644
index 000000000..9bc9d5cac
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-summary.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum.auth (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="org.apache.zookeeper.server.quorum.auth (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.zookeeper.server.quorum.auth</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a></td>
+<td class="colLast">
+<div class="block">Interface for quorum learner authentication mechanisms.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a></td>
+<td class="colLast">
+<div class="block">Interface for quorum server authentication mechanisms.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">NullQuorumAuthLearner</a></td>
+<td class="colLast">
+<div class="block">This class represents no authentication learner, it just return
+ without performing any authentication.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">NullQuorumAuthServer</a></td>
+<td class="colLast">
+<div class="block">This class represents no authentication server, it just return
+ without performing any authentication.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth">QuorumAuth</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth">SaslQuorumAuthLearner</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth">SaslQuorumAuthServer</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html" title="class in org.apache.zookeeper.server.quorum.auth">SaslQuorumServerCallbackHandler</a></td>
+<td class="colLast">
+<div class="block">This is used by the SASL mechanisms to get further information to complete
+ the authentication.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-tree.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-tree.html
new file mode 100644
index 000000000..81917d730
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-tree.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum.auth Class Hierarchy (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="org.apache.zookeeper.server.quorum.auth Class Hierarchy (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.zookeeper.server.quorum.auth</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">NullQuorumAuthLearner</span></a> (implements org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/NullQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">NullQuorumAuthServer</span></a> (implements org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">QuorumAuth</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthLearner.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">SaslQuorumAuthLearner</span></a> (implements org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumAuthServer.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">SaslQuorumAuthServer</span></a> (implements org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.html" title="class in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">SaslQuorumServerCallbackHandler</span></a> (implements javax.security.auth.callback.<a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">QuorumAuthLearner</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">QuorumAuthServer</span></a></li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.auth.<a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuth.Status.html" title="enum in org.apache.zookeeper.server.quorum.auth"><span class="typeNameLink">QuorumAuth.Status</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-use.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-use.html
new file mode 100644
index 000000000..379c441c5
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/auth/package-use.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.zookeeper.server.quorum.auth (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package org.apache.zookeeper.server.quorum.auth (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.zookeeper.server.quorum.auth" class="title">Uses of Package<br>org.apache.zookeeper.server.quorum.auth</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.auth">org.apache.zookeeper.server.quorum.auth</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a> used by <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html#org.apache.zookeeper.server.quorum">QuorumAuthLearner</a>
+<div class="block">Interface for quorum learner authentication mechanisms.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html#org.apache.zookeeper.server.quorum">QuorumAuthServer</a>
+<div class="block">Interface for quorum server authentication mechanisms.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.auth">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a> used by <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">org.apache.zookeeper.server.quorum.auth</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuth.Status.html#org.apache.zookeeper.server.quorum.auth">QuorumAuth.Status</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthLearner.html#org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>
+<div class="block">Interface for quorum learner authentication mechanisms.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/class-use/QuorumAuthServer.html#org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>
+<div class="block">Interface for quorum server authentication mechanisms.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/auth/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/BufferStats.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/BufferStats.html
new file mode 100644
index 000000000..65e6876d2
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/BufferStats.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.BufferStats (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.BufferStats (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/BufferStats.html" target="_top">Frames</a></li>
+<li><a href="BufferStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.BufferStats" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.BufferStats</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a> in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ServerStats.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ServerStats.html#getClientResponseStats--">getClientResponseStats</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#getProposalStats--">getProposalStats</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/BufferStats.html" target="_top">Frames</a></li>
+<li><a href="BufferStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html
new file mode 100644
index 000000000..089df2f81
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.CommitProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.CommitProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html" target="_top">Frames</a></li>
+<li><a href="CommitProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.CommitProcessor" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.CommitProcessor</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">CommitProcessor</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">CommitProcessor</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">CommitProcessor</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">CommitProcessor</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#commitProcessor">commitProcessor</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html" target="_top">Frames</a></li>
+<li><a href="CommitProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Election.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Election.html
new file mode 100644
index 000000000..9e6cfedf6
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Election.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.Election (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.Election (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Election.html" target="_top">Frames</a></li>
+<li><a href="Election.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.Election" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.Election</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection</a></span></code>
+<div class="block">Implementation of leader election using TCP.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#createElectionAlgorithm-int-">createElectionAlgorithm</a></span>(int&nbsp;electionAlgorithm)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getElectionAlg--">getElectionAlg</a></span>()</code>
+<div class="block">Get an instance of LeaderElection</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#makeLEStrategy--">makeLEStrategy</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Election.html" target="_top">Frames</a></li>
+<li><a href="Election.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html
new file mode 100644
index 000000000..164128149
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.Messenger (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.Messenger (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.Messenger.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.Messenger" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.FastLeaderElection.Messenger</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.FastLeaderElection.Messenger</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Messenger.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.Messenger.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html
new file mode 100644
index 000000000..f5c6d4318
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.Notification (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.Notification (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.Notification.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.Notification" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.FastLeaderElection.Notification</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.FastLeaderElection.Notification</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.Notification.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.Notification.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html
new file mode 100644
index 000000000..233804371
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.ToSend (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.ToSend (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.ToSend.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection.ToSend" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.FastLeaderElection.ToSend</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.FastLeaderElection.ToSend</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.ToSend.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.ToSend.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html
new file mode 100644
index 000000000..df206e9a9
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.FastLeaderElection" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.FastLeaderElection</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.FastLeaderElection</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FastLeaderElection.html" target="_top">Frames</a></li>
+<li><a href="FastLeaderElection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Follower.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Follower.html
new file mode 100644
index 000000000..e9e96fc12
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Follower.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.Follower (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.Follower (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Follower.html" target="_top">Frames</a></li>
+<li><a href="Follower.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.Follower" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.Follower</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#follower">follower</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FollowerZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#getFollower--">getFollower</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#makeFollower-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">makeFollower</a></span>(<a href="../../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setFollower-org.apache.zookeeper.server.quorum.Follower-">setFollower</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>&nbsp;newFollower)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html#FollowerBean-org.apache.zookeeper.server.quorum.Follower-org.apache.zookeeper.server.ZooKeeperServer-">FollowerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a>&nbsp;follower,
+ <a href="../../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Follower.html" target="_top">Frames</a></li>
+<li><a href="Follower.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerBean.html
new file mode 100644
index 000000000..ac616e7f1
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerBean.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.FollowerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.FollowerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FollowerBean.html" target="_top">Frames</a></li>
+<li><a href="FollowerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.FollowerBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.FollowerBean</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.FollowerBean</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FollowerBean.html" target="_top">Frames</a></li>
+<li><a href="FollowerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html
new file mode 100644
index 000000000..ad0d2ed63
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.FollowerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.FollowerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html" target="_top">Frames</a></li>
+<li><a href="FollowerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.FollowerMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.FollowerMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum">FollowerBean</a></span></code>
+<div class="block">Follower MBean interface implementation</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html" target="_top">Frames</a></li>
+<li><a href="FollowerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html
new file mode 100644
index 000000000..0edd478bc
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.FollowerRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.FollowerRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="FollowerRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.FollowerRequestProcessor" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.FollowerRequestProcessor</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.FollowerRequestProcessor</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FollowerRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="FollowerRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html
new file mode 100644
index 000000000..6ad179605
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.FollowerZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.FollowerZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="FollowerZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.FollowerZooKeeperServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.FollowerZooKeeperServer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html#FollowerRequestProcessor-org.apache.zookeeper.server.quorum.FollowerZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">FollowerRequestProcessor</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="FollowerZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html
new file mode 100644
index 000000000..f3af9cbd7
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html
@@ -0,0 +1,317 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.Leader.Proposal (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.Leader.Proposal (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html" target="_top">Frames</a></li>
+<li><a href="Leader.Proposal.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.Leader.Proposal" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.Leader.Proposal</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a> in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> with type parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ZKDatabase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ZKDatabase.html#committedLog">committedLog</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TxnLogProposalIterator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/TxnLogProposalIterator.html#next--">next</a></span>()</code>
+<div class="block">Proposal returned by this iterator has request part set to null, since
+ it is not used for follower sync-up.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> that return types with arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ZKDatabase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ZKDatabase.html#getCommittedLog--">getCommittedLog</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ZKDatabase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ZKDatabase.html#getProposalsFromTxnLog-long-long-">getProposalsFromTxnLog</a></span>(long&nbsp;startZxid,
+ long&nbsp;sizeLimit)</code>
+<div class="block">Get proposals from txnlog.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#newLeaderProposal">newLeaderProposal</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#propose-org.apache.zookeeper.server.Request-">propose</a></span>(<a href="../../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>
+<div class="block">create a proposal and send it out to all the members</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#inform-org.apache.zookeeper.server.quorum.Leader.Proposal-">inform</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;proposal)</code>
+<div class="block">Create an inform packet and send it to all observers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#informAndActivate-org.apache.zookeeper.server.quorum.Leader.Proposal-long-">informAndActivate</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;proposal,
+ long&nbsp;designatedLeader)</code>
+<div class="block">Create an inform and activate packet and send it to all observers.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#tryToCommit-org.apache.zookeeper.server.quorum.Leader.Proposal-long-java.net.SocketAddress-">tryToCommit</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;p,
+ long&nbsp;zxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;followerAddr)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with type arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected long</code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerHandler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#queueCommittedProposals-java.util.Iterator-long-java.lang.Long-java.lang.Long-">queueCommittedProposals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;itr,
+ long&nbsp;peerLastZxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;maxZxid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;lastCommittedZxid)</code>
+<div class="block">Queue committed proposals into packet queue.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> with type arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumOracleMaj.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">revalidateOutstandingProp</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;self,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;outstandingProposal,
+ long&nbsp;lastCommitted)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumVerifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">revalidateOutstandingProp</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;self,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;outstandingProposal,
+ long&nbsp;lastCommitted)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html" target="_top">Frames</a></li>
+<li><a href="Leader.Proposal.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html
new file mode 100644
index 000000000..cdf6df443
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.Leader.XidRolloverException (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.Leader.XidRolloverException (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html" target="_top">Frames</a></li>
+<li><a href="Leader.XidRolloverException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.Leader.XidRolloverException" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.Leader.XidRolloverException</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Leader.XidRolloverException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Leader.XidRolloverException</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Leader.XidRolloverException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#propose-org.apache.zookeeper.server.Request-">propose</a></span>(<a href="../../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server">Request</a>&nbsp;request)</code>
+<div class="block">create a proposal and send it out to all the members</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html" target="_top">Frames</a></li>
+<li><a href="Leader.XidRolloverException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.html
new file mode 100644
index 000000000..72b1523b3
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Leader.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.Leader (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.Leader (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Leader.html" target="_top">Frames</a></li>
+<li><a href="Leader.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.Leader" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.Leader</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#leader">leader</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LeaderZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#getLeader--">getLeader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#makeLeader-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">makeLeader</a></span>(<a href="../../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setLeader-org.apache.zookeeper.server.quorum.Leader-">setLeader</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;newLeader)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">LeaderZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#unregisterJMX-org.apache.zookeeper.server.quorum.Leader-">unregisterJMX</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;leader)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html#LeaderBean-org.apache.zookeeper.server.quorum.Leader-org.apache.zookeeper.server.ZooKeeperServer-">LeaderBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;leader,
+ <a href="../../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumOracleMaj.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">revalidateOutstandingProp</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;self,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;outstandingProposal,
+ long&nbsp;lastCommitted)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumVerifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">revalidateOutstandingProp</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;self,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;outstandingProposal,
+ long&nbsp;lastCommitted)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Leader.html" target="_top">Frames</a></li>
+<li><a href="Leader.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderBean.html
new file mode 100644
index 000000000..861cce15e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderBean.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LeaderBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LeaderBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LeaderBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LeaderBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">LeaderZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.quorum.LeaderBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a>&nbsp;leaderBean,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html
new file mode 100644
index 000000000..2447f8ad4
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LeaderElectionBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LeaderElectionBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderElectionBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LeaderElectionBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LeaderElectionBean</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.LeaderElectionBean</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderElectionBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderElectionBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html
new file mode 100644
index 000000000..cce541084
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.LeaderElectionMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.LeaderElectionMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderElectionMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.LeaderElectionMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.LeaderElectionMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderElectionBean</a></span></code>
+<div class="block">Leader election MBean interface implementation</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderElectionMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html
new file mode 100644
index 000000000..7c2f7ea94
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.LeaderMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.LeaderMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.LeaderMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.LeaderMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a></span></code>
+<div class="block">Leader MBean interface implementation.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html" target="_top">Frames</a></li>
+<li><a href="LeaderMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html
new file mode 100644
index 000000000..daa1db681
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LeaderRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LeaderRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="LeaderRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LeaderRequestProcessor" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LeaderRequestProcessor</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.LeaderRequestProcessor</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="LeaderRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html
new file mode 100644
index 000000000..08db2266b
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LeaderSessionTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LeaderSessionTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LeaderSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LeaderSessionTracker" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LeaderSessionTracker</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.LeaderSessionTracker</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LeaderSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html
new file mode 100644
index 000000000..b18e7d755
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LeaderZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LeaderZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="LeaderZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LeaderZooKeeperServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LeaderZooKeeperServer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#Leader-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-">Leader</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zk)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html#LeaderRequestProcessor-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">LeaderRequestProcessor</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html#ProposalRequestProcessor-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">ProposalRequestProcessor</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="LeaderZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Learner.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Learner.html
new file mode 100644
index 000000000..44d3ba054
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Learner.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.Learner (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.Learner (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Learner.html" target="_top">Frames</a></li>
+<li><a href="Learner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.Learner" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.Learner</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></span></code>
+<div class="block">This class has the control logic for the Follower.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></span></code>
+<div class="block">Observers are peers that do not take part in the atomic broadcast protocol.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FollowerZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html#getLearner--">getLearner</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#getLearner--">getLearner</a></span>()</code>
+<div class="block">Abstract method to return the learner associated with this server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#getLearner--">getLearner</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#unregisterJMX-org.apache.zookeeper.server.quorum.Learner-">unregisterJMX</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html#LearnerSender-org.apache.zookeeper.server.quorum.Learner-">LearnerSender</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a>&nbsp;learner)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Learner.html" target="_top">Frames</a></li>
+<li><a href="Learner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html
new file mode 100644
index 000000000..9b1fe059f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerHandler (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerHandler (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerHandler" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerHandler</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return types with arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#getForwardingFollowers--">getForwardingFollowers</a></span>()</code>
+<div class="block">Returns a copy of the current forwarding follower snapshot</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#getLearners--">getLearners</a></span>()</code>
+<div class="block">Returns a copy of the current learner snapshot</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#getNonVotingFollowers--">getNonVotingFollowers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#getObservingLearners--">getObservingLearners</a></span>()</code>
+<div class="block">Returns a copy of the current observer snapshot</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#addLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">addLearnerHandler</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#addLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">addLearnerHandler</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learner)</code>
+<div class="block">Adds peer to the leader.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#registerLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">registerLearnerHandlerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#registerLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">registerLearnerHandlerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#removeLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">removeLearnerHandler</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#removeLearnerHandler-org.apache.zookeeper.server.quorum.LearnerHandler-">removeLearnerHandler</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;peer)</code>
+<div class="block">Remove the learner from the learner list</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#revalidateSession-org.apache.zookeeper.server.quorum.QuorumPacket-org.apache.zookeeper.server.quorum.LearnerHandler-">revalidateSession</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#revalidateSession-org.apache.zookeeper.server.quorum.QuorumPacket-org.apache.zookeeper.server.quorum.LearnerHandler-">revalidateSession</a></span>(<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/server/quorum/QuorumPacket.html?is-external=true" title="class or interface in org.apache.zookeeper.server.quorum">QuorumPacket</a>&nbsp;qp,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#startForwarding-org.apache.zookeeper.server.quorum.LearnerHandler-long-">startForwarding</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ long&nbsp;lastSeenZxid)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#startForwarding-org.apache.zookeeper.server.quorum.LearnerHandler-long-">startForwarding</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;handler,
+ long&nbsp;lastSeenZxid)</code>
+<div class="block">lets the leader know that a follower is capable of following and is done
+ syncing</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#unregisterLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-">unregisterLearnerHandlerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#unregisterLearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-">unregisterLearnerHandlerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html#LearnerHandlerBean-org.apache.zookeeper.server.quorum.LearnerHandler-java.net.Socket-">LearnerHandlerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;learnerHandler,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html#LearnerSyncRequest-org.apache.zookeeper.server.quorum.LearnerHandler-long-int-int-java.nio.ByteBuffer-java.util.List-">LearnerSyncRequest</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&nbsp;fh,
+ long&nbsp;sessionId,
+ int&nbsp;xid,
+ int&nbsp;type,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;bb,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://zookeeper.apache.org/zookeeper-jute/apidocs/org/apache/zookeeper/data/Id.html?is-external=true" title="class or interface in org.apache.zookeeper.data">Id</a>&gt;&nbsp;authInfo)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> with type arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumOracleMaj.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#overrideQuorumDecision-java.util.List-">overrideQuorumDecision</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumVerifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#overrideQuorumDecision-java.util.List-">overrideQuorumDecision</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumOracleMaj.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#updateNeedOracle-java.util.List-">updateNeedOracle</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumVerifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#updateNeedOracle-java.util.List-">updateNeedOracle</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html
new file mode 100644
index 000000000..b9de684ae
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerHandlerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerHandlerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandlerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerHandlerBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerHandlerBean</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.LearnerHandlerBean</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerHandlerBean.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandlerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html
new file mode 100644
index 000000000..c9c127f28
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.LearnerHandlerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.LearnerHandlerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandlerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.LearnerHandlerMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.LearnerHandlerMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandlerBean</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html" target="_top">Frames</a></li>
+<li><a href="LearnerHandlerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html
new file mode 100644
index 000000000..ab2e62a45
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerMaster (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerMaster (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html" target="_top">Frames</a></li>
+<li><a href="LearnerMaster.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerMaster" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerMaster</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">LearnerMaster</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">LearnerMaster</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">LearnerMaster</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></span></code>
+<div class="block">This class has the control logic for the Leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum">ObserverMaster</a></span></code>
+<div class="block">Used by Followers to host Observers.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html" target="_top">Frames</a></li>
+<li><a href="LearnerMaster.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSender.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSender.html
new file mode 100644
index 000000000..cac86a37c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSender.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerSender (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSender (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSender.html" target="_top">Frames</a></li>
+<li><a href="LearnerSender.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSender" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerSender</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.LearnerSender</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSender.html" target="_top">Frames</a></li>
+<li><a href="LearnerSender.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html
new file mode 100644
index 000000000..249e8af9f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerSessionTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSessionTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LearnerSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSessionTracker" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerSessionTracker</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.LearnerSessionTracker</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LearnerSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html
new file mode 100644
index 000000000..c78cc8633
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncRequest (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncRequest (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncRequest.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncRequest" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerSyncRequest</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#processSync-org.apache.zookeeper.server.quorum.LearnerSyncRequest-">processSync</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a>&nbsp;r)</code>
+<div class="block">Process sync requests</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#sendSync-org.apache.zookeeper.server.quorum.LearnerSyncRequest-">sendSync</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a>&nbsp;r)</code>
+<div class="block">Sends a sync message to the appropriate server</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncRequest.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html
new file mode 100644
index 000000000..4fad294dc
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncThrottler.SyncType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerSyncThrottler.SyncType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerSyncThrottler.SyncType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#LearnerSyncThrottler-int-org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType-">LearnerSyncThrottler</a></span>(int&nbsp;maxConcurrentSyncs,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&nbsp;syncType)</code>
+<div class="block">Constructs a new instance limiting the concurrent number of syncs to
+ <code>maxConcurrentSyncs</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html#SyncThrottleException-int-int-org.apache.zookeeper.server.quorum.LearnerSyncThrottler.SyncType-">SyncThrottleException</a></span>(int&nbsp;concurrentSyncNumber,
+ int&nbsp;throttleThreshold,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&nbsp;syncType)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncThrottler.SyncType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html
new file mode 100644
index 000000000..ef6d245ff
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncThrottler (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncThrottler (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncThrottler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerSyncThrottler" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerSyncThrottler</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLearnerDiffSyncThrottler--">getLearnerDiffSyncThrottler</a></span>()</code>
+<div class="block">diff sync throttler</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html#getLearnerSnapSyncThrottler--">getLearnerSnapSyncThrottler</a></span>()</code>
+<div class="block">snap sync throttler</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html" target="_top">Frames</a></li>
+<li><a href="LearnerSyncThrottler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html
new file mode 100644
index 000000000..19b3c1a06
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LearnerZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LearnerZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="LearnerZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LearnerZooKeeperServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LearnerZooKeeperServer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a></span></code>
+<div class="block">Just like the standard ZooKeeperServer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a></span></code>
+<div class="block">A ZooKeeperServer for the Observer node type.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="LearnerZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html
new file mode 100644
index 000000000..b30de2254
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LocalPeerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LocalPeerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html" target="_top">Frames</a></li>
+<li><a href="LocalPeerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LocalPeerBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LocalPeerBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">LeaderZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.quorum.LeaderBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a>&nbsp;leaderBean,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.ZooKeeperServerBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a></span>(<a href="../../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a>&nbsp;serverBean,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReadOnlyZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#registerJMX-org.apache.zookeeper.server.ZooKeeperServerBean-org.apache.zookeeper.server.quorum.LocalPeerBean-">registerJMX</a></span>(<a href="../../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server">ZooKeeperServerBean</a>&nbsp;serverBean,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a>&nbsp;localPeerBean)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html" target="_top">Frames</a></li>
+<li><a href="LocalPeerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html
new file mode 100644
index 000000000..73a6aea3f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.LocalPeerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.LocalPeerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html" target="_top">Frames</a></li>
+<li><a href="LocalPeerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.LocalPeerMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.LocalPeerMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a></span></code>
+<div class="block">Implementation of the local peer MBean interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html" target="_top">Frames</a></li>
+<li><a href="LocalPeerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html
new file mode 100644
index 000000000..cbc9064a4
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.LocalSessionTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.LocalSessionTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LocalSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.LocalSessionTracker" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.LocalSessionTracker</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LocalSessionTracker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LocalSessionTracker</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LocalSessionTracker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LocalSessionTracker</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UpgradeableSessionTracker.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html#localSessionTracker">localSessionTracker</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="LocalSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html
new file mode 100644
index 000000000..6229010d1
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.MultipleAddresses (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.MultipleAddresses (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html" target="_top">Frames</a></li>
+<li><a href="MultipleAddresses.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.MultipleAddresses" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.MultipleAddresses</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.QuorumServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#addr">addr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.AddressTuple.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html#electionAddr">electionAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.QuorumServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#electionAddr">electionAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Learner.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html#leaderAddr">leaderAddr</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.AddressTuple.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html#quorumAddr">quorumAddr</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getElectionAddress--">getElectionAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumAddress--">getQuorumAddress</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">Learner.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html#connectToLeader-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.String-">connectToLeader</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;multiAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)</code>
+<div class="block">Establish a connection with the LearnerMaster found by findLearnerMaster.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumCnxManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#initiateConnection-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.Long-">initiateConnection</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</code>
+<div class="block">First we create the socket, perform SSL handshake and authentication if needed.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumCnxManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#initiateConnectionAsync-org.apache.zookeeper.server.quorum.MultipleAddresses-java.lang.Long-">initiateConnectionAsync</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sid)</code>
+<div class="block">Server will initiate the connection request to its peer server
+ asynchronously via separate connection thread.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setLeaderAddressAndId-org.apache.zookeeper.server.quorum.MultipleAddresses-long-">setLeaderAddressAndId</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;addr,
+ long&nbsp;newId)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html#AddressTuple-org.apache.zookeeper.server.quorum.MultipleAddresses-org.apache.zookeeper.server.quorum.MultipleAddresses-java.net.InetSocketAddress-">AddressTuple</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;quorumAddr,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;clientAddr)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html" target="_top">Frames</a></li>
+<li><a href="MultipleAddresses.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Observer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Observer.html
new file mode 100644
index 000000000..c0efbbaf1
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Observer.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.Observer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.Observer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Observer.html" target="_top">Frames</a></li>
+<li><a href="Observer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.Observer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.Observer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a> in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ObserverBean.html#ObserverBean-org.apache.zookeeper.server.quorum.Observer-org.apache.zookeeper.server.ZooKeeperServer-">ObserverBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a>&nbsp;observer,
+ <a href="../../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server">ZooKeeperServer</a>&nbsp;zks)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#observer">observer</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html#getObserver--">getObserver</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#makeObserver-org.apache.zookeeper.server.persistence.FileTxnSnapLog-">makeObserver</a></span>(<a href="../../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setObserver-org.apache.zookeeper.server.quorum.Observer-">setObserver</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a>&nbsp;newObserver)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Observer.html" target="_top">Frames</a></li>
+<li><a href="Observer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html
new file mode 100644
index 000000000..4c84dd02d
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.ObserverMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.ObserverMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html" target="_top">Frames</a></li>
+<li><a href="ObserverMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.ObserverMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.ObserverMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ObserverMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ObserverMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ObserverMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ObserverBean.html" title="class in org.apache.zookeeper.server">ObserverBean</a></span></code>
+<div class="block">ObserverBean</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html" target="_top">Frames</a></li>
+<li><a href="ObserverMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html
new file mode 100644
index 000000000..dcecda229
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.ObserverMaster (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.ObserverMaster (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html" target="_top">Frames</a></li>
+<li><a href="ObserverMaster.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.ObserverMaster" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.ObserverMaster</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.ObserverMaster</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ObserverMaster.html" target="_top">Frames</a></li>
+<li><a href="ObserverMaster.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html
new file mode 100644
index 000000000..243f1175f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.ObserverRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.ObserverRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ObserverRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.ObserverRequestProcessor" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.ObserverRequestProcessor</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.ObserverRequestProcessor</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ObserverRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ObserverRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html
new file mode 100644
index 000000000..f40c8b001
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.ObserverZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.ObserverZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="ObserverZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.ObserverZooKeeperServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.ObserverZooKeeperServer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html#ObserverRequestProcessor-org.apache.zookeeper.server.quorum.ObserverZooKeeperServer-org.apache.zookeeper.server.RequestProcessor-">ObserverRequestProcessor</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a>&nbsp;zks,
+ <a href="../../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>&nbsp;nextProcessor)</code>
+<div class="block">Constructor - takes an ObserverZooKeeperServer to associate with
+ and the next processor to pass requests to after we're finished.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="ObserverZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html
new file mode 100644
index 000000000..fd7862256
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.PrependableSocket (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.PrependableSocket (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html" target="_top">Frames</a></li>
+<li><a href="PrependableSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.PrependableSocket" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.PrependableSocket</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.PrependableSocket</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/PrependableSocket.html" target="_top">Frames</a></li>
+<li><a href="PrependableSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html
new file mode 100644
index 000000000..0be568a18
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.ProposalRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.ProposalRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ProposalRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.ProposalRequestProcessor" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.ProposalRequestProcessor</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.ProposalRequestProcessor</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ProposalRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ProposalRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumBean.html
new file mode 100644
index 000000000..c4a95ad90
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumBean.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumBean.html" target="_top">Frames</a></li>
+<li><a href="QuorumBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumBean</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.QuorumBean</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumBean.html" target="_top">Frames</a></li>
+<li><a href="QuorumBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html
new file mode 100644
index 000000000..2ce7ee013
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage.InitialMessageException (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage.InitialMessageException (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.InitialMessageException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage.InitialMessageException" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage.InitialMessageException</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage.InitialMessageException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage.InitialMessageException</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage.InitialMessageException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumCnxManager.InitialMessage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html#parse-java.lang.Long-java.io.DataInputStream-">parse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;protocolVersion,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.InitialMessageException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html
new file mode 100644
index 000000000..37d3c1502
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumCnxManager.InitialMessage</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumCnxManager.InitialMessage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html#parse-java.lang.Long-java.io.DataInputStream-">parse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;protocolVersion,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;din)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html
new file mode 100644
index 000000000..23e3f00b4
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.Listener (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.Listener (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.Listener.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.Listener" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumCnxManager.Listener</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Listener</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Listener</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Listener</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Listener</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumCnxManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#listener">listener</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.Listener.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html
new file mode 100644
index 000000000..48720d71e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.Message (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.Message (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.Message.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager.Message" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumCnxManager.Message</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with type parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumCnxManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#recvQueue">recvQueue</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumCnxManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#pollRecvQueue-long-java.util.concurrent.TimeUnit-">pollRecvQueue</a></span>(long&nbsp;timeout,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Retrieves and removes a message at the head of this queue,
+ waiting up to the specified wait time if necessary for an element to
+ become available.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumCnxManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#addToRecvQueue-org.apache.zookeeper.server.quorum.QuorumCnxManager.Message-">addToRecvQueue</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a>&nbsp;msg)</code>
+<div class="block">Inserts an element in the <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#recvQueue"><code>QuorumCnxManager.recvQueue</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.Message.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html
new file mode 100644
index 000000000..df87db177
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumCnxManager" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumCnxManager</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#createCnxnManager--">createCnxnManager</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FastLeaderElection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getCnxManager--">getCnxManager</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumCnxManager--">getQuorumCnxManager</a></span>()</code>
+<div class="block">get reference to QuorumCnxManager</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#FastLeaderElection-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.QuorumCnxManager-">FastLeaderElection</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a>&nbsp;manager)</code>
+<div class="block">Constructor of FastLeaderElection.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html" target="_top">Frames</a></li>
+<li><a href="QuorumCnxManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html
new file mode 100644
index 000000000..5ee96d8ff
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.QuorumMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.QuorumMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html" target="_top">Frames</a></li>
+<li><a href="QuorumMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.QuorumMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.QuorumMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum">QuorumBean</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html" target="_top">Frames</a></li>
+<li><a href="QuorumMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html
new file mode 100644
index 000000000..2236a79a9
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.AddressTuple (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.AddressTuple (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.AddressTuple.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.AddressTuple" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeer.AddressTuple</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.QuorumPeer.AddressTuple</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.AddressTuple.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.AddressTuple.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html
new file mode 100644
index 000000000..8cecbb027
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html
@@ -0,0 +1,240 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.LearnerType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#peerType">peerType</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.QuorumServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#type">type</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerHandler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html#getLearnerType--">getLearnerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getLearnerType--">getLearnerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getPeerType--">getPeerType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.LearnerType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.LearnerType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setLearnerType-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">setLearnerType</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;p)</code>
+<div class="block">Sets the LearnerType</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-java.net.InetSocketAddress-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">QuorumServer</a></span>(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;clientAddr,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.net.InetSocketAddress-java.net.InetSocketAddress-org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType-">QuorumServer</a></span>(long&nbsp;id,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;addr,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;electionAddr,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;type)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.LearnerType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html
new file mode 100644
index 000000000..0d9cd93ec
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html
@@ -0,0 +1,409 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.QuorumServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Learner.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Learner.html#findLeader--">findLeader</a></span>()</code>
+<div class="block">Returns the address of the node we think is the leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Observer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Observer.html#getCurrentLearnerMaster--">getCurrentLearnerMaster</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return types with arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getObservingView--">getObservingView</a></span>()</code>
+<div class="block">Returns only observers, no followers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getServers--">getServers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getView--">getView</a></span>()</code>
+<div class="block">A 'view' is a node's current opinion of the membership of the entire
+ ensemble.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getVotingView--">getVotingView</a></span>()</code>
+<div class="block">Observers are not contained in this view, only nodes with
+ PeerType=PARTICIPANT.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.QuorumServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#checkAddressDuplicate-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">checkAddressDuplicate</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;s)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">RemotePeerBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#setQuorumServer-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">setQuorumServer</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with type arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected static int</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#countParticipants-java.util.Map-">countParticipants</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;peers)</code>
+<div class="block">Count the number of nodes in the map that could be followers.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#RemotePeerBean-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">RemotePeerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;localPeer,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with type arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#QuorumCnxManager-org.apache.zookeeper.server.quorum.QuorumPeer-long-java.util.Map-org.apache.zookeeper.server.quorum.auth.QuorumAuthServer-org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner-int-boolean-int-boolean-">QuorumCnxManager</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ long&nbsp;mySid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;view,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>&nbsp;authServer,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>&nbsp;authLearner,
+ int&nbsp;socketTimeout,
+ boolean&nbsp;listenOnAllIPs,
+ int&nbsp;quorumCnxnThreadsSize,
+ boolean&nbsp;quorumSaslAuthEnabled)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit)</code>
+<div class="block">This constructor is only used by the existing unit test code.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;quorumConfig)</code>
+<div class="block">This constructor is only used by the existing unit test code.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-java.lang.String-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-long-int-int-int-int-boolean-org.apache.zookeeper.server.ServerCnxnFactory-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataLogDir,
+ int&nbsp;electionType,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ boolean&nbsp;quorumListenOnAllIPs,
+ <a href="../../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;quorumConfig)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-long-int-int-int-int-org.apache.zookeeper.server.ServerCnxnFactory-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataLogDir,
+ int&nbsp;electionType,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="../../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory)</code>
+<div class="block">For backward compatibility purposes, we instantiate QuorumMaj by default.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> that return types with arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumHierarchical.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#getAllMembers--">getAllMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumMaj.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getAllMembers--">getAllMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumVerifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getAllMembers--">getAllMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumHierarchical.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#getObservingMembers--">getObservingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumMaj.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getObservingMembers--">getObservingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumVerifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getObservingMembers--">getObservingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumHierarchical.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#getVotingMembers--">getVotingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumMaj.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getVotingMembers--">getVotingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumVerifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getVotingMembers--">getVotingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> with type arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#QuorumMaj-java.util.Map-">QuorumMaj</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;allMembers)</code>
+<div class="block">Defines a majority to avoid computing it every time.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#QuorumOracleMaj-java.util.Map-java.lang.String-">QuorumOracleMaj</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;allMembers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.QuorumServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html
new file mode 100644
index 000000000..601b411ed
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.ServerState (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.ServerState (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.ServerState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.ServerState" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeer.ServerState</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getPeerState--">getPeerState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Vote.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.ServerState.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.ServerState.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setPeerState-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">setPeerState</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;newState)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html#Vote-int-long-long-long-long-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">Vote</a></span>(int&nbsp;version,
+ long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;electionEpoch,
+ long&nbsp;peerEpoch,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html#Vote-long-long-long-long-org.apache.zookeeper.server.quorum.QuorumPeer.ServerState-">Vote</a></span>(long&nbsp;id,
+ long&nbsp;zxid,
+ long&nbsp;electionEpoch,
+ long&nbsp;peerEpoch,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.ServerState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html
new file mode 100644
index 000000000..420a2750f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.SyncMode (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.SyncMode (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.SyncMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.SyncMode" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeer.SyncMode</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getSyncMode--">getSyncMode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.SyncMode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.SyncMode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setSyncMode-org.apache.zookeeper.server.quorum.QuorumPeer.SyncMode-">setSyncMode</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>&nbsp;syncMode)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.SyncMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html
new file mode 100644
index 000000000..301d1405c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.ZabState (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.ZabState (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.ZabState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer.ZabState" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeer.ZabState</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getZabState--">getZabState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.ZabState.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.ZabState.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setZabState-org.apache.zookeeper.server.quorum.QuorumPeer.ZabState-">setZabState</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>&nbsp;zabState)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.ZabState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html
new file mode 100644
index 000000000..7ebb90460
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.controller">org.apache.zookeeper.server.controller</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.controller">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a> in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ControllerService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ControllerService.html#quorumPeer">quorumPeer</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerMain.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#quorumPeer">quorumPeer</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReadOnlyZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html#self">self</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#self">self</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#createFromConfig-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">createFromConfig</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>
+<div class="block">Create a new QuorumPeer and apply all the values per the already-parsed config.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerMain.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#getQuorumPeer--">getQuorumPeer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#testingQuorumPeer--">testingQuorumPeer</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#FastLeaderElection-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.QuorumCnxManager-">FastLeaderElection</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a>&nbsp;manager)</code>
+<div class="block">Constructor of FastLeaderElection.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#Leader-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.LeaderZooKeeperServer-">Leader</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>&nbsp;zk)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html#LeaderZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.ZKDatabase-">LeaderZooKeeperServer</a></span>(<a href="../../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ <a href="../../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html#LearnerZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-int-int-int-int-org.apache.zookeeper.server.ZKDatabase-org.apache.zookeeper.server.quorum.QuorumPeer-">LearnerZooKeeperServer</a></span>(<a href="../../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ int&nbsp;tickTime,
+ int&nbsp;minSessionTimeout,
+ int&nbsp;maxSessionTimeout,
+ int&nbsp;listenBacklog,
+ <a href="../../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html#LocalPeerBean-org.apache.zookeeper.server.quorum.QuorumPeer-">LocalPeerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html#QuorumBean-org.apache.zookeeper.server.quorum.QuorumPeer-">QuorumBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html#QuorumCnxManager-org.apache.zookeeper.server.quorum.QuorumPeer-long-java.util.Map-org.apache.zookeeper.server.quorum.auth.QuorumAuthServer-org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner-int-boolean-int-boolean-">QuorumCnxManager</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self,
+ long&nbsp;mySid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;view,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthServer.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthServer</a>&nbsp;authServer,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/auth/QuorumAuthLearner.html" title="interface in org.apache.zookeeper.server.quorum.auth">QuorumAuthLearner</a>&nbsp;authLearner,
+ int&nbsp;socketTimeout,
+ boolean&nbsp;listenOnAllIPs,
+ int&nbsp;quorumCnxnThreadsSize,
+ boolean&nbsp;quorumSaslAuthEnabled)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#QuorumZooKeeperServer-org.apache.zookeeper.server.persistence.FileTxnSnapLog-int-int-int-int-org.apache.zookeeper.server.ZKDatabase-org.apache.zookeeper.server.quorum.QuorumPeer-">QuorumZooKeeperServer</a></span>(<a href="../../../../../../org/apache/zookeeper/server/persistence/FileTxnSnapLog.html" title="class in org.apache.zookeeper.server.persistence">FileTxnSnapLog</a>&nbsp;logFactory,
+ int&nbsp;tickTime,
+ int&nbsp;minSessionTimeout,
+ int&nbsp;maxSessionTimeout,
+ int&nbsp;listenBacklog,
+ <a href="../../../../../../org/apache/zookeeper/server/ZKDatabase.html" title="class in org.apache.zookeeper.server">ZKDatabase</a>&nbsp;zkDb,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;self)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html#RemotePeerBean-org.apache.zookeeper.server.quorum.QuorumPeer-org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer-">RemotePeerBean</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a>&nbsp;localPeer,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;peer)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html
new file mode 100644
index 000000000..88203bbd2
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html
@@ -0,0 +1,420 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerConfig.ConfigException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.client">org.apache.zookeeper.client</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.common">org.apache.zookeeper.common</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.controller">org.apache.zookeeper.server.controller</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.util">org.apache.zookeeper.server.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.client">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a> in <a href="../../../../../../org/apache/zookeeper/client/package-summary.html">org.apache.zookeeper.client</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/client/package-summary.html">org.apache.zookeeper.client</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/client/ZKClientConfig.html#ZKClientConfig-java.io.File-">ZKClientConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;configFile)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/client/ZKClientConfig.html#ZKClientConfig-java.lang.String-">ZKClientConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configPath)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.common">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a> in <a href="../../../../../../org/apache/zookeeper/common/package-summary.html">org.apache.zookeeper.common</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/common/package-summary.html">org.apache.zookeeper.common</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ZKConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/common/ZKConfig.html#addConfiguration-java.io.File-">addConfiguration</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;configFile)</code>
+<div class="block">Add a configuration resource.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ZKConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/common/ZKConfig.html#addConfiguration-java.lang.String-">addConfiguration</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configPath)</code>
+<div class="block">Add a configuration resource.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/common/package-summary.html">org.apache.zookeeper.common</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/common/ZKConfig.html#ZKConfig-java.io.File-">ZKConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;configFile)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/common/ZKConfig.html#ZKConfig-java.lang.String-">ZKConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configPath)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a> in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">ZooKeeperServerMain.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ZooKeeperServerMain.html#initializeAndRun-java.lang.String:A-">initializeAndRun</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ServerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ServerConfig.html#parse-java.lang.String-">parse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
+<div class="block">Parse a ZooKeeper configuration file</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.controller">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a> in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">ControllerService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ControllerService.html#initConfig-java.lang.String:A-">initConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
+<div class="block">Derived classes may override to do custom initialization of command line args.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ControllerService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ControllerService.html#initializeAndRun-java.lang.String:A-">initializeAndRun</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
+<div class="block">Runs the main loop for this application but does not exit the process.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ControllerServerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ControllerServerConfig.html#parse-java.lang.String-">parse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configFile)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ControllerServerConfig.html#ControllerServerConfig-java.lang.String-">ControllerServerConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configFile)</code>
+<div class="block">Instantiate a new config via a zk config file.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#checkValidity--">checkValidity</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#configFromString-java.lang.String-">configFromString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#configureSSLAuth--">configureSSLAuth</a></span>()</code>
+<div class="block">Configure SSL authentication only if it is not configured.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerMain.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#initializeAndRun-java.lang.String:A-">initializeAndRun</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#parse-java.lang.String-">parse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
+<div class="block">Parse a ZooKeeper configuration file</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#parseDynamicConfig-java.util.Properties-int-boolean-boolean-java.lang.String-">parseDynamicConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;dynamicConfigProp,
+ int&nbsp;eAlg,
+ boolean&nbsp;warnings,
+ boolean&nbsp;configBackwardCompatibilityMode,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>
+<div class="block">Parse dynamic configuration file and return
+ quorumVerifier for new configuration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#parseProperties-java.util.Properties-">parseProperties</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;zkProp)</code>
+<div class="block">Parse config from a Properties.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html#QuorumServer-long-java.lang.String-">QuorumServer</a></span>(long&nbsp;sid,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;addressStr)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#QuorumHierarchical-java.util.Properties-">QuorumHierarchical</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;qp)</code>
+<div class="block">This constructor takes a set of properties.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#QuorumHierarchical-java.lang.String-">QuorumHierarchical</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</code>
+<div class="block">This constructor requires the quorum configuration
+ to be declared in a separate file, and it takes the
+ file as an input parameter.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#QuorumMaj-java.util.Properties-">QuorumMaj</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;props)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#QuorumOracleMaj-java.util.Properties-java.lang.String-">QuorumOracleMaj</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;props,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.util">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a> in <a href="../../../../../../org/apache/zookeeper/server/util/package-summary.html">org.apache.zookeeper.server.util</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/util/package-summary.html">org.apache.zookeeper.server.util</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ConfigUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/util/ConfigUtils.html#getHostAndPort-java.lang.String-">getHostAndPort</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>
+<div class="block">Gets host and port by splitting server config
+ with support for IPv6 literals</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerConfig.ConfigException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html
new file mode 100644
index 000000000..622cb8462
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerConfig (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerConfig (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerConfig" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeerConfig</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.controller">org.apache.zookeeper.server.controller</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.util">org.apache.zookeeper.server.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a> in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ServerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/ServerConfig.html#readFrom-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">readFrom</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>
+<div class="block">Read attributes from a QuorumPeerConfig.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.controller">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a> in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a> in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ControllerServerConfig.html" title="class in org.apache.zookeeper.server.controller">ControllerServerConfig</a></span></code>
+<div class="block">Config for the ControllerService.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ControllerService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ControllerService.html#config">config</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ControllerService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ControllerService.html#runFromConfig-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">runFromConfig</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>
+<div class="block">Run the app given a QuorumPeerConfig.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/controller/ZooKeeperServerController.html#ZooKeeperServerController-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">ZooKeeperServerController</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#createFromConfig-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">createFromConfig</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>
+<div class="block">Create a new QuorumPeer and apply all the values per the already-parsed config.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerMain.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html#runFromConfig-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">runFromConfig</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.util">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a> in <a href="../../../../../../org/apache/zookeeper/server/util/package-summary.html">org.apache.zookeeper.server.util</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/util/package-summary.html">org.apache.zookeeper.server.util</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/util/JvmPauseMonitor.html#JvmPauseMonitor-org.apache.zookeeper.server.quorum.QuorumPeerConfig-">JvmPauseMonitor</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;config)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html
new file mode 100644
index 000000000..d8edbf3bb
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerMain (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerMain (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerMain.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumPeerMain" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumPeerMain</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.QuorumPeerMain</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumPeerMain.html" target="_top">Frames</a></li>
+<li><a href="QuorumPeerMain.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html
new file mode 100644
index 000000000..b617e59b4
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.QuorumStats.Provider (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.QuorumStats.Provider (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html" target="_top">Frames</a></li>
+<li><a href="QuorumStats.Provider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.QuorumStats.Provider" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.QuorumStats.Provider</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></span></code>
+<div class="block">This class manages the quorum protocol.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html#QuorumStats-org.apache.zookeeper.server.quorum.QuorumStats.Provider-">QuorumStats</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a>&nbsp;provider)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html" target="_top">Frames</a></li>
+<li><a href="QuorumStats.Provider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.html
new file mode 100644
index 000000000..807bb99b4
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumStats.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumStats (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumStats (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumStats.html" target="_top">Frames</a></li>
+<li><a href="QuorumStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumStats" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumStats</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.QuorumStats</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumStats.html" target="_top">Frames</a></li>
+<li><a href="QuorumStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html
new file mode 100644
index 000000000..29b1a524c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.QuorumZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.QuorumZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.QuorumZooKeeperServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.QuorumZooKeeperServer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a></span></code>
+<div class="block">Just like the standard ZooKeeperServer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a></span></code>
+<div class="block">Just like the standard ZooKeeperServer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></span></code>
+<div class="block">Parent class for all ZooKeeperServers for Learners</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a></span></code>
+<div class="block">A ZooKeeperServer for the Observer node type.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="QuorumZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html
new file mode 100644
index 000000000..6cf123100
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.ReadOnlyBean</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.ReadOnlyBean</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ReadOnlyBean.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html
new file mode 100644
index 000000000..8bb0d414b
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyRequestProcessor" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.ReadOnlyRequestProcessor</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.ReadOnlyRequestProcessor</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ReadOnlyRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html
new file mode 100644
index 000000000..f902a3e59
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ReadOnlyZooKeeperServer.html" target="_top">Frames</a></li>
+<li><a href="ReadOnlyZooKeeperServer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html
new file mode 100644
index 000000000..9d76067ed
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.RemotePeerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.RemotePeerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html" target="_top">Frames</a></li>
+<li><a href="RemotePeerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.RemotePeerBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.RemotePeerBean</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.RemotePeerBean</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/RemotePeerBean.html" target="_top">Frames</a></li>
+<li><a href="RemotePeerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html
new file mode 100644
index 000000000..01ce8526b
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.RemotePeerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.RemotePeerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html" target="_top">Frames</a></li>
+<li><a href="RemotePeerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.RemotePeerMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.RemotePeerMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum">RemotePeerBean</a></span></code>
+<div class="block">A remote peer bean only provides limited information about the remote peer,
+ and the peer cannot be managed remotely.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html" target="_top">Frames</a></li>
+<li><a href="RemotePeerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html
new file mode 100644
index 000000000..400d3451e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.SendAckRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.SendAckRequestProcessor (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="SendAckRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.SendAckRequestProcessor" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.SendAckRequestProcessor</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.SendAckRequestProcessor</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/SendAckRequestProcessor.html" target="_top">Frames</a></li>
+<li><a href="SendAckRequestProcessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerBean.html
new file mode 100644
index 000000000..3b3704a8e
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerBean.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.ServerBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.ServerBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ServerBean.html" target="_top">Frames</a></li>
+<li><a href="ServerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.ServerBean" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.ServerBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a></span></code>
+<div class="block">Implementation of the local peer MBean interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ServerBean.html" target="_top">Frames</a></li>
+<li><a href="ServerBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html
new file mode 100644
index 000000000..1752f28d8
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.ServerMXBean (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.ServerMXBean (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html" target="_top">Frames</a></li>
+<li><a href="ServerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.ServerMXBean" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.ServerMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></span></code>
+<div class="block">A local zookeeper server MBean interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that implement <a href="../../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a></span></code>
+<div class="block">Implementation of the local peer MBean interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a></span></code>
+<div class="block">An abstract base class for the leader and follower MBeans.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html" target="_top">Frames</a></li>
+<li><a href="ServerMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/StateSummary.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/StateSummary.html
new file mode 100644
index 000000000..7cfe6e1da
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/StateSummary.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.StateSummary (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.StateSummary (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/StateSummary.html" target="_top">Frames</a></li>
+<li><a href="StateSummary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.StateSummary" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.StateSummary</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">StateSummary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html#isMoreRecentThan-org.apache.zookeeper.server.quorum.StateSummary-">isMoreRecentThan</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ObserverMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html#waitForEpochAck-long-org.apache.zookeeper.server.quorum.StateSummary-">waitForEpochAck</a></span>(long&nbsp;sid,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#waitForEpochAck-long-org.apache.zookeeper.server.quorum.StateSummary-">waitForEpochAck</a></span>(long&nbsp;id,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a>&nbsp;ss)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/StateSummary.html" target="_top">Frames</a></li>
+<li><a href="StateSummary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html
new file mode 100644
index 000000000..2d58c27e5
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.SyncThrottleException (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.SyncThrottleException (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html" target="_top">Frames</a></li>
+<li><a href="SyncThrottleException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.SyncThrottleException" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.SyncThrottleException</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum">SyncThrottleException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum">SyncThrottleException</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that throw <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum">SyncThrottleException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">LearnerSyncThrottler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html#beginSync-boolean-">beginSync</a></span>(boolean&nbsp;essential)</code>
+<div class="block">Indicates that a new sync is about to be sent.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html" target="_top">Frames</a></li>
+<li><a href="SyncThrottleException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html
new file mode 100644
index 000000000..3dee8090c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.SyncedLearnerTracker.QuorumVerifierAcksetPair (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.SyncedLearnerTracker.QuorumVerifierAcksetPair (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" target="_top">Frames</a></li>
+<li><a href="SyncedLearnerTracker.QuorumVerifierAcksetPair.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.SyncedLearnerTracker.QuorumVerifierAcksetPair" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.SyncedLearnerTracker.QuorumVerifierAcksetPair</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with type parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncedLearnerTracker.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#qvAcksetPairs">qvAcksetPairs</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" target="_top">Frames</a></li>
+<li><a href="SyncedLearnerTracker.QuorumVerifierAcksetPair.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html
new file mode 100644
index 000000000..8d36b5851
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.SyncedLearnerTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.SyncedLearnerTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html" target="_top">Frames</a></li>
+<li><a href="SyncedLearnerTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.SyncedLearnerTracker" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.SyncedLearnerTracker</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FastLeaderElection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getVoteTracker-java.util.Map-org.apache.zookeeper.server.quorum.Vote-">getVoteTracker</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&gt;&nbsp;votes,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;vote)</code>
+<div class="block">Given a set of votes, return the SyncedLearnerTracker which is used to
+ determines if have sufficient to declare the end of the election round.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html#setLeadingVoteSet-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-">setLeadingVoteSet</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumOracleMaj.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#revalidateVoteset-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-boolean-">revalidateVoteset</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet,
+ boolean&nbsp;timeout)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumVerifier.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateVoteset-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-boolean-">revalidateVoteset</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet,
+ boolean&nbsp;timeout)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html" target="_top">Frames</a></li>
+<li><a href="SyncedLearnerTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html
new file mode 100644
index 000000000..c20fbc9ea
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.UnifiedServerSocket.UnifiedSocket (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.UnifiedServerSocket.UnifiedSocket (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html" target="_top">Frames</a></li>
+<li><a href="UnifiedServerSocket.UnifiedSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.UnifiedServerSocket.UnifiedSocket" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.UnifiedServerSocket.UnifiedSocket</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.UnifiedServerSocket.UnifiedSocket</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.UnifiedSocket.html" target="_top">Frames</a></li>
+<li><a href="UnifiedServerSocket.UnifiedSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html
new file mode 100644
index 000000000..c5a1800bc
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.UnifiedServerSocket (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.UnifiedServerSocket (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html" target="_top">Frames</a></li>
+<li><a href="UnifiedServerSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.UnifiedServerSocket" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.UnifiedServerSocket</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.UnifiedServerSocket</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/UnifiedServerSocket.html" target="_top">Frames</a></li>
+<li><a href="UnifiedServerSocket.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html
new file mode 100644
index 000000000..f3ab54a44
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.UpgradeableSessionTracker (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.UpgradeableSessionTracker (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="UpgradeableSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.UpgradeableSessionTracker" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.UpgradeableSessionTracker</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LeaderSessionTracker</a></span></code>
+<div class="block">The leader session tracker tracks local and global sessions on the leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LearnerSessionTracker</a></span></code>
+<div class="block">The learner session tracker is used by learners (followers and observers) to
+ track zookeeper sessions which may or may not be echoed to the leader.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumZooKeeperServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html#upgradeableSessionTracker">upgradeableSessionTracker</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html" target="_top">Frames</a></li>
+<li><a href="UpgradeableSessionTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Vote.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Vote.html
new file mode 100644
index 000000000..6875e7597
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/class-use/Vote.html
@@ -0,0 +1,228 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.Vote (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.Vote (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Vote.html" target="_top">Frames</a></li>
+<li><a href="Vote.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.Vote" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.Vote</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a> in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getCurrentVote--">getCurrentVote</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FastLeaderElection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getVote--">getVote</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FastLeaderElection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#lookForLeader--">lookForLeader</a></span>()</code>
+<div class="block">Starts a new round of leader election.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Election.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/Election.html#lookForLeader--">lookForLeader</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FastLeaderElection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getVoteTracker-java.util.Map-org.apache.zookeeper.server.quorum.Vote-">getVoteTracker</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&gt;&nbsp;votes,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;vote)</code>
+<div class="block">Given a set of votes, return the SyncedLearnerTracker which is used to
+ determines if have sufficient to declare the end of the election round.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setCurrentVote-org.apache.zookeeper.server.quorum.Vote-">setCurrentVote</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;v)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with type arguments of type <a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">FastLeaderElection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#checkLeader-java.util.Map-long-long-">checkLeader</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&gt;&nbsp;votes,
+ long&nbsp;leader,
+ long&nbsp;electionEpoch)</code>
+<div class="block">In the case there is a leader elected, and a quorum supporting
+ this leader, we have to check if the leader has voted and acked
+ that it is leading.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FastLeaderElection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html#getVoteTracker-java.util.Map-org.apache.zookeeper.server.quorum.Vote-">getVoteTracker</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&gt;&nbsp;votes,
+ <a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a>&nbsp;vote)</code>
+<div class="block">Given a set of votes, return the SyncedLearnerTracker which is used to
+ determines if have sufficient to declare the end of the election round.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/class-use/Vote.html" target="_top">Frames</a></li>
+<li><a href="Vote.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html
new file mode 100644
index 000000000..94fe2b99d
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html
@@ -0,0 +1,513 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumHierarchical (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumHierarchical (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumHierarchical.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" target="_top">Frames</a></li>
+<li><a href="QuorumHierarchical.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.flexible</div>
+<h2 title="Class QuorumHierarchical" class="title">Class QuorumHierarchical</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.flexible.QuorumHierarchical</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumHierarchical</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></pre>
+<div class="block">This class implements a validator for hierarchical quorums. With this
+ construction, zookeeper servers are split into disjoint groups, and
+ each server has a weight. We obtain a quorum if we get more than half
+ of the total weight of a group for a majority of groups.
+
+ The configuration of quorums uses two parameters: group and weight.
+ Groups are sets of ZooKeeper servers, and we set a group by passing
+ a colon-separated list of server ids. It is also necessary to assign
+ weights to server. Here is an example of a configuration that creates
+ three groups and assigns a weight of 1 to each server:
+
+ group.1=1:2:3
+ group.2=4:5:6
+ group.3=7:8:9
+
+ weight.1=1
+ weight.2=1
+ weight.3=1
+ weight.4=1
+ weight.5=1
+ weight.6=1
+ weight.7=1
+ weight.8=1
+ weight.9=1
+
+ Note that it is still necessary to define peers using the server keyword.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#QuorumHierarchical-java.util.Properties-">QuorumHierarchical</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;qp)</code>
+<div class="block">This constructor takes a set of properties.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#QuorumHierarchical-java.lang.String-">QuorumHierarchical</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</code>
+<div class="block">This constructor requires the quorum configuration
+ to be declared in a separate file, and it takes the
+ file as an input parameter.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#containsQuorum-java.util.Set-">containsQuorum</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;set)</code>
+<div class="block">Verifies if a given set is a quorum.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#getAllMembers--">getAllMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#getObservingMembers--">getObservingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#getVersion--">getVersion</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#getVotingMembers--">getVotingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#getWeight-long-">getWeight</a></span>(long&nbsp;id)</code>
+<div class="block">Returns the weight of a server.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#setVersion-long-">setVersion</a></span>(long&nbsp;ver)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></h3>
+<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#askOracle--">askOracle</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getNeedOracle--">getNeedOracle</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getOraclePath--">getOraclePath</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#overrideQuorumDecision-java.util.List-">overrideQuorumDecision</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">revalidateOutstandingProp</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateVoteset-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-boolean-">revalidateVoteset</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#updateNeedOracle-java.util.List-">updateNeedOracle</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumHierarchical-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumHierarchical</h4>
+<pre>public&nbsp;QuorumHierarchical(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)
+ throws <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<div class="block">This constructor requires the quorum configuration
+ to be declared in a separate file, and it takes the
+ file as an input parameter.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="QuorumHierarchical-java.util.Properties-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumHierarchical</h4>
+<pre>public&nbsp;QuorumHierarchical(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;qp)
+ throws <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<div class="block">This constructor takes a set of properties. We use
+ it in the unit test for this feature.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#equals-java.lang.Object-">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getWeight-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWeight</h4>
+<pre>public&nbsp;long&nbsp;getWeight(long&nbsp;id)</pre>
+<div class="block">Returns the weight of a server.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getWeight-long-">getWeight</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>id</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="getAllMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllMembers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getAllMembers()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getAllMembers--">getAllMembers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#toString--">toString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="containsQuorum-java.util.Set-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsQuorum</h4>
+<pre>public&nbsp;boolean&nbsp;containsQuorum(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;set)</pre>
+<div class="block">Verifies if a given set is a quorum.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#containsQuorum-java.util.Set-">containsQuorum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getVotingMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVotingMembers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getVotingMembers()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getVotingMembers--">getVotingMembers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getObservingMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObservingMembers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getObservingMembers()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getObservingMembers--">getObservingMembers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getVersion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVersion</h4>
+<pre>public&nbsp;long&nbsp;getVersion()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getVersion--">getVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setVersion-long-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setVersion</h4>
+<pre>public&nbsp;void&nbsp;setVersion(long&nbsp;ver)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#setVersion-long-">setVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumHierarchical.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" target="_top">Frames</a></li>
+<li><a href="QuorumHierarchical.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html
new file mode 100644
index 000000000..88e2c5404
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html
@@ -0,0 +1,517 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumMaj (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumMaj (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumMaj.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" target="_top">Frames</a></li>
+<li><a href="QuorumMaj.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.flexible</div>
+<h2 title="Class QuorumMaj" class="title">Class QuorumMaj</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.flexible.QuorumMaj</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumOracleMaj</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumMaj</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></pre>
+<div class="block">This class implements a validator for majority quorums. The implementation is
+ straightforward.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#half">half</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#QuorumMaj-java.util.Map-">QuorumMaj</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;allMembers)</code>
+<div class="block">Defines a majority to avoid computing it every time.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#QuorumMaj-java.util.Properties-">QuorumMaj</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;props)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#containsQuorum-java.util.Set-">containsQuorum</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;ackSet)</code>
+<div class="block">Verifies if a set is a majority.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getAllMembers--">getAllMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getObservingMembers--">getObservingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getVersion--">getVersion</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getVotingMembers--">getVotingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getWeight-long-">getWeight</a></span>(long&nbsp;id)</code>
+<div class="block">Returns weight of 1 by default.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#setVersion-long-">setVersion</a></span>(long&nbsp;ver)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier">
+<!-- -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></h3>
+<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#askOracle--">askOracle</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getNeedOracle--">getNeedOracle</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getOraclePath--">getOraclePath</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#overrideQuorumDecision-java.util.List-">overrideQuorumDecision</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">revalidateOutstandingProp</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateVoteset-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-boolean-">revalidateVoteset</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#updateNeedOracle-java.util.List-">updateNeedOracle</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="half">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>half</h4>
+<pre>protected&nbsp;int half</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumMaj-java.util.Map-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumMaj</h4>
+<pre>public&nbsp;QuorumMaj(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;allMembers)</pre>
+<div class="block">Defines a majority to avoid computing it every time.</div>
+</li>
+</ul>
+<a name="QuorumMaj-java.util.Properties-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumMaj</h4>
+<pre>public&nbsp;QuorumMaj(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;props)
+ throws <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#equals-java.lang.Object-">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getWeight-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWeight</h4>
+<pre>public&nbsp;long&nbsp;getWeight(long&nbsp;id)</pre>
+<div class="block">Returns weight of 1 by default.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getWeight-long-">getWeight</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>id</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#toString--">toString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="containsQuorum-java.util.Set-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsQuorum</h4>
+<pre>public&nbsp;boolean&nbsp;containsQuorum(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;ackSet)</pre>
+<div class="block">Verifies if a set is a majority. Assumes that ackSet contains acks only
+ from votingMembers</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#containsQuorum-java.util.Set-">containsQuorum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getAllMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllMembers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getAllMembers()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getAllMembers--">getAllMembers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getVotingMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVotingMembers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getVotingMembers()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getVotingMembers--">getVotingMembers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getObservingMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObservingMembers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getObservingMembers()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getObservingMembers--">getObservingMembers</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getVersion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVersion</h4>
+<pre>public&nbsp;long&nbsp;getVersion()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getVersion--">getVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setVersion-long-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setVersion</h4>
+<pre>public&nbsp;void&nbsp;setVersion(long&nbsp;ver)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#setVersion-long-">setVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumMaj.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" target="_top">Frames</a></li>
+<li><a href="QuorumMaj.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html
new file mode 100644
index 000000000..3d39903dd
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html
@@ -0,0 +1,469 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumOracleMaj (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumOracleMaj (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumOracleMaj.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" target="_top">Frames</a></li>
+<li><a href="QuorumOracleMaj.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.flexible.QuorumMaj">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.flexible</div>
+<h2 title="Class QuorumOracleMaj" class="title">Class QuorumOracleMaj</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible.QuorumMaj</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuorumOracleMaj</span>
+extends <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.zookeeper.server.quorum.flexible.QuorumMaj">
+<!-- -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></h3>
+<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#half">half</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#QuorumOracleMaj-java.util.Map-java.lang.String-">QuorumOracleMaj</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;allMembers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#QuorumOracleMaj-java.util.Properties-java.lang.String-">QuorumOracleMaj</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;props,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#askOracle--">askOracle</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#containsQuorum-java.util.Set-">containsQuorum</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;ackSet)</code>
+<div class="block">Verifies if a set is a majority.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#getNeedOracle--">getNeedOracle</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#getOraclePath--">getOraclePath</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#overrideQuorumDecision-java.util.List-">overrideQuorumDecision</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">revalidateOutstandingProp</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;self,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;outstandingProposal,
+ long&nbsp;lastCommitted)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#revalidateVoteset-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-boolean-">revalidateVoteset</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet,
+ boolean&nbsp;timeout)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html#updateNeedOracle-java.util.List-">updateNeedOracle</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.zookeeper.server.quorum.flexible.QuorumMaj">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></h3>
+<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getAllMembers--">getAllMembers</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getObservingMembers--">getObservingMembers</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getVersion--">getVersion</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getVotingMembers--">getVotingMembers</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#getWeight-long-">getWeight</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#setVersion-long-">setVersion</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#toString--">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QuorumOracleMaj-java.util.Map-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QuorumOracleMaj</h4>
+<pre>public&nbsp;QuorumOracleMaj(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;allMembers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</pre>
+</li>
+</ul>
+<a name="QuorumOracleMaj-java.util.Properties-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QuorumOracleMaj</h4>
+<pre>public&nbsp;QuorumOracleMaj(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;props,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)
+ throws <a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="updateNeedOracle-java.util.List-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateNeedOracle</h4>
+<pre>public&nbsp;boolean&nbsp;updateNeedOracle(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</pre>
+</li>
+</ul>
+<a name="askOracle--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>askOracle</h4>
+<pre>public&nbsp;boolean&nbsp;askOracle()</pre>
+</li>
+</ul>
+<a name="getNeedOracle--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNeedOracle</h4>
+<pre>public&nbsp;boolean&nbsp;getNeedOracle()</pre>
+</li>
+</ul>
+<a name="getOraclePath--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOraclePath</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOraclePath()</pre>
+</li>
+</ul>
+<a name="overrideQuorumDecision-java.util.List-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>overrideQuorumDecision</h4>
+<pre>public&nbsp;boolean&nbsp;overrideQuorumDecision(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</pre>
+</li>
+</ul>
+<a name="revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>revalidateOutstandingProp</h4>
+<pre>public&nbsp;boolean&nbsp;revalidateOutstandingProp(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;self,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;outstandingProposal,
+ long&nbsp;lastCommitted)</pre>
+</li>
+</ul>
+<a name="revalidateVoteset-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>revalidateVoteset</h4>
+<pre>public&nbsp;boolean&nbsp;revalidateVoteset(<a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet,
+ boolean&nbsp;timeout)</pre>
+</li>
+</ul>
+<a name="containsQuorum-java.util.Set-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsQuorum</h4>
+<pre>public&nbsp;boolean&nbsp;containsQuorum(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;ackSet)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#containsQuorum-java.util.Set-">QuorumMaj</a></code></span></div>
+<div class="block">Verifies if a set is a majority. Assumes that ackSet contains acks only
+ from votingMembers</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#containsQuorum-java.util.Set-">containsQuorum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#containsQuorum-java.util.Set-">containsQuorum</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#equals-java.lang.Object-">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumOracleMaj.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" target="_top">Frames</a></li>
+<li><a href="QuorumOracleMaj.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.zookeeper.server.quorum.flexible.QuorumMaj">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html
new file mode 100644
index 000000000..62037b707
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuorumVerifier (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="QuorumVerifier (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":18,"i1":6,"i2":6,"i3":6,"i4":18,"i5":6,"i6":18,"i7":6,"i8":6,"i9":6,"i10":18,"i11":18,"i12":18,"i13":6,"i14":6,"i15":18};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumVerifier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" target="_top">Frames</a></li>
+<li><a href="QuorumVerifier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.zookeeper.server.quorum.flexible</div>
+<h2 title="Interface QuorumVerifier" class="title">Interface QuorumVerifier</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumHierarchical</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a>, <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumOracleMaj</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">QuorumVerifier</span></pre>
+<div class="block">All quorum validators have to implement a method called
+ containsQuorum, which verifies if a HashSet of server
+ identifiers constitutes a quorum.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#askOracle--">askOracle</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#containsQuorum-java.util.Set-">containsQuorum</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;set)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getAllMembers--">getAllMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getNeedOracle--">getNeedOracle</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getObservingMembers--">getObservingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getOraclePath--">getOraclePath</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getVersion--">getVersion</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getVotingMembers--">getVotingMembers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#getWeight-long-">getWeight</a></span>(long&nbsp;id)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#overrideQuorumDecision-java.util.List-">overrideQuorumDecision</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">revalidateOutstandingProp</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;self,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;outstandingProposal,
+ long&nbsp;lastCommitted)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#revalidateVoteset-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-boolean-">revalidateVoteset</a></span>(<a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet,
+ boolean&nbsp;timeout)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#setVersion-long-">setVersion</a></span>(long&nbsp;ver)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html#updateNeedOracle-java.util.List-">updateNeedOracle</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getWeight-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWeight</h4>
+<pre>long&nbsp;getWeight(long&nbsp;id)</pre>
+</li>
+</ul>
+<a name="containsQuorum-java.util.Set-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsQuorum</h4>
+<pre>boolean&nbsp;containsQuorum(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;set)</pre>
+</li>
+</ul>
+<a name="getVersion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVersion</h4>
+<pre>long&nbsp;getVersion()</pre>
+</li>
+</ul>
+<a name="setVersion-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setVersion</h4>
+<pre>void&nbsp;setVersion(long&nbsp;ver)</pre>
+</li>
+</ul>
+<a name="getAllMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllMembers</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getAllMembers()</pre>
+</li>
+</ul>
+<a name="getVotingMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVotingMembers</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getVotingMembers()</pre>
+</li>
+</ul>
+<a name="getObservingMembers--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObservingMembers</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;getObservingMembers()</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="updateNeedOracle-java.util.List-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateNeedOracle</h4>
+<pre>default&nbsp;boolean&nbsp;updateNeedOracle(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</pre>
+</li>
+</ul>
+<a name="getNeedOracle--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNeedOracle</h4>
+<pre>default&nbsp;boolean&nbsp;getNeedOracle()</pre>
+</li>
+</ul>
+<a name="askOracle--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>askOracle</h4>
+<pre>default&nbsp;boolean&nbsp;askOracle()</pre>
+</li>
+</ul>
+<a name="overrideQuorumDecision-java.util.List-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>overrideQuorumDecision</h4>
+<pre>default&nbsp;boolean&nbsp;overrideQuorumDecision(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a>&gt;&nbsp;forwardingFollowers)</pre>
+</li>
+</ul>
+<a name="revalidateOutstandingProp-org.apache.zookeeper.server.quorum.Leader-java.util.ArrayList-long-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>revalidateOutstandingProp</h4>
+<pre>default&nbsp;boolean&nbsp;revalidateOutstandingProp(<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a>&nbsp;self,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a>&gt;&nbsp;outstandingProposal,
+ long&nbsp;lastCommitted)</pre>
+</li>
+</ul>
+<a name="revalidateVoteset-org.apache.zookeeper.server.quorum.SyncedLearnerTracker-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>revalidateVoteset</h4>
+<pre>default&nbsp;boolean&nbsp;revalidateVoteset(<a href="../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;voteSet,
+ boolean&nbsp;timeout)</pre>
+</li>
+</ul>
+<a name="getOraclePath--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOraclePath</h4>
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOraclePath()</pre>
+</li>
+</ul>
+<a name="toString--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuorumVerifier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" target="_top">Frames</a></li>
+<li><a href="QuorumVerifier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html
new file mode 100644
index 000000000..363f48a1a
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumHierarchical (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumHierarchical (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html" target="_top">Frames</a></li>
+<li><a href="QuorumHierarchical.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumHierarchical" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.flexible.QuorumHierarchical</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.flexible.QuorumHierarchical</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/class-use/QuorumHierarchical.html" target="_top">Frames</a></li>
+<li><a href="QuorumHierarchical.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html
new file mode 100644
index 000000000..072921abc
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumMaj (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumMaj (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html" target="_top">Frames</a></li>
+<li><a href="QuorumMaj.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumMaj" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.flexible.QuorumMaj</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumOracleMaj</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html" target="_top">Frames</a></li>
+<li><a href="QuorumMaj.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html
new file mode 100644
index 000000000..b34e89bb5
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html" target="_top">Frames</a></li>
+<li><a href="QuorumOracleMaj.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj" class="title">Uses of Class<br>org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/class-use/QuorumOracleMaj.html" target="_top">Frames</a></li>
+<li><a href="QuorumOracleMaj.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html
new file mode 100644
index 000000000..d6dbc3bf2
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html
@@ -0,0 +1,385 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.zookeeper.server.quorum.flexible.QuorumVerifier (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface org.apache.zookeeper.server.quorum.flexible.QuorumVerifier (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html" target="_top">Frames</a></li>
+<li><a href="QuorumVerifier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.zookeeper.server.quorum.flexible.QuorumVerifier" class="title">Uses of Interface<br>org.apache.zookeeper.server.quorum.flexible.QuorumVerifier</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a> in <a href="../../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> declared as <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Request.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/Request.html#qv">qv</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a> with parameters of type <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ZKDatabase.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/ZKDatabase.html#initConfigInZKDatabase-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">initConfigInZKDatabase</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> declared as <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#lastSeenQuorumVerifier">lastSeenQuorumVerifier</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#quorumVerifier">quorumVerifier</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> that return <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#configFromString-java.lang.String-">configFromString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getLastSeenQuorumVerifier--">getLastSeenQuorumVerifier</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getLastSeenQuorumVerifier--">getLastSeenQuorumVerifier</a></span>()</code>
+<div class="block">Return QuorumVerifier object for the last proposed configuration.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#getQuorumVerifier--">getQuorumVerifier</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SyncedLearnerTracker.QuorumVerifierAcksetPair.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html#getQuorumVerifier--">getQuorumVerifier</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#getQuorumVerifier--">getQuorumVerifier</a></span>()</code>
+<div class="block">Return QuorumVerifier object for the last committed configuration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#parseDynamicConfig-java.util.Properties-int-boolean-boolean-java.lang.String-">parseDynamicConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;dynamicConfigProp,
+ int&nbsp;eAlg,
+ boolean&nbsp;warnings,
+ boolean&nbsp;configBackwardCompatibilityMode,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oraclePath)</code>
+<div class="block">Parse dynamic configuration file and return
+ quorumVerifier for new configuration.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">setQuorumVerifier</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;writeToDisk)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SyncedLearnerTracker.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html#addQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">addQuorumVerifier</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Leader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/Leader.html#isQuorumSynced-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">isQuorumSynced</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv)</code>
+<div class="block">Returns true if a quorum in qv is connected and synced with the leader
+ and false otherwise</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#processReconfig-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-java.lang.Long-java.lang.Long-boolean-">processReconfig</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;suggestedLeaderId,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;zxid,
+ boolean&nbsp;restartLE)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#restartLeaderElection-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">restartLeaderElection</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qvOLD,
+ <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qvNEW)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setLastSeenQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">setLastSeenQuorumVerifier</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;writeToDisk)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#setQuorumVerifier-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">setQuorumVerifier</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;writeToDisk)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuorumPeerConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html#writeDynamicConfig-java.lang.String-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-boolean-">writeDynamicConfig</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dynamicConfigFilename,
+ <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ boolean&nbsp;needKeepVersion)</code>
+<div class="block">Writes dynamic configuration file</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> with parameters of type <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-int-long-int-int-int-int-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;snapDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;logDir,
+ int&nbsp;clientPort,
+ int&nbsp;electionAlg,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;quorumConfig)</code>
+<div class="block">This constructor is only used by the existing unit test code.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html#QuorumPeer-java.util.Map-java.io.File-java.io.File-int-long-int-int-int-int-boolean-org.apache.zookeeper.server.ServerCnxnFactory-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-">QuorumPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&gt;&nbsp;quorumPeers,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataDir,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;dataLogDir,
+ int&nbsp;electionType,
+ long&nbsp;myid,
+ int&nbsp;tickTime,
+ int&nbsp;initLimit,
+ int&nbsp;syncLimit,
+ int&nbsp;connectToLearnerMasterLimit,
+ boolean&nbsp;quorumListenOnAllIPs,
+ <a href="../../../../../../../org/apache/zookeeper/server/ServerCnxnFactory.html" title="class in org.apache.zookeeper.server">ServerCnxnFactory</a>&nbsp;cnxnFactory,
+ <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;quorumConfig)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html#QuorumVerifierAcksetPair-org.apache.zookeeper.server.quorum.flexible.QuorumVerifier-java.util.HashSet-">QuorumVerifierAcksetPair</a></span>(<a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>&nbsp;qv,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;ackset)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a> in <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> that implement <a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumHierarchical</a></span></code>
+<div class="block">This class implements a validator for hierarchical quorums.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></span></code>
+<div class="block">This class implements a validator for majority quorums.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumOracleMaj</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html" target="_top">Frames</a></li>
+<li><a href="QuorumVerifier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-frame.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-frame.html
new file mode 100644
index 000000000..b566c526c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-frame.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum.flexible (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html" target="classFrame">org.apache.zookeeper.server.quorum.flexible</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible" target="classFrame"><span class="interfaceName">QuorumVerifier</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible" target="classFrame">QuorumHierarchical</a></li>
+<li><a href="QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible" target="classFrame">QuorumMaj</a></li>
+<li><a href="QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible" target="classFrame">QuorumOracleMaj</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-summary.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-summary.html
new file mode 100644
index 000000000..663eb4ee9
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-summary.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum.flexible (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="org.apache.zookeeper.server.quorum.flexible (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.zookeeper.server.quorum.flexible</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a></td>
+<td class="colLast">
+<div class="block">All quorum validators have to implement a method called
+ containsQuorum, which verifies if a HashSet of server
+ identifiers constitutes a quorum.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumHierarchical</a></td>
+<td class="colLast">
+<div class="block">This class implements a validator for hierarchical quorums.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a></td>
+<td class="colLast">
+<div class="block">This class implements a validator for majority quorums.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible">QuorumOracleMaj</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-tree.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-tree.html
new file mode 100644
index 000000000..511454272
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-tree.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum.flexible Class Hierarchy (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="org.apache.zookeeper.server.quorum.flexible Class Hierarchy (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.zookeeper.server.quorum.flexible</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">QuorumHierarchical</span></a> (implements org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">QuorumMaj</span></a> (implements org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.html" title="class in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">QuorumOracleMaj</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.flexible.<a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/QuorumVerifier.html" title="interface in org.apache.zookeeper.server.quorum.flexible"><span class="typeNameLink">QuorumVerifier</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/zookeeper/server/quorum/auth/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/zookeeper/server/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-use.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-use.html
new file mode 100644
index 000000000..88d03520f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/flexible/package-use.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.zookeeper.server.quorum.flexible (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package org.apache.zookeeper.server.quorum.flexible (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.zookeeper.server.quorum.flexible" class="title">Uses of Package<br>org.apache.zookeeper.server.quorum.flexible</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> used by <a href="../../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html#org.apache.zookeeper.server">QuorumVerifier</a>
+<div class="block">All quorum validators have to implement a method called
+ containsQuorum, which verifies if a HashSet of server
+ identifiers constitutes a quorum.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> used by <a href="../../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html#org.apache.zookeeper.server.quorum">QuorumVerifier</a>
+<div class="block">All quorum validators have to implement a method called
+ containsQuorum, which verifies if a HashSet of server
+ identifiers constitutes a quorum.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a> used by <a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/class-use/QuorumMaj.html#org.apache.zookeeper.server.quorum.flexible">QuorumMaj</a>
+<div class="block">This class implements a validator for majority quorums.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/zookeeper/server/quorum/flexible/class-use/QuorumVerifier.html#org.apache.zookeeper.server.quorum.flexible">QuorumVerifier</a>
+<div class="block">All quorum validators have to implement a method called
+ containsQuorum, which verifies if a HashSet of server
+ identifiers constitutes a quorum.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/zookeeper/server/quorum/flexible/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-frame.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-frame.html
new file mode 100644
index 000000000..5d5f696bb
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-frame.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html" target="classFrame">org.apache.zookeeper.server.quorum</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Election.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">Election</span></a></li>
+<li><a href="FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">FollowerMXBean</span></a></li>
+<li><a href="LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">LeaderElectionMXBean</span></a></li>
+<li><a href="LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">LeaderMXBean</span></a></li>
+<li><a href="LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">LearnerHandlerMXBean</span></a></li>
+<li><a href="LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">LocalPeerMXBean</span></a></li>
+<li><a href="ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">ObserverMXBean</span></a></li>
+<li><a href="QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">QuorumMXBean</span></a></li>
+<li><a href="QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">QuorumStats.Provider</span></a></li>
+<li><a href="RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">RemotePeerMXBean</span></a></li>
+<li><a href="ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum" target="classFrame"><span class="interfaceName">ServerMXBean</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="BufferStats.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">BufferStats</a></li>
+<li><a href="CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">CommitProcessor</a></li>
+<li><a href="FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">FastLeaderElection</a></li>
+<li><a href="FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">FastLeaderElection.Notification</a></li>
+<li><a href="FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">FastLeaderElection.ToSend</a></li>
+<li><a href="Follower.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">Follower</a></li>
+<li><a href="FollowerBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">FollowerBean</a></li>
+<li><a href="FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">FollowerRequestProcessor</a></li>
+<li><a href="FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">FollowerZooKeeperServer</a></li>
+<li><a href="Leader.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">Leader</a></li>
+<li><a href="Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">Leader.Proposal</a></li>
+<li><a href="LeaderBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LeaderBean</a></li>
+<li><a href="LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LeaderElectionBean</a></li>
+<li><a href="LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LeaderRequestProcessor</a></li>
+<li><a href="LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LeaderSessionTracker</a></li>
+<li><a href="LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LeaderZooKeeperServer</a></li>
+<li><a href="Learner.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">Learner</a></li>
+<li><a href="LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LearnerHandler</a></li>
+<li><a href="LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LearnerHandlerBean</a></li>
+<li><a href="LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LearnerMaster</a></li>
+<li><a href="LearnerSender.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LearnerSender</a></li>
+<li><a href="LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LearnerSessionTracker</a></li>
+<li><a href="LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LearnerSyncRequest</a></li>
+<li><a href="LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LearnerSyncThrottler</a></li>
+<li><a href="LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LearnerZooKeeperServer</a></li>
+<li><a href="LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LocalPeerBean</a></li>
+<li><a href="LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">LocalSessionTracker</a></li>
+<li><a href="MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">MultipleAddresses</a></li>
+<li><a href="Observer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">Observer</a></li>
+<li><a href="ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">ObserverMaster</a></li>
+<li><a href="ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">ObserverRequestProcessor</a></li>
+<li><a href="ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">ObserverZooKeeperServer</a></li>
+<li><a href="PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">PrependableSocket</a></li>
+<li><a href="ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">ProposalRequestProcessor</a></li>
+<li><a href="QuorumBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumBean</a></li>
+<li><a href="QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumCnxManager</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumCnxManager.InitialMessage</a></li>
+<li><a href="QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumCnxManager.Message</a></li>
+<li><a href="QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeer</a></li>
+<li><a href="QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeer.AddressTuple</a></li>
+<li><a href="QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeer.QuorumServer</a></li>
+<li><a href="QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeerConfig</a></li>
+<li><a href="QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeerMain</a></li>
+<li><a href="QuorumStats.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumStats</a></li>
+<li><a href="QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumZooKeeperServer</a></li>
+<li><a href="ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">ReadOnlyBean</a></li>
+<li><a href="ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">ReadOnlyRequestProcessor</a></li>
+<li><a href="ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">ReadOnlyZooKeeperServer</a></li>
+<li><a href="RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">RemotePeerBean</a></li>
+<li><a href="SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">SendAckRequestProcessor</a></li>
+<li><a href="ServerBean.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">ServerBean</a></li>
+<li><a href="StateSummary.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">StateSummary</a></li>
+<li><a href="SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">SyncedLearnerTracker</a></li>
+<li><a href="SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">SyncedLearnerTracker.QuorumVerifierAcksetPair</a></li>
+<li><a href="UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">UnifiedServerSocket</a></li>
+<li><a href="UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">UnifiedServerSocket.UnifiedSocket</a></li>
+<li><a href="UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">UpgradeableSessionTracker</a></li>
+<li><a href="Vote.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">Vote</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum" target="classFrame">LearnerSyncThrottler.SyncType</a></li>
+<li><a href="QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeer.LearnerType</a></li>
+<li><a href="QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeer.ServerState</a></li>
+<li><a href="QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeer.SyncMode</a></li>
+<li><a href="QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeer.ZabState</a></li>
+</ul>
+<h2 title="Exceptions">Exceptions</h2>
+<ul title="Exceptions">
+<li><a href="Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">Leader.XidRolloverException</a></li>
+<li><a href="QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumCnxManager.InitialMessage.InitialMessageException</a></li>
+<li><a href="QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">QuorumPeerConfig.ConfigException</a></li>
+<li><a href="SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum" target="classFrame">SyncThrottleException</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-summary.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-summary.html
new file mode 100644
index 000000000..981d6c04c
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-summary.html
@@ -0,0 +1,612 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="org.apache.zookeeper.server.quorum (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/persistence/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.zookeeper.server.quorum</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a></td>
+<td class="colLast">
+<div class="block">Follower MBean</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a></td>
+<td class="colLast">
+<div class="block">Leader election protocol MBean.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a></td>
+<td class="colLast">
+<div class="block">Leader MBean.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a></td>
+<td class="colLast">
+<div class="block">This MBean represents a server connection for a learner.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a></td>
+<td class="colLast">
+<div class="block">A local zookeeper server MBean interface.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ObserverMXBean</a></td>
+<td class="colLast">
+<div class="block">Observer MX Bean interface, implemented by ObserverBean</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a></td>
+<td class="colLast">
+<div class="block">An MBean representing a zookeeper cluster nodes (aka quorum peers)</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a></td>
+<td class="colLast">
+<div class="block">A proxy for a remote quorum peer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a></td>
+<td class="colLast">
+<div class="block">A quorum server MBean.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum">BufferStats</a></td>
+<td class="colLast">
+<div class="block">Provides live statistics about Jute buffer usage in term of proposal and client request size.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum">CommitProcessor</a></td>
+<td class="colLast">
+<div class="block">This RequestProcessor matches the incoming committed requests with the
+ locally submitted requests.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection</a></td>
+<td class="colLast">
+<div class="block">Implementation of leader election using TCP.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection.Notification</a></td>
+<td class="colLast">
+<div class="block">Notifications are messages that let other peers know that
+ a given peer has changed its vote, either because it has
+ joined leader election or because it learned of another
+ peer with higher zxid or same zxid and higher server id</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum">FastLeaderElection.ToSend</a></td>
+<td class="colLast">
+<div class="block">Messages that a peer wants to send to other peers.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum">Follower</a></td>
+<td class="colLast">
+<div class="block">This class has the control logic for the Follower.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum">FollowerBean</a></td>
+<td class="colLast">
+<div class="block">Follower MBean interface implementation</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">FollowerRequestProcessor</a></td>
+<td class="colLast">
+<div class="block">This RequestProcessor forwards any requests that modify the state of the
+ system to the Leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a></td>
+<td class="colLast">
+<div class="block">Just like the standard ZooKeeperServer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum">Leader</a></td>
+<td class="colLast">
+<div class="block">This class has the control logic for the Leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum">Leader.Proposal</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderBean</a></td>
+<td class="colLast">
+<div class="block">Leader MBean interface implementation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum">LeaderElectionBean</a></td>
+<td class="colLast">
+<div class="block">Leader election MBean interface implementation</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">LeaderRequestProcessor</a></td>
+<td class="colLast">
+<div class="block">Responsible for performing local session upgrade.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LeaderSessionTracker</a></td>
+<td class="colLast">
+<div class="block">The leader session tracker tracks local and global sessions on the leader.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a></td>
+<td class="colLast">
+<div class="block">Just like the standard ZooKeeperServer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum">Learner</a></td>
+<td class="colLast">
+<div class="block">This class is the superclass of two of the three main actors in a ZK
+ ensemble: Followers and Observers.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandler</a></td>
+<td class="colLast">
+<div class="block">There will be an instance of this class created by the Leader for each
+ learner.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum">LearnerHandlerBean</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum">LearnerMaster</a></td>
+<td class="colLast">
+<div class="block">interface for keeping Observers in sync</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html" title="class in org.apache.zookeeper.server.quorum">LearnerSender</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LearnerSessionTracker</a></td>
+<td class="colLast">
+<div class="block">The learner session tracker is used by learners (followers and observers) to
+ track zookeeper sessions which may or may not be echoed to the leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncRequest</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a></td>
+<td class="colLast">
+<div class="block">Utility class to limit the number of concurrent syncs from a leader to
+ observers and followers or from a follower to observers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a></td>
+<td class="colLast">
+<div class="block">Parent class for all ZooKeeperServers for Learners</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum">LocalPeerBean</a></td>
+<td class="colLast">
+<div class="block">Implementation of the local peer MBean interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">LocalSessionTracker</a></td>
+<td class="colLast">
+<div class="block">Local session tracker.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum">MultipleAddresses</a></td>
+<td class="colLast">
+<div class="block">This class allows to store several quorum and electing addresses.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum">Observer</a></td>
+<td class="colLast">
+<div class="block">Observers are peers that do not take part in the atomic broadcast protocol.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum">ObserverMaster</a></td>
+<td class="colLast">
+<div class="block">Used by Followers to host Observers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">ObserverRequestProcessor</a></td>
+<td class="colLast">
+<div class="block">This RequestProcessor forwards any requests that modify the state of the
+ system to the Leader.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a></td>
+<td class="colLast">
+<div class="block">A ZooKeeperServer for the Observer node type.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum">PrependableSocket</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">ProposalRequestProcessor</a></td>
+<td class="colLast">
+<div class="block">This RequestProcessor simply forwards requests to an AckRequestProcessor and
+ SyncRequestProcessor.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum">QuorumBean</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager</a></td>
+<td class="colLast">
+<div class="block">This class implements a connection manager for leader election using TCP.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer</a></td>
+<td class="colLast">
+<div class="block">This class manages the quorum protocol.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.AddressTuple</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerMain</a></td>
+<td class="colLast">
+<div class="block">Configuration file</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum">QuorumStats</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a></td>
+<td class="colLast">
+<div class="block">Abstract base class for all ZooKeeperServers that participate in
+ a quorum.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum">ReadOnlyBean</a></td>
+<td class="colLast">
+<div class="block">ReadOnly MX Bean interface, implemented by ReadOnlyBean</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">ReadOnlyRequestProcessor</a></td>
+<td class="colLast">
+<div class="block">This processor is at the beginning of the ReadOnlyZooKeeperServer's
+ processors chain.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum">ReadOnlyZooKeeperServer</a></td>
+<td class="colLast">
+<div class="block">A ZooKeeperServer which comes into play when peer is partitioned from the
+ majority.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum">RemotePeerBean</a></td>
+<td class="colLast">
+<div class="block">A remote peer bean only provides limited information about the remote peer,
+ and the peer cannot be managed remotely.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum">SendAckRequestProcessor</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum">ServerBean</a></td>
+<td class="colLast">
+<div class="block">An abstract base class for the leader and follower MBeans.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum">StateSummary</a></td>
+<td class="colLast">
+<div class="block">This class encapsulates the state comparison logic.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum">UnifiedServerSocket</a></td>
+<td class="colLast">
+<div class="block">A ServerSocket that can act either as a regular ServerSocket, as a SSLServerSocket, or as both, depending on
+ the constructor parameters and on the type of client (TLS or plaintext) that connects to it.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum">UnifiedServerSocket.UnifiedSocket</a></td>
+<td class="colLast">
+<div class="block">The result of calling accept() on a UnifiedServerSocket.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a></td>
+<td class="colLast">
+<div class="block">A session tracker that supports upgradeable local sessions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum">Vote</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a></td>
+<td class="colLast">
+<div class="block">(Used for monitoring) When peer is in synchronization phase, this shows
+ which synchronization mechanism is being used</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a></td>
+<td class="colLast">
+<div class="block">(Used for monitoring) shows the current phase of
+ Zab protocol that peer is running.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
+<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Exception</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum">Leader.XidRolloverException</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage.InitialMessageException</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum">SyncThrottleException</a></td>
+<td class="colLast">
+<div class="block">Thrown when a <a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum"><code>Leader</code></a> has too many concurrent syncs being sent
+ to observers.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/persistence/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/auth/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-tree.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-tree.html
new file mode 100644
index 000000000..6b671076f
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-tree.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.zookeeper.server.quorum Class Hierarchy (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="org.apache.zookeeper.server.quorum Class Hierarchy (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/persistence/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/auth/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.zookeeper.server.quorum</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/BufferStats.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">BufferStats</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">FastLeaderElection</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum">Election</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Messenger.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">FastLeaderElection.Messenger</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.Notification.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">FastLeaderElection.Notification</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FastLeaderElection.ToSend.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">FastLeaderElection.ToSend</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LeaderElectionBean</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a>, org.apache.zookeeper.jmx.<a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LeaderRequestProcessor</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Learner.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Learner</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Follower.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Follower</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Observer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Observer</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerHandlerBean</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a>, org.apache.zookeeper.jmx.<a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerMaster</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Leader</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMaster.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ObserverMaster</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerSyncThrottler</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/MultipleAddresses.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">MultipleAddresses</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ProposalRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ProposalRequestProcessor</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumBean</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum">QuorumMXBean</a>, org.apache.zookeeper.jmx.<a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumCnxManager</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumCnxManager.InitialMessage</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Message.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumCnxManager.Message</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.AddressTuple.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeer.AddressTuple</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.QuorumServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeer.QuorumServer</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeerConfig</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerMain.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeerMain</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumStats</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">RemotePeerBean</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">RemotePeerMXBean</a>, org.apache.zookeeper.jmx.<a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>)</li>
+<li type="circle">org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/Request.html" title="class in org.apache.zookeeper.server"><span class="typeNameLink">Request</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncRequest.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerSyncRequest</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/SendAckRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">SendAckRequestProcessor</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</a>, org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ServerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ServerBean</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">ServerMXBean</a>, org.apache.zookeeper.jmx.<a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LocalPeerBean</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LocalPeerMXBean</a>)</li>
+</ul>
+</li>
+<li type="circle">java.net.<a href="https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net"><span class="typeNameLink">ServerSocket</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">UnifiedServerSocket</span></a></li>
+</ul>
+</li>
+<li type="circle">java.net.<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net"><span class="typeNameLink">Socket</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/PrependableSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">PrependableSocket</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/UnifiedServerSocket.UnifiedSocket.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">UnifiedServerSocket.UnifiedSocket</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/StateSummary.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">StateSummary</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">SyncedLearnerTracker</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.Proposal.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Leader.Proposal</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/SyncedLearnerTracker.QuorumVerifierAcksetPair.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">SyncedLearnerTracker.QuorumVerifierAcksetPair</span></a></li>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Thread</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperThread.html" title="class in org.apache.zookeeper.server"><span class="typeNameLink">ZooKeeperThread</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandler.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerHandler</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.Listener.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumCnxManager.Listener</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeer</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum">QuorumStats.Provider</a>)</li>
+<li type="circle">org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperCriticalThread.html" title="class in org.apache.zookeeper.server"><span class="typeNameLink">ZooKeeperCriticalThread</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/CommitProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">CommitProcessor</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FollowerRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">FollowerRequestProcessor</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSender.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerSender</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ObserverRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ObserverRequestProcessor</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyRequestProcessor.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ReadOnlyRequestProcessor</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/RequestProcessor.html" title="interface in org.apache.zookeeper.server">RequestProcessor</a>)</li>
+<li type="circle">org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTrackerImpl.html" title="class in org.apache.zookeeper.server"><span class="typeNameLink">SessionTrackerImpl</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LocalSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LocalSessionTracker</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Leader.XidRolloverException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Leader.XidRolloverException</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumCnxManager.InitialMessage.InitialMessageException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumCnxManager.InitialMessage.InitialMessageException</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeerConfig.ConfigException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeerConfig.ConfigException</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/SyncThrottleException.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">SyncThrottleException</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">UpgradeableSessionTracker</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTracker.html" title="interface in org.apache.zookeeper.server">SessionTracker</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LeaderSessionTracker</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSessionTracker.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerSessionTracker</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Vote.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Vote</span></a></li>
+<li type="circle">org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServer.html" title="class in org.apache.zookeeper.server"><span class="typeNameLink">ZooKeeperServer</span></a> (implements org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ServerStats.Provider.html" title="interface in org.apache.zookeeper.server">ServerStats.Provider</a>, org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/SessionTracker.SessionExpirer.html" title="interface in org.apache.zookeeper.server">SessionTracker.SessionExpirer</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumZooKeeperServer</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LeaderZooKeeperServer</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerZooKeeperServer</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">FollowerZooKeeperServer</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ObserverZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ObserverZooKeeperServer</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyZooKeeperServer.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ReadOnlyZooKeeperServer</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerBean.html" title="class in org.apache.zookeeper.server"><span class="typeNameLink">ZooKeeperServerBean</span></a> (implements org.apache.zookeeper.jmx.<a href="../../../../../org/apache/zookeeper/jmx/ZKMBeanInfo.html" title="interface in org.apache.zookeeper.jmx">ZKMBeanInfo</a>, org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server">ZooKeeperServerMXBean</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FollowerBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">FollowerBean</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum">FollowerMXBean</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LeaderBean</span></a> (implements org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum">LeaderMXBean</a>)</li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ReadOnlyBean.html" title="class in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ReadOnlyBean</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/Election.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">Election</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderElectionMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LeaderElectionMXBean</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerHandlerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerHandlerMXBean</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumMXBean</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumStats.Provider.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumStats.Provider</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/RemotePeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">RemotePeerMXBean</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ServerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ServerMXBean</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LocalPeerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LocalPeerMXBean</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.zookeeper.server.<a href="../../../../../org/apache/zookeeper/server/ZooKeeperServerMXBean.html" title="interface in org.apache.zookeeper.server"><span class="typeNameLink">ZooKeeperServerMXBean</span></a>
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/FollowerMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">FollowerMXBean</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LeaderMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LeaderMXBean</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/ObserverMXBean.html" title="interface in org.apache.zookeeper.server.quorum"><span class="typeNameLink">ObserverMXBean</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/LearnerSyncThrottler.SyncType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">LearnerSyncThrottler.SyncType</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ServerState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeer.ServerState</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.ZabState.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeer.ZabState</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.SyncMode.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeer.SyncMode</span></a></li>
+<li type="circle">org.apache.zookeeper.server.quorum.<a href="../../../../../org/apache/zookeeper/server/quorum/QuorumPeer.LearnerType.html" title="enum in org.apache.zookeeper.server.quorum"><span class="typeNameLink">QuorumPeer.LearnerType</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/zookeeper/server/persistence/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/zookeeper/server/quorum/auth/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-use.html b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-use.html
new file mode 100644
index 000000000..a82d05005
--- /dev/null
+++ b/_released_docs/r3.8.1/apidocs/zookeeper-server/org/apache/zookeeper/server/quorum/package-use.html
@@ -0,0 +1,558 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_352) on Wed Jan 25 17:31:45 CET 2023 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.zookeeper.server.quorum (Apache ZooKeeper - Server 3.8.1 API)</title>
+<meta name="date" content="2023-01-25">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package org.apache.zookeeper.server.quorum (Apache ZooKeeper - Server 3.8.1 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.zookeeper.server.quorum" class="title">Uses of Package<br>org.apache.zookeeper.server.quorum</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.client">org.apache.zookeeper.client</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.common">org.apache.zookeeper.common</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server">org.apache.zookeeper.server</a></td>
+<td class="colLast">
+<div class="block">ZooKeeper server theory of operation</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.controller">org.apache.zookeeper.server.controller</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum">org.apache.zookeeper.server.quorum</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.quorum.flexible">org.apache.zookeeper.server.quorum.flexible</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.zookeeper.server.util">org.apache.zookeeper.server.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.client">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> used by <a href="../../../../../org/apache/zookeeper/client/package-summary.html">org.apache.zookeeper.client</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html#org.apache.zookeeper.client">QuorumPeerConfig.ConfigException</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.common">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> used by <a href="../../../../../org/apache/zookeeper/common/package-summary.html">org.apache.zookeeper.common</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html#org.apache.zookeeper.common">QuorumPeerConfig.ConfigException</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> used by <a href="../../../../../org/apache/zookeeper/server/package-summary.html">org.apache.zookeeper.server</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/BufferStats.html#org.apache.zookeeper.server">BufferStats</a>
+<div class="block">Provides live statistics about Jute buffer usage in term of proposal and client request size.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html#org.apache.zookeeper.server">Leader.Proposal</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Observer.html#org.apache.zookeeper.server">Observer</a>
+<div class="block">Observers are peers that do not take part in the atomic broadcast protocol.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/ObserverMXBean.html#org.apache.zookeeper.server">ObserverMXBean</a>
+<div class="block">Observer MX Bean interface, implemented by ObserverBean</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html#org.apache.zookeeper.server">QuorumPeerConfig</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html#org.apache.zookeeper.server">QuorumPeerConfig.ConfigException</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.controller">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> used by <a href="../../../../../org/apache/zookeeper/server/controller/package-summary.html">org.apache.zookeeper.server.controller</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html#org.apache.zookeeper.server.controller">QuorumPeer</a>
+<div class="block">This class manages the quorum protocol.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html#org.apache.zookeeper.server.controller">QuorumPeerConfig</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html#org.apache.zookeeper.server.controller">QuorumPeerConfig.ConfigException</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> used by <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/BufferStats.html#org.apache.zookeeper.server.quorum">BufferStats</a>
+<div class="block">Provides live statistics about Jute buffer usage in term of proposal and client request size.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/CommitProcessor.html#org.apache.zookeeper.server.quorum">CommitProcessor</a>
+<div class="block">This RequestProcessor matches the incoming committed requests with the
+ locally submitted requests.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Election.html#org.apache.zookeeper.server.quorum">Election</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Follower.html#org.apache.zookeeper.server.quorum">Follower</a>
+<div class="block">This class has the control logic for the Follower.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/FollowerMXBean.html#org.apache.zookeeper.server.quorum">FollowerMXBean</a>
+<div class="block">Follower MBean</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/FollowerZooKeeperServer.html#org.apache.zookeeper.server.quorum">FollowerZooKeeperServer</a>
+<div class="block">Just like the standard ZooKeeperServer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Leader.html#org.apache.zookeeper.server.quorum">Leader</a>
+<div class="block">This class has the control logic for the Leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html#org.apache.zookeeper.server.quorum">Leader.Proposal</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Leader.XidRolloverException.html#org.apache.zookeeper.server.quorum">Leader.XidRolloverException</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LeaderBean.html#org.apache.zookeeper.server.quorum">LeaderBean</a>
+<div class="block">Leader MBean interface implementation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LeaderElectionMXBean.html#org.apache.zookeeper.server.quorum">LeaderElectionMXBean</a>
+<div class="block">Leader election protocol MBean.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LeaderMXBean.html#org.apache.zookeeper.server.quorum">LeaderMXBean</a>
+<div class="block">Leader MBean.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LeaderZooKeeperServer.html#org.apache.zookeeper.server.quorum">LeaderZooKeeperServer</a>
+<div class="block">Just like the standard ZooKeeperServer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Learner.html#org.apache.zookeeper.server.quorum">Learner</a>
+<div class="block">This class is the superclass of two of the three main actors in a ZK
+ ensemble: Followers and Observers.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html#org.apache.zookeeper.server.quorum">LearnerHandler</a>
+<div class="block">There will be an instance of this class created by the Leader for each
+ learner.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LearnerHandlerMXBean.html#org.apache.zookeeper.server.quorum">LearnerHandlerMXBean</a>
+<div class="block">This MBean represents a server connection for a learner.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LearnerMaster.html#org.apache.zookeeper.server.quorum">LearnerMaster</a>
+<div class="block">interface for keeping Observers in sync</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LearnerSyncRequest.html#org.apache.zookeeper.server.quorum">LearnerSyncRequest</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.html#org.apache.zookeeper.server.quorum">LearnerSyncThrottler</a>
+<div class="block">Utility class to limit the number of concurrent syncs from a leader to
+ observers and followers or from a follower to observers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LearnerSyncThrottler.SyncType.html#org.apache.zookeeper.server.quorum">LearnerSyncThrottler.SyncType</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LearnerZooKeeperServer.html#org.apache.zookeeper.server.quorum">LearnerZooKeeperServer</a>
+<div class="block">Parent class for all ZooKeeperServers for Learners</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LocalPeerBean.html#org.apache.zookeeper.server.quorum">LocalPeerBean</a>
+<div class="block">Implementation of the local peer MBean interface.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LocalPeerMXBean.html#org.apache.zookeeper.server.quorum">LocalPeerMXBean</a>
+<div class="block">A local zookeeper server MBean interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LocalSessionTracker.html#org.apache.zookeeper.server.quorum">LocalSessionTracker</a>
+<div class="block">Local session tracker.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/MultipleAddresses.html#org.apache.zookeeper.server.quorum">MultipleAddresses</a>
+<div class="block">This class allows to store several quorum and electing addresses.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Observer.html#org.apache.zookeeper.server.quorum">Observer</a>
+<div class="block">Observers are peers that do not take part in the atomic broadcast protocol.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/ObserverZooKeeperServer.html#org.apache.zookeeper.server.quorum">ObserverZooKeeperServer</a>
+<div class="block">A ZooKeeperServer for the Observer node type.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.html#org.apache.zookeeper.server.quorum">QuorumCnxManager</a>
+<div class="block">This class implements a connection manager for leader election using TCP.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.html#org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.InitialMessage.InitialMessageException.html#org.apache.zookeeper.server.quorum">QuorumCnxManager.InitialMessage.InitialMessageException</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Listener.html#org.apache.zookeeper.server.quorum">QuorumCnxManager.Listener</a>
+<div class="block">Thread to listen on some ports</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumCnxManager.Message.html#org.apache.zookeeper.server.quorum">QuorumCnxManager.Message</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumMXBean.html#org.apache.zookeeper.server.quorum">QuorumMXBean</a>
+<div class="block">An MBean representing a zookeeper cluster nodes (aka quorum peers)</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeer.html#org.apache.zookeeper.server.quorum">QuorumPeer</a>
+<div class="block">This class manages the quorum protocol.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeer.LearnerType.html#org.apache.zookeeper.server.quorum">QuorumPeer.LearnerType</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html#org.apache.zookeeper.server.quorum">QuorumPeer.QuorumServer</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ServerState.html#org.apache.zookeeper.server.quorum">QuorumPeer.ServerState</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeer.SyncMode.html#org.apache.zookeeper.server.quorum">QuorumPeer.SyncMode</a>
+<div class="block">(Used for monitoring) When peer is in synchronization phase, this shows
+ which synchronization mechanism is being used</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeer.ZabState.html#org.apache.zookeeper.server.quorum">QuorumPeer.ZabState</a>
+<div class="block">(Used for monitoring) shows the current phase of
+ Zab protocol that peer is running.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html#org.apache.zookeeper.server.quorum">QuorumPeerConfig</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html#org.apache.zookeeper.server.quorum">QuorumPeerConfig.ConfigException</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumStats.Provider.html#org.apache.zookeeper.server.quorum">QuorumStats.Provider</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumZooKeeperServer.html#org.apache.zookeeper.server.quorum">QuorumZooKeeperServer</a>
+<div class="block">Abstract base class for all ZooKeeperServers that participate in
+ a quorum.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/RemotePeerMXBean.html#org.apache.zookeeper.server.quorum">RemotePeerMXBean</a>
+<div class="block">A proxy for a remote quorum peer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/ServerBean.html#org.apache.zookeeper.server.quorum">ServerBean</a>
+<div class="block">An abstract base class for the leader and follower MBeans.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/ServerMXBean.html#org.apache.zookeeper.server.quorum">ServerMXBean</a>
+<div class="block">A quorum server MBean.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/StateSummary.html#org.apache.zookeeper.server.quorum">StateSummary</a>
+<div class="block">This class encapsulates the state comparison logic.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html#org.apache.zookeeper.server.quorum">SyncedLearnerTracker</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.QuorumVerifierAcksetPair.html#org.apache.zookeeper.server.quorum">SyncedLearnerTracker.QuorumVerifierAcksetPair</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/SyncThrottleException.html#org.apache.zookeeper.server.quorum">SyncThrottleException</a>
+<div class="block">Thrown when a <a href="../../../../../org/apache/zookeeper/server/quorum/Leader.html" title="class in org.apache.zookeeper.server.quorum"><code>Leader</code></a> has too many concurrent syncs being sent
+ to observers.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/UpgradeableSessionTracker.html#org.apache.zookeeper.server.quorum">UpgradeableSessionTracker</a>
+<div class="block">A session tracker that supports upgradeable local sessions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Vote.html#org.apache.zookeeper.server.quorum">Vote</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.quorum.flexible">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> used by <a href="../../../../../org/apache/zookeeper/server/quorum/flexible/package-summary.html">org.apache.zookeeper.server.quorum.flexible</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Leader.html#org.apache.zookeeper.server.quorum.flexible">Leader</a>
+<div class="block">This class has the control logic for the Leader.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/Leader.Proposal.html#org.apache.zookeeper.server.quorum.flexible">Leader.Proposal</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/LearnerHandler.html#org.apache.zookeeper.server.quorum.flexible">LearnerHandler</a>
+<div class="block">There will be an instance of this class created by the Leader for each
+ learner.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeer.QuorumServer.html#org.apache.zookeeper.server.quorum.flexible">QuorumPeer.QuorumServer</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html#org.apache.zookeeper.server.quorum.flexible">QuorumPeerConfig.ConfigException</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/SyncedLearnerTracker.html#org.apache.zookeeper.server.quorum.flexible">SyncedLearnerTracker</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.zookeeper.server.util">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/zookeeper/server/quorum/package-summary.html">org.apache.zookeeper.server.quorum</a> used by <a href="../../../../../org/apache/zookeeper/server/util/package-summary.html">org.apache.zookeeper.server.util</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.html#org.apache.zookeeper.server.util">QuorumPeerConfig</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/zookeeper/server/quorum/class-use/QuorumPeerConfig.ConfigException.html#org.apache.zookeeper.server.util">QuorumPeerConfig.ConfigException</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/zookeeper/server/quorum/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>