improve memory use and timeout defaults

patch by jbellis; reviewed by brandonwilliams for CASSANDRA-6059
This commit is contained in:
Jonathan Ellis 2013-09-19 14:37:33 -05:00
parent 2336d94ef3
commit 72be2a4360
5 changed files with 15 additions and 4 deletions

View File

@ -1,4 +1,5 @@
2.0.2
* Improve memory use defaults (CASSANDRA-5069)
* Make ThriftServer more easlly extensible (CASSANDRA-6058)
* Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
Merged from 1.2:

View File

@ -13,6 +13,16 @@ restore snapshots created with the previous major version using the
'sstableloader' tool. You can upgrade the file format of your snapshots
using the provided 'sstableupgrade' tool.
2.0.2
=====
Upgrading
---------
- The default memtable allocation has changed from 1/3 of heap to 1/4
of heap. Also, default (single-partition) read and write timeouts
have been reduced from 10s to 5s and 2s, respectively.
2.0.0
=====

View File

@ -460,11 +460,11 @@ compaction_preheat_key_cache: true
# stream_throughput_outbound_megabits_per_sec: 200
# How long the coordinator should wait for read operations to complete
read_request_timeout_in_ms: 10000
read_request_timeout_in_ms: 5000
# How long the coordinator should wait for seq or index scans to complete
range_request_timeout_in_ms: 10000
# How long the coordinator should wait for writes to complete
write_request_timeout_in_ms: 10000
write_request_timeout_in_ms: 2000
# How long a coordinator should continue to retry a CAS operation
# that contends with other proposals for the same row
cas_contention_timeout_in_ms: 1000

View File

@ -56,7 +56,7 @@ public class Config
public Long range_request_timeout_in_ms = new Long(10000);
public Long write_request_timeout_in_ms = new Long(10000);
public Long write_request_timeout_in_ms = new Long(2000);
public Long cas_contention_timeout_in_ms = new Long(1000);

View File

@ -249,7 +249,7 @@ public class DatabaseDescriptor
conf.file_cache_size_in_mb = Math.min(512, (int) (Runtime.getRuntime().maxMemory() / (4 * 1048576)));
if (conf.memtable_total_space_in_mb == null)
conf.memtable_total_space_in_mb = (int) (Runtime.getRuntime().maxMemory() / (3 * 1048576));
conf.memtable_total_space_in_mb = (int) (Runtime.getRuntime().maxMemory() / (4 * 1048576));
if (conf.memtable_total_space_in_mb <= 0)
throw new ConfigurationException("memtable_total_space_in_mb must be positive");
logger.info("Global memtable threshold is enabled at {}MB", conf.memtable_total_space_in_mb);