Default commitlog_sync_batch_window_in_ms changed to 2ms patch by jbellis; reveiwed by bes for CASSANDRA-9504
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/80ef2825 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/80ef2825 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/80ef2825 Branch: refs/heads/trunk Commit: 80ef2825708dbb9d0e359a2aef8cac1061b52070 Parents: 66a48e7 Author: Jonathan Ellis <[email protected]> Authored: Wed Jun 3 10:29:39 2015 -0700 Committer: Jonathan Ellis <[email protected]> Committed: Wed Jun 3 10:29:39 2015 -0700 ---------------------------------------------------------------------- CHANGES.txt | 1 + NEWS.txt | 15 +++++++++++++++ conf/cassandra.yaml | 11 +++++++---- 3 files changed, 23 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/80ef2825/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 4d38e1e..f5f9862 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.6 + * Default commitlog_sync_batch_window_in_ms changed to 2ms (CASSANDRA-9504) * Fix empty partition assertion in unsorted sstable writing tools (CASSANDRA-9071) * Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388) * Consistent error message when a table mixes counter and non-counter http://git-wip-us.apache.org/repos/asf/cassandra/blob/80ef2825/NEWS.txt ---------------------------------------------------------------------- diff --git a/NEWS.txt b/NEWS.txt index 6610d15..2f4166a 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -15,6 +15,7 @@ using the provided 'sstableupgrade' tool. 2.1.5 ===== + Upgrading --------- - The option to omit cold sstables with size tiered compaction has been @@ -24,8 +25,13 @@ Upgrading 2.1.4 ===== + +Upgrading +--------- The default JMX config now listens to localhost only. You must enable the other JMX flags in cassandra-env.sh manually. + + 2.1.3 ===== @@ -37,6 +43,7 @@ Upgrading - Incremental replacement of compacted SSTables has been disabled for this release. + 2.1.2 ===== @@ -45,6 +52,7 @@ Upgrading - Nothing specific to this release, but please see 2.1 if you are upgrading from a previous version. + 2.1.1 ===== @@ -59,6 +67,7 @@ New features reason you want to disable it pass, the following system property -Dcassandra.native.epoll.enabled=false + 2.1 === @@ -106,6 +115,11 @@ New features Upgrading --------- + - commitlog_sync_batch_window_in_ms behavior has changed from the + maximum time to wait between fsync to the minimum time. We are + working on making this more user-friendly (see CASSANDRA-9533) but in the + meantime, this means 2.1 needs a much smaller batch window to keep + writer threads from starving. The suggested default is now 2ms. - Rolling upgrades from anything pre-2.0.7 is not supported. Furthermore pre-2.0 sstables are not supported. This means that before upgrading a node on 2.1, this node must be started on 2.0 and @@ -126,6 +140,7 @@ Upgrading has been deprecated. - support for supercolumns has been removed from json2sstable + 2.0.11 ====== http://git-wip-us.apache.org/repos/asf/cassandra/blob/80ef2825/conf/cassandra.yaml ---------------------------------------------------------------------- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 2b43ba7..9d6d135 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -226,13 +226,16 @@ counter_cache_save_period: 7200 # saved_caches_directory: /var/lib/cassandra/saved_caches # commitlog_sync may be either "periodic" or "batch." +# # 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. +# has been fsynced to disk. It will wait +# commitlog_sync_batch_window_in_ms milliseconds between fsyncs. +# This window should be kept short because the writer threads will +# be unable to do extra work while waiting. (You may need to increase +# concurrent_writes for the same reason.) # # commitlog_sync: batch -# commitlog_sync_batch_window_in_ms: 50 +# commitlog_sync_batch_window_in_ms: 2 # # the other option is "periodic" where writes may be acked immediately # and the CommitLog is simply synced every commitlog_sync_period_in_ms
