diff --git a/CHANGES.txt b/CHANGES.txt index b48e6aeeb1..c341d21163 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -17,6 +17,7 @@ dev (CASSANDRA-744) * re-organized endpointsnitch implementations and added SimpleSnitch (CASSANDRA-994) + * Added preload_row_cache option (CASSANDRA-946) 0.6.1 diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 2593cc4800..94f62bd6e9 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -1,18 +1,21 @@ -# Cassandra storage config YAML -# See http://wiki.apache.org/cassandra/StorageConfiguration for explanations of configuration directives. +# Cassandra storage config YAML +# See http://wiki.apache.org/cassandra/StorageConfiguration for +# explanations of configuration directives. # name of the cluster cluster_name: 'Test Cluster' -# Set to true to make new [non-seed] nodes automatically migrate the right data to themselves. +# Set to true to make new [non-seed] nodes automatically migrate the +# right data to themselves. auto_bootstrap: false # authentication backend, implementing IAuthenticator; used to limit keyspace access authenticator: org.apache.cassandra.auth.AllowAllAuthenticator -# any IPartitioner may be used, including your own as long as it is on the classpath. -# Out of the box, Cassandra provides org.apache.cassandra.dht.RandomPartitioner -# org.apache.cassandra.dht.OrderPreservingPartitioner, and +# any IPartitioner may be used, including your own as long as it is on +# the classpath. Out of the box, Cassandra provides +# org.apache.cassandra.dht.RandomPartitioner +# org.apache.cassandra.dht.OrderPreservingPartitioner, and # org.apache.cassandra.dht.CollatingOrderPreservingPartitioner. partitioner: org.apache.cassandra.dht.RandomPartitioner @@ -21,8 +24,9 @@ data_file_directories: - /var/lib/cassandra/data # Addresses of hosts that are deemed contact points. -# Cassandra nodes use this list of hosts to find each other and learn the topology of the ring. -# You must change this if you are running multiple nodes! +# Cassandra nodes use this list of hosts to find each other and learn +# the topology of the ring. You must change this if you are running +# multiple nodes! seeds: - 127.0.0.1 @@ -51,7 +55,8 @@ sliced_buffer_size_in_kb: 64 # TCP port, for commands and data storage_port: 7000 -# Address to bind to and tell other nodes to connect to. You _must_ change this if you want multiple nodes to be able to communicate! +# Address to bind to and tell other nodes to connect to. You _must_ +# change this if you want multiple nodes to be able to communicate! listen_address: localhost # The address to bind the Thrift RPC service to @@ -62,7 +67,8 @@ rpc_port: 9160 thrift_framed_transport: false snapshot_before_compaction: false -# The threshold size in megabytes the binary memtable must grow to, before it's submitted for flushing to disk. +# The threshold size in megabytes the binary memtable must grow to, +# before it's submitted for flushing to disk. binary_memtable_throughput_in_mb: 256 # Number of minutes to keep a memtable in memory memtable_flush_after_mins: 60 @@ -72,7 +78,8 @@ memtable_throughput_in_mb: 64 memtable_operations_in_millions: 0.3 # Buffer size to use when flushing !memtables to disk. flush_data_buffer_size_in_mb: 32 -# Increase (decrease) the index buffer size relative to the data buffer if you have few (many) columns per key. +# Increase (decrease) the index buffer size relative to the data +# buffer if you have few (many) columns per key. flush_index_buffer_size_in_mb: 8 column_index_size_in_kb: 64 @@ -85,12 +92,15 @@ commitlog_directory: /var/lib/cassandra/commitlog commitlog_rotation_threshold_in_mb: 128 # 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 CommitLogSyncBatchWindowInMS milliseconds for other writes, before performing the sync. +# When in batch mode, Cassandra won't ack writes until the commit log +# has been fsynced to disk. It will wait up to +# CommitLogSyncBatchWindowInMS milliseconds for other writes, before +# performing the sync. commitlog_sync: periodic -# the other option is "timed," where writes may be acked immediately and the CommitLog -# is simply synced every commitlog_sync_period_in_ms milliseconds. +# the other option is "timed," where writes may be acked immediately +# and the CommitLog is simply synced every commitlog_sync_period_in_ms +# milliseconds. commitlog_sync_period_in_ms: 1000 # Time to wait for a reply from other nodes before failing the command @@ -109,49 +119,50 @@ gc_grace_seconds: 864000 endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch # A ColumnFamily is the Cassandra concept closest to a relational table. -# Keyspaces are separate groups of ColumnFamilies. -# Except in very unusual circumstances you will have one Keyspace per application. # -# keyspace required parameters: name, replica_replacement_strategy, and replication_factor +# Keyspaces are separate groups of ColumnFamilies. Except in very +# unusual circumstances you will have one Keyspace per application. # -# name -- name of the keyspace; "system" and "definitions" are reserved for Cassandra Internals. +# Keyspace required parameters: +# - name: name of the keyspace; "system" and "definitions" are +# reserved for Cassandra Internals. +# - replica_placement_strategy: the class that determines how replicas +# are distributed among nodes. Must implement IReplicaPlacementStrategy. +# Out of the box, Cassandra provides +# org.apache.cassandra.locator.RackUnawareStrategy and +# org.apache.cassandra.locator.RackAwareStrategy. RackAwareStrategy +# place one replica in each of two datacenter, and other replicas in +# different racks in one. +# - replication_factor: Number of replicas of each row +# - column_families: column families associated with this keyspace # -# replica_placement_strategy -- Strategy: Setting this to the class that implements -# IReplicaPlacementStrategy will change the way the node picker works. -# Out of the box, Cassandra provides -# org.apache.cassandra.locator.RackUnawareStrategy and -# org.apache.cassandra.locator.RackAwareStrategy (place one replica in -# a different datacenter, and the others on different racks in the same one.) +# ColumnFamily required parameters: +# - name: name of the ColumnFamily. Must not contain the character "-". +# - compare_with: tells Cassandra how to sort the columns for slicing +# operations. The default is BytesType, which is a straightforward +# lexical comparison of the bytes in each column. Other options are +# AsciiType, UTF8Type, LexicalUUIDType, TimeUUIDType, and LongType. +# You can also specify the fully-qualified class name to a class of +# your choice extending org.apache.cassandra.db.marshal.AbstractType. # -# -# replication_factor -- Number of replicas of the data -# -# column_families -- column families associated with this keyspace -# -# compare_with -- tells Cassandra how to sort the columns for slicing operations. The default is BytesType, -# which is a straightforward lexical comparison of the bytes in each column. -# Other options are AsciiType, UTF8Type, LexicalUUIDType, TimeUUIDType, and LongType. -# You can also specify the fully-qualified class name to a class of your choice extending org.apache.cassandra.db.marshal.AbstractType. -# -# -# keys_cached -- optional. defaults to 200000 keys. -# specifies the number of keys per sstable whose locations we keep in -# memory in "mostly LRU" order. (JUST the key locations, NOT any -# column values.) Specify a fraction (value less than 1) or an absolute number of keys to cache. -# -# rows_cached -- optional. defaults to 0. (i.e. row caching is off by default) -# specifies the number of rows whose entire contents we cache in memory. Do not use this on -# ColumnFamilies with large rows, or ColumnFamilies with high write:read -# ratios. Specify a fraction (value less than 1) or an absolute number of rows to cache. -# -# -# comment -- optional. used to attach additional human-readable information about the column family to its definition. -# -# -# read_repair_chance -- optional. must be between 0 and 1. defaults to 1.0 (always read repair). -# specifies the probability with which read repairs should be invoked on non-quorum reads. -# -# preloadRowCache -- Optional. If true, will populate row cache on startup. +# ColumnFamily optional parameters: +# - keys_cached: specifies the number of keys per sstable whose +# locations we keep in memory in "mostly LRU" order. (JUST the key +# locations, NOT any column values.) Specify a fraction (value less +# than 1) or an absolute number of keys to cache. Defaults to 200000 +# keys. +# - rows_cached: specifies the number of rows whose entire contents we +# cache in memory. Do not use this on ColumnFamilies with large rows, +# or ColumnFamilies with high write:read ratios. Specify a fraction +# (value less than 1) or an absolute number of rows to cache. +# Defaults to 0. (i.e. row caching is off by default) +# - comment: used to attach additional human-readable information about +# the column family to its definition. +# - read_repair_chance: specifies the probability with which read +# repairs should be invoked on non-quorum reads. must be between 0 +# and 1. defaults to 1.0 (always read repair). +# - preloadRowCache: If true, will populate row cache on startup. +# Defaults to false. # keyspaces: - name: Keyspace1