Github user hanm commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/590#discussion_r219660094 --- Diff: zookeeper-docs/src/documentation/content/xdocs/zookeeperAdmin.xml --- @@ -1025,6 +1025,102 @@ server.3=zoo3:2888:3888</programlisting> </listitem> </varlistentry> + + <varlistentry> + <term>watchManaggerName</term> + + <listitem> + <para>(Java system property only: <emphasis + role="bold">zookeeper.watchManaggerName</emphasis>)</para> + + <para><emphasis role="bold">New in 3.6.0:</emphasis> Added in + <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-1179">ZOOKEEPER-1179</ulink> New watcher + manager WatchManagerOptimized is added to optimize the memory overhead in heavy watch use cases. This + config is used define which watch manager to be used. Currently, we only support WatchManager and + WatchManagerOptimized.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>watcherCleanThreadsNum</term> + + <listitem> + <para>(Java system property only: <emphasis + role="bold">zookeeper.watcherCleanThreadsNum</emphasis>)</para> + + <para><emphasis role="bold">New in 3.6.0:</emphasis> Added in + <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-1179">ZOOKEEPER-1179</ulink> The new watcher + manager WatchManagerOptimized will clean up the dead watchers lazily, this config is used to decide how + many thread is used in the WatcherCleaner. More thread usually means larger clean up throughput. The + default value is 2, which is good enough even for heavy and continuous session closing/receating cases.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>watcherCleanThreshold</term> + + <listitem> + <para>(Java system property only: <emphasis + role="bold">zookeeper.watcherCleanThreshold</emphasis>)</para> + + <para><emphasis role="bold">New in 3.6.0:</emphasis> Added in + <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-1179">ZOOKEEPER-1179</ulink> The new watcher + manager WatchManagerOptimized will clean up the dead watchers lazily, the clean up process is relatively + heavy, batch processing will reduce the cost and improve the performance. This setting is used to decide + the batch size. The default one is 1000, we don't need to change it if there is no memory or clean up + speed issue.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>watcherCleanIntervalInSeconds</term> + + <listitem> + <para>(Java system property only: <emphasis + role="bold">zookeeper.watcherCleanIntervalInSeconds</emphasis>)</para> + + <para><emphasis role="bold">New in 3.6.0:</emphasis> Added in + <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-1179">ZOOKEEPER-1179</ulink> The new watcher + manager WatchManagerOptimized will clean up the dead watchers lazily, the clean up process is relatively + heavy, batch processing will reduce the cost and improve the performance. Besides watcherCleanThreshold, + this setting is used to clean up the dead watchers after certain time even the dead watchers are not larger + than watcherCleanThreshold, so that we won't leave the dead watchers there for too long. The default setting + is 10 minutes, which usually don't need to be changed.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>maxInProcessingDeadWatchers</term> + + <listitem> + <para>(Java system property only: <emphasis + role="bold">zookeeper.maxInProcessingDeadWatchers</emphasis>)</para> + + <para><emphasis role="bold">New in 3.6.0:</emphasis> Added in + <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-1179">ZOOKEEPER-1179</ulink> This is used + to control how many backlog can we have in the WatcherCleaner, when it reaches this number, it will + slow down adding the dead watcher to WatcherCleaner, which will in turn slow down adding and closing + watchers, so that we can avoid OOM issue. By default there is no limit, you can set it to values like + watcherCleanThreshold * 1000.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>bitHashCacheSize</term> + + <listitem> + <para>(Java system property only: <emphasis + role="bold">zookeeper.bitHashCacheSize</emphasis>)</para> + + <para><emphasis role="bold">New 3.6.0:</emphasis> Added in + <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-1179">ZOOKEEPER-1179</ulink> This is the + settin used to decide the HashSet cache size in the BitHashSet implementation. Without HashSet, we + need to to use O(N) time to get the elements, N is the bit numbers in elementBits. But we need to --- End diff -- `need to` instead of `need to to`
---