Updated Branches: refs/heads/cassandra-1.1.0 731af1a43 -> 25828cace
make autoconfiguration happen only if key_cache_size_in_mb value was left blank in conf/cassandra.yaml (CASSANDRA-4087) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/25828cac Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/25828cac Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/25828cac Branch: refs/heads/cassandra-1.1.0 Commit: 25828cacef62576faf247a2ef4f7ae261bb1250f Parents: 731af1a Author: Pavel Yaskevich <[email protected]> Authored: Tue Mar 27 23:02:43 2012 +0300 Committer: Pavel Yaskevich <[email protected]> Committed: Tue Mar 27 23:02:43 2012 +0300 ---------------------------------------------------------------------- conf/cassandra.yaml | 4 ++-- src/java/org/apache/cassandra/config/Config.java | 2 +- .../cassandra/config/DatabaseDescriptor.java | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/25828cac/conf/cassandra.yaml ---------------------------------------------------------------------- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 4010d74..866319c 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -77,8 +77,8 @@ commitlog_directory: /var/lib/cassandra/commitlog # # NOTE: if you reduce the size, you may not get you hottest keys loaded on startup. # -# Default value is "auto" (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache. -key_cache_size_in_mb: auto +# Default value is empty to make it "auto" (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache. +key_cache_size_in_mb: # Duration in seconds after which Cassandra should # safe the keys cache. Caches are saved to saved_caches_directory as http://git-wip-us.apache.org/repos/asf/cassandra/blob/25828cac/src/java/org/apache/cassandra/config/Config.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index 7adce69..b17efac 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -126,7 +126,7 @@ public class Config public boolean trickle_fsync = false; public int trickle_fsync_interval_in_kb = 10240; - public String key_cache_size_in_mb = "auto"; + public Integer key_cache_size_in_mb = null; public int key_cache_save_period = 14400; public int key_cache_keys_to_save = Integer.MAX_VALUE; http://git-wip-us.apache.org/repos/asf/cassandra/blob/25828cac/src/java/org/apache/cassandra/config/DatabaseDescriptor.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 227a6a3..1648d57 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -418,9 +418,9 @@ public class DatabaseDescriptor try { // if key_cache_size_in_mb option was set to "auto" then size of the cache should be "min(5% of Heap (in MB), 100MB) - keyCacheSizeInMB = "auto".equalsIgnoreCase(conf.key_cache_size_in_mb) + keyCacheSizeInMB = (conf.key_cache_size_in_mb == null) ? Math.min((int) (Runtime.getRuntime().totalMemory() * 0.05 / 1024 / 1024), 100) - : Integer.valueOf(conf.key_cache_size_in_mb); + : conf.key_cache_size_in_mb; if (keyCacheSizeInMB < 0) throw new NumberFormatException(); // to escape duplicating error message @@ -428,7 +428,7 @@ public class DatabaseDescriptor catch (NumberFormatException e) { throw new ConfigurationException("key_cache_size_in_mb option was set incorrectly to '" - + conf.key_cache_size_in_mb + "', supported values are 'auto' and <integer> >= 0."); + + conf.key_cache_size_in_mb + "', supported values are <integer> >= 0."); } rowCacheProvider = FBUtilities.newCacheProvider(conf.row_cache_provider);
