Skip to content

Commit

Permalink
docs: Minor clarification around globalOutstandingLimit comments
Browse files Browse the repository at this point in the history
This comment better explain how someone with a typical 3-node ensemble may end up with a 500 limit by default.

The code that "causes" this is here: https://github.com/apache/zookeeper/blob/cedf09370b88b682ae4f7bcd29c683798fa31928/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java#L166-L170

Author: Vitaliy <vitaliyf@users.noreply.github.com>

Reviewers: maoling <maoling@apache.org>

Closes #1946 from vitaliyf/docs-globaloutstandinglimit-comments
  • Loading branch information
vitaliyf authored and maoling committed Feb 17, 2023
1 parent 2e9c3f3 commit ac219ce
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions zookeeper-docs/src/main/resources/markdown/zookeeperAdmin.md
Original file line number Diff line number Diff line change
Expand Up @@ -620,9 +620,11 @@ property, when available, is noted below.
Clients can submit requests faster than ZooKeeper can
process them, especially if there are a lot of clients. To
prevent ZooKeeper from running out of memory due to queued
requests, ZooKeeper will throttle clients so that there is no
more than globalOutstandingLimit outstanding requests in the
system. The default limit is 1,000.
requests, ZooKeeper will throttle clients so that there are no
more than globalOutstandingLimit outstanding requests across
entire ensemble, equally divided. The default limit is 1,000
and, for example, with 3 members each of them will have
1000 / 2 = 500 individual limit.

* *preAllocSize* :
(Java system property: **zookeeper.preAllocSize**)
Expand All @@ -635,14 +637,14 @@ property, when available, is noted below.
* *snapCount* :
(Java system property: **zookeeper.snapCount**)
ZooKeeper records its transactions using snapshots and
a transaction log (think write-ahead log).The number of
a transaction log (think write-ahead log). The number of
transactions recorded in the transaction log before a snapshot
can be taken (and the transaction log rolled) is determined
by snapCount. In order to prevent all of the machines in the quorum
from taking a snapshot at the same time, each ZooKeeper server
will take a snapshot when the number of transactions in the transaction log
reaches a runtime generated random value in the \[snapCount/2+1, snapCount]
range.The default snapCount is 100,000.
range. The default snapCount is 100,000.

* *commitLogCount* * :
(Java system property: **zookeeper.commitLogCount**)
Expand Down

0 comments on commit ac219ce

Please sign in to comment.