[ 
https://issues.apache.org/jira/browse/CASSANDRA-9533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14569466#comment-14569466
 ] 

Benedict commented on CASSANDRA-9533:
-------------------------------------

Well, the old behaviour really was to just ignore the property, since you can 
at most flush concurrent_writers operations in a batch (typically 32), and it 
would flush as soon as any messages that had arrived in a group had been 
written to the buffer cache. So I cannot imagine a scenario in which the upper 
limit would have been enforced.

We only updated its behaviour because the docs all described the new behaviour. 
If we just remove the docs, we're pretty much good AFAICT, although I have 
nothing against inverting the docs, and imposing an upper limit that isn't 
enforced :)

Documentation exhibits:

{code}
# When in batch mode, Cassandra won't ack writes until the commit log
# has been fsynced to disk.  It will wait up to
# commitlog_sync_batch_window_in_ms milliseconds for other writes, before
# performing the sync.
{code}

{quote}
Users familiar with PostgreSQL may note that commitlog_sync_period_in_ms and 
commitlog_batch_window_in_ms correspond to the PostgreSQL settings of 
wal_writer_delay and commit_delay, respectively.
{quote}

{quote}
commit_delay (integer)
Time delay between writing a commit record to the WAL buffer and flushing the 
buffer out to disk, in microseconds. A nonzero delay can allow multiple 
transactions to be committed with only one fsync() system call, if system load 
is high enough that additional transactions become ready to commit within the 
given interval. But the delay is just wasted if no other transactions become 
ready to commit. Therefore, the delay is only performed if at least 
commit_siblings other transactions are active at the instant that a server 
process has written its commit record. The default is zero (no delay).
{quote}

> Make batch commitlog mode easier to tune
> ----------------------------------------
>
>                 Key: CASSANDRA-9533
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9533
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Benedict
>             Fix For: 3.x
>
>
> As discussed in CASSANDRA-9504, 2.1 changed commitlog_sync_batch_window_in_ms 
> from a maximum time to wait between fsync to the minimum time, so one must be 
> very careful to keep it small enough that most writers aren't kept waiting.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to