Updated Branches: refs/heads/trunk c9a57e558 -> d47d4b799
Use index_interval from cassandra.yaml when upgraded patch by yukim; reviewed by jbellis for CASSANDRA-5822 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d47d4b79 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d47d4b79 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d47d4b79 Branch: refs/heads/trunk Commit: d47d4b79921fdde93b95dc4b9697141b817a58da Parents: c9a57e5 Author: Yuki Morishita <yu...@apache.org> Authored: Mon Jul 29 16:16:05 2013 -0500 Committer: Yuki Morishita <yu...@apache.org> Committed: Mon Jul 29 16:16:05 2013 -0500 ---------------------------------------------------------------------- CHANGES.txt | 1 + NEWS.txt | 7 ++++++- src/java/org/apache/cassandra/config/CFMetaData.java | 10 ++++++++++ src/java/org/apache/cassandra/config/Config.java | 5 +++-- .../org/apache/cassandra/config/DatabaseDescriptor.java | 6 ++++++ 5 files changed, 26 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d47d4b79/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 78d829a..4717e91 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -13,6 +13,7 @@ Merged from 1.2: * retry important messages for any IOException (CASSANDRA-5804) * Allow empty IN relations in SELECT/UPDATE/DELETE statements (CASSANDRA-5626) * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812) + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822) 2.0.0-beta2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d47d4b79/NEWS.txt ---------------------------------------------------------------------- diff --git a/NEWS.txt b/NEWS.txt index 8f3d500..f936b91 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -42,10 +42,15 @@ Upgrading - ASSUME command has been removed from cqlsh. Use CQL3 blobAsType() and typeAsBlob() conversion functions instead. See https://cassandra.apache.org/doc/cql3/CQL.html#blobFun for details. - - Inputing blobs as string constants is now fully deprecated in + - Inputting blobs as string constants is now fully deprecated in favor of blob constants. Make sure to update your applications to use the new syntax while you are still on 1.2 (which supports both string and blob constants for blob input) before upgrading to 2.0. + - index_interval is now moved to ColumnFamily property. You can change value + with ALTER TABLE ... WITH statement and SSTables written after that will + have new value. When upgrading, Cassandra will pick up the value defined in + cassanda.yaml as the default for existing ColumnFamilies, until you explicitly + set the value for those. Operations ---------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d47d4b79/src/java/org/apache/cassandra/config/CFMetaData.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index 8fbb70b..3a44226 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -1573,7 +1573,17 @@ public final class CFMetaData cfm.compressionParameters(CompressionParameters.create(fromJsonMap(result.getString("compression_parameters")))); cfm.compactionStrategyOptions(fromJsonMap(result.getString("compaction_strategy_options"))); if (result.has("index_interval")) + { cfm.indexInterval(result.getInt("index_interval")); + } + else + { + if (DatabaseDescriptor.getIndexInterval() != null) + { + // use index_interval set in cassandra.yaml as default value (in memory only) + cfm.indexInterval(DatabaseDescriptor.getIndexInterval()); + } + } if (result.has("populate_io_cache_on_flush")) cfm.populateIoCacheOnFlush(result.getBoolean("populate_io_cache_on_flush")); http://git-wip-us.apache.org/repos/asf/cassandra/blob/d47d4b79/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 d691681..76bfde3 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -27,8 +27,6 @@ import org.apache.cassandra.utils.FBUtilities; * * Properties declared as volatile can be mutated via JMX. */ - - public class Config { public String cluster_name = "Test Cluster"; @@ -147,6 +145,9 @@ public class Config public InternodeCompression internode_compression = InternodeCompression.none; + @Deprecated + public Integer index_interval = null; + public int hinted_handoff_throttle_in_kb = 1024; public int max_hints_delivery_threads = 1; public boolean compaction_preheat_key_cache = true; http://git-wip-us.apache.org/repos/asf/cassandra/blob/d47d4b79/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 3ef264e..fc665e9 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -1046,6 +1046,12 @@ public class DatabaseDescriptor return conf.max_hint_window_in_ms; } + @Deprecated + public static Integer getIndexInterval() + { + return conf.index_interval; + } + public static File getSerializedCachePath(String ksName, String cfName, CacheService.CacheType cacheType, String version) { return new File(conf.saved_caches_directory + File.separator + ksName + "-" + cfName + "-" + cacheType + (version == null ? "" : "-" + version + ".db"));