Github user afine commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/349#discussion_r135338802
--- Diff: src/docs/src/documentation/content/xdocs/zookeeperAdmin.xml ---
@@ -823,10 +823,10 @@ server.3=zoo3:2888:3888</programlisting>
role="bold">zookeeper.snapCount</emphasis>)</para>
<para>ZooKeeper logs transactions to a transaction
- log. After snapCount transactions are written to a log
- file a snapshot is started and a new transaction log
- file is created. The default snapCount is
- 100,000.</para>
+ log. After the count of transactions which are written to a
log
+ file exceed a runtime-set limit in [snapCount/2,
snapCount),a snapshot
--- End diff --
I think this is an excellent documentation improvement, but we still may be
able to phrase this in a clearer way. It may be good to reiterate that
ZooKeeper writes to a transaction log between snapshotting here, so the reader
understands the purpose of the snapCount.
Perhaps something like:
> ZooKeeper records its transactions using snapshots and 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, snapCount) range.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---