Permalink
Browse files

make index_interval configurable per columnfamily

patch by Radim Kolar; reviewed by jbellis for CASSANDRA-3961
  • Loading branch information...
jbellis committed Dec 1, 2012
1 parent 40d2ad1 commit 6a5c9ed87995059e8cb824608fd5907432fa7ab4
Showing with 882 additions and 753 deletions.
  1. +1 −0 CHANGES.txt
  2. +0 −12 conf/cassandra.yaml
  3. +0 −5 examples/client_only/conf/cassandra.yaml
  4. +2 −1 interface/cassandra.thrift
  5. +16 −7 interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationException.java
  6. +19 −9 interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java
  7. +643 −645 interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
  8. +100 −10 interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
  9. +1 −1 interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
  10. +1 −1 interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java
  11. +4 −4 interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java
  12. +4 −1 pylib/cqlshlib/cql3handling.py
  13. +7 −0 src/java/org/apache/cassandra/cli/CliClient.java
  14. +21 −2 src/java/org/apache/cassandra/config/CFMetaData.java
  15. +0 −2 src/java/org/apache/cassandra/config/Config.java
  16. +0 −5 src/java/org/apache/cassandra/config/DatabaseDescriptor.java
  17. +2 −2 src/java/org/apache/cassandra/db/compaction/CompactionManager.java
  18. +1 −1 src/java/org/apache/cassandra/db/compaction/CompactionTask.java
  19. +1 −1 src/java/org/apache/cassandra/db/compaction/Scrubber.java
  20. +1 −1 src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java
  21. +1 −1 src/java/org/apache/cassandra/dht/OrderPreservingPartitioner.java
  22. +19 −15 src/java/org/apache/cassandra/io/sstable/IndexSummary.java
  23. +20 −14 src/java/org/apache/cassandra/io/sstable/SSTableReader.java
  24. +1 −1 src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
  25. +5 −5 src/java/org/apache/cassandra/service/StorageService.java
  26. +1 −1 src/java/org/apache/cassandra/thrift/CassandraServer.java
  27. +5 −0 src/resources/org/apache/cassandra/cli/CliHelp.yaml
  28. +2 −2 test/long/org/apache/cassandra/db/compaction/LongCompactionsTest.java
  29. +1 −1 test/unit/org/apache/cassandra/db/KeyCollisionTest.java
  30. +1 −1 test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java
  31. +1 −1 test/unit/org/apache/cassandra/io/LazilyCompactedRowTest.java
  32. +1 −1 test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
View
@@ -1,4 +1,5 @@
1.3
+ * make index_interval configurable per columnfamily (CASSANDRA-3961)
* add default_tim_to_live (CASSANDRA-3974)
* add memtable_flush_period_in_ms (CASSANDRA-4237)
View
@@ -598,18 +598,6 @@ request_scheduler: org.apache.cassandra.scheduler.NoScheduler
# the request scheduling. Currently the only valid option is keyspace.
# request_scheduler_id: keyspace
-# index_interval controls the sampling of entries from the primrary
-# row index in terms of space versus time. The larger the interval,
-# the smaller and less effective the sampling will be. In technicial
-# terms, the interval coresponds to the number of index entries that
-# are skipped between taking each sample. All the sampled entries
-# must fit in memory. Generally, a value between 128 and 512 here
-# coupled with a large key cache size on CFs results in the best trade
-# offs. This value is not often changed, however if you have many
-# very small rows (many to an OS page), then increasing this will
-# often lower memory usage without a impact on performance.
-index_interval: 128
-
# Enable or disable inter-node encryption
# Default settings are TLS v1, RSA 1024-bit keys (it is imperative that
# users generate their own keys) TLS_RSA_WITH_AES_128_CBC_SHA as the cipher
@@ -307,11 +307,6 @@ request_scheduler: org.apache.cassandra.scheduler.NoScheduler
# the request scheduling. Currently the only valid option is keyspace.
# request_scheduler_id: keyspace
-# The Index Interval determines how large the sampling of row keys
-# is for a given SSTable. The larger the sampling, the more effective
-# the index is at the cost of space.
-index_interval: 128
-
# Keyspaces have ColumnFamilies. (Usually 1 KS per application.)
# ColumnFamilies have Rows. (Dozens of CFs per KS.)
# Rows contain Columns. (Many per CF.)
@@ -55,7 +55,7 @@ namespace rb CassandraThrift
# An effort should be made not to break forward-client-compatibility either
# (e.g. one should avoid removing obsolete fields from the IDL), but no
# guarantees in this respect are made by the Cassandra project.
-const string VERSION = "19.35.0"
+const string VERSION = "19.36.0"
#
@@ -444,6 +444,7 @@ struct CfDef {
37: optional double dclocal_read_repair_chance = 0.0,
38: optional i32 memtable_flush_period_in_ms,
39: optional i32 default_time_to_live,
+ 40: optional i32 index_interval,
/* All of the following are now ignored and unsupplied. */

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
Oops, something went wrong.

0 comments on commit 6a5c9ed

Please sign in to comment.