Author: tylerhobbs Date: Tue Aug 23 19:25:17 2016 New Revision: 1757419 URL: http://svn.apache.org/viewvc?rev=1757419&view=rev Log: Add docs for 3.10
Added: cassandra/site/src/doc/3.10/ cassandra/site/src/doc/3.10/.buildinfo cassandra/site/src/doc/3.10/_images/ cassandra/site/src/doc/3.10/_images/eclipse_debug0.png cassandra/site/src/doc/3.10/_images/eclipse_debug1.png cassandra/site/src/doc/3.10/_images/eclipse_debug2.png cassandra/site/src/doc/3.10/_images/eclipse_debug3.png cassandra/site/src/doc/3.10/_images/eclipse_debug4.png cassandra/site/src/doc/3.10/_images/eclipse_debug5.png cassandra/site/src/doc/3.10/_images/eclipse_debug6.png cassandra/site/src/doc/3.10/_sources/ cassandra/site/src/doc/3.10/_sources/architecture/ cassandra/site/src/doc/3.10/_sources/architecture/dynamo.txt cassandra/site/src/doc/3.10/_sources/architecture/guarantees.txt cassandra/site/src/doc/3.10/_sources/architecture/index.txt cassandra/site/src/doc/3.10/_sources/architecture/overview.txt cassandra/site/src/doc/3.10/_sources/architecture/storage_engine.txt cassandra/site/src/doc/3.10/_sources/bugs.txt cassandra/site/src/doc/3.10/_sources/configuration/ cassandra/site/src/doc/3.10/_sources/configuration/cassandra_config_file.txt cassandra/site/src/doc/3.10/_sources/configuration/index.txt cassandra/site/src/doc/3.10/_sources/contactus.txt cassandra/site/src/doc/3.10/_sources/cql/ cassandra/site/src/doc/3.10/_sources/cql/appendices.txt cassandra/site/src/doc/3.10/_sources/cql/changes.txt cassandra/site/src/doc/3.10/_sources/cql/ddl.txt cassandra/site/src/doc/3.10/_sources/cql/definitions.txt cassandra/site/src/doc/3.10/_sources/cql/dml.txt cassandra/site/src/doc/3.10/_sources/cql/functions.txt cassandra/site/src/doc/3.10/_sources/cql/index.txt cassandra/site/src/doc/3.10/_sources/cql/indexes.txt cassandra/site/src/doc/3.10/_sources/cql/json.txt cassandra/site/src/doc/3.10/_sources/cql/mvs.txt cassandra/site/src/doc/3.10/_sources/cql/security.txt cassandra/site/src/doc/3.10/_sources/cql/triggers.txt cassandra/site/src/doc/3.10/_sources/cql/types.txt cassandra/site/src/doc/3.10/_sources/data_modeling/ cassandra/site/src/doc/3.10/_sources/data_modeling/index.txt cassandra/site/src/doc/3.10/_sources/development/ cassandra/site/src/doc/3.10/_sources/development/code_style.txt cassandra/site/src/doc/3.10/_sources/development/how_to_commit.txt cassandra/site/src/doc/3.10/_sources/development/how_to_review.txt cassandra/site/src/doc/3.10/_sources/development/ide.txt cassandra/site/src/doc/3.10/_sources/development/index.txt cassandra/site/src/doc/3.10/_sources/development/patches.txt cassandra/site/src/doc/3.10/_sources/development/testing.txt cassandra/site/src/doc/3.10/_sources/faq/ cassandra/site/src/doc/3.10/_sources/faq/index.txt cassandra/site/src/doc/3.10/_sources/getting_started/ cassandra/site/src/doc/3.10/_sources/getting_started/configuring.txt cassandra/site/src/doc/3.10/_sources/getting_started/drivers.txt cassandra/site/src/doc/3.10/_sources/getting_started/index.txt cassandra/site/src/doc/3.10/_sources/getting_started/installing.txt cassandra/site/src/doc/3.10/_sources/getting_started/querying.txt cassandra/site/src/doc/3.10/_sources/index.txt cassandra/site/src/doc/3.10/_sources/operating/ cassandra/site/src/doc/3.10/_sources/operating/backups.txt cassandra/site/src/doc/3.10/_sources/operating/bloom_filters.txt cassandra/site/src/doc/3.10/_sources/operating/bulk_loading.txt cassandra/site/src/doc/3.10/_sources/operating/cdc.txt cassandra/site/src/doc/3.10/_sources/operating/compaction.txt cassandra/site/src/doc/3.10/_sources/operating/compression.txt cassandra/site/src/doc/3.10/_sources/operating/hardware.txt cassandra/site/src/doc/3.10/_sources/operating/hints.txt cassandra/site/src/doc/3.10/_sources/operating/index.txt cassandra/site/src/doc/3.10/_sources/operating/metrics.txt cassandra/site/src/doc/3.10/_sources/operating/read_repair.txt cassandra/site/src/doc/3.10/_sources/operating/repair.txt cassandra/site/src/doc/3.10/_sources/operating/security.txt cassandra/site/src/doc/3.10/_sources/operating/snitch.txt cassandra/site/src/doc/3.10/_sources/operating/topo_changes.txt cassandra/site/src/doc/3.10/_sources/tools/ cassandra/site/src/doc/3.10/_sources/tools/cqlsh.txt cassandra/site/src/doc/3.10/_sources/tools/index.txt cassandra/site/src/doc/3.10/_sources/tools/nodetool.txt cassandra/site/src/doc/3.10/_sources/troubleshooting/ cassandra/site/src/doc/3.10/_sources/troubleshooting/index.txt cassandra/site/src/doc/3.10/_static/ cassandra/site/src/doc/3.10/_static/ajax-loader.gif (with props) cassandra/site/src/doc/3.10/_static/basic.css cassandra/site/src/doc/3.10/_static/comment-bright.png (with props) cassandra/site/src/doc/3.10/_static/comment-close.png (with props) cassandra/site/src/doc/3.10/_static/comment.png (with props) cassandra/site/src/doc/3.10/_static/doctools.js cassandra/site/src/doc/3.10/_static/down-pressed.png (with props) cassandra/site/src/doc/3.10/_static/down.png (with props) cassandra/site/src/doc/3.10/_static/extra.css cassandra/site/src/doc/3.10/_static/file.png (with props) cassandra/site/src/doc/3.10/_static/jquery-1.11.1.js cassandra/site/src/doc/3.10/_static/jquery.js cassandra/site/src/doc/3.10/_static/minus.png (with props) cassandra/site/src/doc/3.10/_static/plus.png (with props) cassandra/site/src/doc/3.10/_static/pygments.css cassandra/site/src/doc/3.10/_static/searchtools.js cassandra/site/src/doc/3.10/_static/underscore-1.3.1.js cassandra/site/src/doc/3.10/_static/underscore.js cassandra/site/src/doc/3.10/_static/up-pressed.png (with props) cassandra/site/src/doc/3.10/_static/up.png (with props) cassandra/site/src/doc/3.10/_static/websupport.js cassandra/site/src/doc/3.10/architecture/ cassandra/site/src/doc/3.10/architecture/dynamo.html cassandra/site/src/doc/3.10/architecture/guarantees.html cassandra/site/src/doc/3.10/architecture/index.html cassandra/site/src/doc/3.10/architecture/overview.html cassandra/site/src/doc/3.10/architecture/storage_engine.html cassandra/site/src/doc/3.10/bugs.html cassandra/site/src/doc/3.10/configuration/ cassandra/site/src/doc/3.10/configuration/cassandra_config_file.html cassandra/site/src/doc/3.10/configuration/index.html cassandra/site/src/doc/3.10/contactus.html cassandra/site/src/doc/3.10/cql/ cassandra/site/src/doc/3.10/cql/appendices.html cassandra/site/src/doc/3.10/cql/changes.html cassandra/site/src/doc/3.10/cql/ddl.html cassandra/site/src/doc/3.10/cql/definitions.html cassandra/site/src/doc/3.10/cql/dml.html cassandra/site/src/doc/3.10/cql/functions.html cassandra/site/src/doc/3.10/cql/index.html cassandra/site/src/doc/3.10/cql/indexes.html cassandra/site/src/doc/3.10/cql/json.html cassandra/site/src/doc/3.10/cql/mvs.html cassandra/site/src/doc/3.10/cql/security.html cassandra/site/src/doc/3.10/cql/triggers.html cassandra/site/src/doc/3.10/cql/types.html cassandra/site/src/doc/3.10/data_modeling/ cassandra/site/src/doc/3.10/data_modeling/index.html cassandra/site/src/doc/3.10/development/ cassandra/site/src/doc/3.10/development/code_style.html cassandra/site/src/doc/3.10/development/how_to_commit.html cassandra/site/src/doc/3.10/development/how_to_review.html cassandra/site/src/doc/3.10/development/ide.html cassandra/site/src/doc/3.10/development/index.html cassandra/site/src/doc/3.10/development/patches.html cassandra/site/src/doc/3.10/development/testing.html cassandra/site/src/doc/3.10/faq/ cassandra/site/src/doc/3.10/faq/index.html cassandra/site/src/doc/3.10/genindex.html cassandra/site/src/doc/3.10/getting_started/ cassandra/site/src/doc/3.10/getting_started/configuring.html cassandra/site/src/doc/3.10/getting_started/drivers.html cassandra/site/src/doc/3.10/getting_started/index.html cassandra/site/src/doc/3.10/getting_started/installing.html cassandra/site/src/doc/3.10/getting_started/querying.html cassandra/site/src/doc/3.10/index.html cassandra/site/src/doc/3.10/objects.inv (with props) cassandra/site/src/doc/3.10/operating/ cassandra/site/src/doc/3.10/operating/backups.html cassandra/site/src/doc/3.10/operating/bloom_filters.html cassandra/site/src/doc/3.10/operating/bulk_loading.html cassandra/site/src/doc/3.10/operating/cdc.html cassandra/site/src/doc/3.10/operating/compaction.html cassandra/site/src/doc/3.10/operating/compression.html cassandra/site/src/doc/3.10/operating/hardware.html cassandra/site/src/doc/3.10/operating/hints.html cassandra/site/src/doc/3.10/operating/index.html cassandra/site/src/doc/3.10/operating/metrics.html cassandra/site/src/doc/3.10/operating/read_repair.html cassandra/site/src/doc/3.10/operating/repair.html cassandra/site/src/doc/3.10/operating/security.html cassandra/site/src/doc/3.10/operating/snitch.html cassandra/site/src/doc/3.10/operating/topo_changes.html cassandra/site/src/doc/3.10/search.html cassandra/site/src/doc/3.10/searchindex.js cassandra/site/src/doc/3.10/tools/ cassandra/site/src/doc/3.10/tools/cqlsh.html cassandra/site/src/doc/3.10/tools/index.html cassandra/site/src/doc/3.10/tools/nodetool.html cassandra/site/src/doc/3.10/troubleshooting/ cassandra/site/src/doc/3.10/troubleshooting/index.html Modified: cassandra/site/src/doc/latest Added: cassandra/site/src/doc/3.10/.buildinfo URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/.buildinfo?rev=1757419&view=auto ============================================================================== --- cassandra/site/src/doc/3.10/.buildinfo (added) +++ cassandra/site/src/doc/3.10/.buildinfo Tue Aug 23 19:25:17 2016 @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 926a0d5adaa77316c0219c6fbc31de48 +tags: 645f666f9bcd5a90fca523b33c5a78b7 Added: cassandra/site/src/doc/3.10/_images/eclipse_debug0.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_images/eclipse_debug0.png?rev=1757419&view=auto ============================================================================== (empty) Added: cassandra/site/src/doc/3.10/_images/eclipse_debug1.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_images/eclipse_debug1.png?rev=1757419&view=auto ============================================================================== (empty) Added: cassandra/site/src/doc/3.10/_images/eclipse_debug2.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_images/eclipse_debug2.png?rev=1757419&view=auto ============================================================================== (empty) Added: cassandra/site/src/doc/3.10/_images/eclipse_debug3.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_images/eclipse_debug3.png?rev=1757419&view=auto ============================================================================== (empty) Added: cassandra/site/src/doc/3.10/_images/eclipse_debug4.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_images/eclipse_debug4.png?rev=1757419&view=auto ============================================================================== (empty) Added: cassandra/site/src/doc/3.10/_images/eclipse_debug5.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_images/eclipse_debug5.png?rev=1757419&view=auto ============================================================================== (empty) Added: cassandra/site/src/doc/3.10/_images/eclipse_debug6.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_images/eclipse_debug6.png?rev=1757419&view=auto ============================================================================== (empty) Added: cassandra/site/src/doc/3.10/_sources/architecture/dynamo.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_sources/architecture/dynamo.txt?rev=1757419&view=auto ============================================================================== --- cassandra/site/src/doc/3.10/_sources/architecture/dynamo.txt (added) +++ cassandra/site/src/doc/3.10/_sources/architecture/dynamo.txt Tue Aug 23 19:25:17 2016 @@ -0,0 +1,139 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Dynamo +------ + +.. _gossip: + +Gossip +^^^^^^ + +.. todo:: todo + +Failure Detection +^^^^^^^^^^^^^^^^^ + +.. todo:: todo + +Token Ring/Ranges +^^^^^^^^^^^^^^^^^ + +.. todo:: todo + +.. _replication-strategy: + +Replication +^^^^^^^^^^^ + +The replication strategy of a keyspace determines which nodes are replicas for a given token range. The two main +replication strategies are :ref:`simple-strategy` and :ref:`network-topology-strategy`. + +.. _simple-strategy: + +SimpleStrategy +~~~~~~~~~~~~~~ + +SimpleStrategy allows a single integer ``replication_factor`` to be defined. This determines the number of nodes that +should contain a copy of each row. For example, if ``replication_factor`` is 3, then three different nodes should store +a copy of each row. + +SimpleStrategy treats all nodes identically, ignoring any configured datacenters or racks. To determine the replicas +for a token range, Cassandra iterates through the tokens in the ring, starting with the token range of interest. For +each token, it checks whether the owning node has been added to the set of replicas, and if it has not, it is added to +the set. This process continues until ``replication_factor`` distinct nodes have been added to the set of replicas. + +.. _network-topology-strategy: + +NetworkTopologyStrategy +~~~~~~~~~~~~~~~~~~~~~~~ + +NetworkTopologyStrategy allows a replication factor to be specified for each datacenter in the cluster. Even if your +cluster only uses a single datacenter, NetworkTopologyStrategy should be prefered over SimpleStrategy to make it easier +to add new physical or virtual datacenters to the cluster later. + +In addition to allowing the replication factor to be specified per-DC, NetworkTopologyStrategy also attempts to choose +replicas within a datacenter from different racks. If the number of racks is greater than or equal to the replication +factor for the DC, each replica will be chosen from a different rack. Otherwise, each rack will hold at least one +replica, but some racks may hold more than one. Note that this rack-aware behavior has some potentially `surprising +implications <https://issues.apache.org/jira/browse/CASSANDRA-3810>`_. For example, if there are not an even number of +nodes in each rack, the data load on the smallest rack may be much higher. Similarly, if a single node is bootstrapped +into a new rack, it will be considered a replica for the entire ring. For this reason, many operators choose to +configure all nodes on a single "rack". + +Tunable Consistency +^^^^^^^^^^^^^^^^^^^ + +Cassandra supports a per-operation tradeoff between consistency and availability through *Consistency Levels*. +Essentially, an operation's consistency level specifies how many of the replicas need to respond to the coordinator in +order to consider the operation a success. + +The following consistency levels are available: + +``ONE`` + Only a single replica must respond. + +``TWO`` + Two replicas must respond. + +``THREE`` + Three replicas must respond. + +``QUORUM`` + A majority (n/2 + 1) of the replicas must respond. + +``ALL`` + All of the replicas must respond. + +``LOCAL_QUORUM`` + A majority of the replicas in the local datacenter (whichever datacenter the coordinator is in) must respond. + +``EACH_QUORUM`` + A majority of the replicas in each datacenter must respond. + +``LOCAL_ONE`` + Only a single replica must respond. In a multi-datacenter cluster, this also gaurantees that read requests are not + sent to replicas in a remote datacenter. + +``ANY`` + A single replica may respond, or the coordinator may store a hint. If a hint is stored, the coordinator will later + attempt to replay the hint and deliver the mutation to the replicas. This consistency level is only accepted for + write operations. + +Write operations are always sent to all replicas, regardless of consistency level. The consistency level simply +controls how many responses the coordinator waits for before responding to the client. + +For read operations, the coordinator generally only issues read commands to enough replicas to satisfy the consistency +level. There are a couple of exceptions to this: + +- Speculative retry may issue a redundant read request to an extra replica if the other replicas have not responded + within a specified time window. +- Based on ``read_repair_chance`` and ``dclocal_read_repair_chance`` (part of a table's schema), read requests may be + randomly sent to all replicas in order to repair potentially inconsistent data. + +Picking Consistency Levels +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It is common to pick read and write consistency levels that are high enough to overlap, resulting in "strong" +consistency. This is typically expressed as ``W + R > RF``, where ``W`` is the write consistency level, ``R`` is the +read consistency level, and ``RF`` is the replication factor. For example, if ``RF = 3``, a ``QUORUM`` request will +require responses from at least two of the three replicas. If ``QUORUM`` is used for both writes and reads, at least +one of the replicas is guaranteed to participate in *both* the write and the read request, which in turn guarantees that +the latest write will be read. In a multi-datacenter environment, ``LOCAL_QUORUM`` can be used to provide a weaker but +still useful guarantee: reads are guaranteed to see the latest write from within the same datacenter. + +If this type of strong consistency isn't required, lower consistency levels like ``ONE`` may be used to improve +throughput, latency, and availability. Added: cassandra/site/src/doc/3.10/_sources/architecture/guarantees.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_sources/architecture/guarantees.txt?rev=1757419&view=auto ============================================================================== --- cassandra/site/src/doc/3.10/_sources/architecture/guarantees.txt (added) +++ cassandra/site/src/doc/3.10/_sources/architecture/guarantees.txt Tue Aug 23 19:25:17 2016 @@ -0,0 +1,20 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Guarantees +---------- + +.. todo:: todo Added: cassandra/site/src/doc/3.10/_sources/architecture/index.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_sources/architecture/index.txt?rev=1757419&view=auto ============================================================================== --- cassandra/site/src/doc/3.10/_sources/architecture/index.txt (added) +++ cassandra/site/src/doc/3.10/_sources/architecture/index.txt Tue Aug 23 19:25:17 2016 @@ -0,0 +1,29 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Architecture +============ + +This section describes the general architecture of Apache Cassandra. + +.. toctree:: + :maxdepth: 2 + + overview + dynamo + storage_engine + guarantees + Added: cassandra/site/src/doc/3.10/_sources/architecture/overview.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_sources/architecture/overview.txt?rev=1757419&view=auto ============================================================================== --- cassandra/site/src/doc/3.10/_sources/architecture/overview.txt (added) +++ cassandra/site/src/doc/3.10/_sources/architecture/overview.txt Tue Aug 23 19:25:17 2016 @@ -0,0 +1,20 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Overview +-------- + +.. todo:: todo Added: cassandra/site/src/doc/3.10/_sources/architecture/storage_engine.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_sources/architecture/storage_engine.txt?rev=1757419&view=auto ============================================================================== --- cassandra/site/src/doc/3.10/_sources/architecture/storage_engine.txt (added) +++ cassandra/site/src/doc/3.10/_sources/architecture/storage_engine.txt Tue Aug 23 19:25:17 2016 @@ -0,0 +1,82 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Storage Engine +-------------- + +.. _commit-log: + +CommitLog +^^^^^^^^^ + +.. todo:: todo + +.. _memtables: + +Memtables +^^^^^^^^^ + +Memtables are in-memory structures where Cassandra buffers writes. In general, there is one active memtable per table. +Eventually, memtables are flushed onto disk and become immutable `SSTables`_. This can be triggered in several +ways: + +- The memory usage of the memtables exceeds the configured threshold (see ``memtable_cleanup_threshold``) +- The :ref:`commit-log` approaches its maximum size, and forces memtable flushes in order to allow commitlog segments to + be freed + +Memtables may be stored entirely on-heap or partially off-heap, depending on ``memtable_allocation_type``. + +SSTables +^^^^^^^^ + +SSTables are the immutable data files that Cassandra uses for persisting data on disk. + +As SSTables are flushed to disk from :ref:`memtables` or are streamed from other nodes, Cassandra triggers compactions +which combine multiple SSTables into one. Once the new SSTable has been written, the old SSTables can be removed. + +Each SSTable is comprised of multiple components stored in separate files: + +``Data.db`` + The actual data, i.e. the contents of rows. + +``Index.db`` + An index from partition keys to positions in the ``Data.db`` file. For wide partitions, this may also include an + index to rows within a partition. + +``Summary.db`` + A sampling of (by default) every 128th entry in the ``Index.db`` file. + +``Filter.db`` + A Bloom Filter of the partition keys in the SSTable. + +``CompressionInfo.db`` + Metadata about the offsets and lengths of compression chunks in the ``Data.db`` file. + +``Statistics.db`` + Stores metadata about the SSTable, including information about timestamps, tombstones, clustering keys, compaction, + repair, compression, TTLs, and more. + +``Digest.crc32`` + A CRC-32 digest of the ``Data.db`` file. + +``TOC.txt`` + A plain text list of the component files for the SSTable. + +Within the ``Data.db`` file, rows are organized by partition. These partitions are sorted in token order (i.e. by a +hash of the partition key when the default partitioner, ``Murmur3Partition``, is used). Within a partition, rows are +stored in the order of their clustering keys. + +SSTables can be optionally compressed using block-based compression. Added: cassandra/site/src/doc/3.10/_sources/bugs.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/_sources/bugs.txt?rev=1757419&view=auto ============================================================================== --- cassandra/site/src/doc/3.10/_sources/bugs.txt (added) +++ cassandra/site/src/doc/3.10/_sources/bugs.txt Tue Aug 23 19:25:17 2016 @@ -0,0 +1,30 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Reporting Bugs and Contributing +=============================== + +If you encounter a problem with Cassandra, the first places to ask for help are the :ref:`user mailing list +<mailing-lists>` and the ``#cassandra`` :ref:`IRC channel <irc-channels>`. + +If, after having asked for help, you suspect that you have found a bug in Cassandra, you should report it by opening a +ticket through the `Apache Cassandra JIRA <https://issues.apache.org/jira/browse/CASSANDRA>`__. Please provide as much +details as you can on your problem, and don't forget to indicate which version of Cassandra you are running and on which +environment. + +Further details on how to contribute can be found at our :doc:`development/index` section. Please note that the source of +this documentation is part of the Cassandra git repository and hence contributions to the documentation should follow the +same path.