[
https://issues.apache.org/jira/browse/ZOOKEEPER-2349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142090#comment-16142090
]
ASF GitHub Bot commented on ZOOKEEPER-2349:
-------------------------------------------
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.
> Update documentation for snapCount
> ----------------------------------
>
> Key: ZOOKEEPER-2349
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2349
> Project: ZooKeeper
> Issue Type: Bug
> Components: documentation
> Reporter: Raghavendra Prabhu
> Priority: Minor
> Attachments: ZOOKEEPER-2349.patch
>
>
> The documentation states that
> {code}
> 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.
> {code}
> However, in implementation, snapshotting is done when logCount is somwhere in
> (snapCount/2, snapCount+1], based on the limit set at runtime:
> {code}
> if (logCount > (snapCount / 2 + randRoll)) {
> {code}
> as in
> https://github.com/apache/zookeeper/blob/trunk/src/java/main/org/apache/zookeeper/server/SyncRequestProcessor.java#L124
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)