[
https://issues.apache.org/jira/browse/ZOOKEEPER-3311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Enrico Olivelli resolved ZOOKEEPER-3311.
----------------------------------------
Resolution: Fixed
Fix Version/s: 3.6.0
Issue resolved by pull request 851
[https://github.com/apache/zookeeper/pull/851]
> Allow a delay to the transaction log flush
> -------------------------------------------
>
> Key: ZOOKEEPER-3311
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3311
> Project: ZooKeeper
> Issue Type: New Feature
> Components: server
> Affects Versions: 3.6.0
> Reporter: Brian Nixon
> Assignee: Brian Nixon
> Priority: Minor
> Labels: pull-request-available
> Fix For: 3.6.0
>
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> The SyncRequestProcessor flushes writes to disk either when 1000 writes are
> pending to be flushed or when the processor fails to retrieve another write
> from its incoming queue. The "flush when queue empty" condition operates
> poorly under many workloads as it can quickly degrade into flushing after
> every write -- losing all benefits of batching and leading to a continuous
> stream of flushes + fsyncs which overwhelm the underlying disk.
>
> A configurable flush delay would ensure flushes do not happen more frequently
> than once every X milliseconds. This can be used in-place of or jointly with
> batch size triggered flushes.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)