---
layout: docpage

title: "Documentation"

is_homepage: false
is_sphinx_doc: true

doc-title: "Cassandra Configuration File"
doc-header-links: '
  <link rel="top" title="Apache Cassandra Documentation v4.0-beta3" href="../index.html"/>
'
doc-search-path: "../search.html"

extra-footer: '
<script type="text/javascript">
    var DOCUMENTATION_OPTIONS = {
      URL_ROOT:    "",
      VERSION:     "",
      COLLAPSE_INDEX: false,
      FILE_SUFFIX: ".html",
      HAS_SOURCE:  false,
      SOURCELINK_SUFFIX: ".txt"
    };
</script>
'

---
<div class="container-fluid">
  <div class="row">
    <div class="col-md-3">
      <div class="doc-navigation">
        <div class="doc-menu" role="navigation">
          <div class="navbar-header">
            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
          </div>
          <div class="navbar-collapse collapse sidebar-navbar-collapse">
            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
              <div class="form-group">
                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </div>
            </form>
            
            
            
            <ul>
<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../new/index.html">New Features in Apache Cassandra 4.0</a></li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1"><a class="reference internal" href="index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
</ul>

            
            
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>
    <div class="col-md-8">
      <div class="content doc-content">
        <div class="content-container">
          
  <div class="section" id="cassandra-configuration-file">
<span id="cassandra-yaml"></span><h1>Cassandra Configuration File<a class="headerlink" href="#cassandra-configuration-file" title="Permalink to this headline">¶</a></h1>
<div class="section" id="cluster-name">
<h2><code class="docutils literal notranslate"><span class="pre">cluster_name</span></code><a class="headerlink" href="#cluster-name" title="Permalink to this headline">¶</a></h2>
<p>The name of the cluster. This is mainly used to prevent machines in
one logical cluster from joining another.</p>
<p><em>Default Value:</em> ‘Test Cluster’</p>
</div>
<div class="section" id="num-tokens">
<h2><code class="docutils literal notranslate"><span class="pre">num_tokens</span></code><a class="headerlink" href="#num-tokens" title="Permalink to this headline">¶</a></h2>
<p>This defines the number of tokens randomly assigned to this node on the ring
The more tokens, relative to other nodes, the larger the proportion of data
that this node will store. You probably want all nodes to have the same number
of tokens assuming they have equal hardware capability.</p>
<p>If you leave this unspecified, Cassandra will use the default of 1 token for legacy compatibility,
and will use the initial_token as described below.</p>
<p>Specifying initial_token will override this setting on the node’s initial start,
on subsequent starts, this setting will apply even if initial token is set.</p>
<p><em>Default Value:</em> 256</p>
</div>
<div class="section" id="allocate-tokens-for-keyspace">
<h2><code class="docutils literal notranslate"><span class="pre">allocate_tokens_for_keyspace</span></code><a class="headerlink" href="#allocate-tokens-for-keyspace" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Triggers automatic allocation of num_tokens tokens for this node. The allocation
algorithm attempts to choose tokens in a way that optimizes replicated load over
the nodes in the datacenter for the replica factor.</p>
<p>The load assigned to each node will be close to proportional to its number of
vnodes.</p>
<p>Only supported with the Murmur3Partitioner.</p>
<p>Replica factor is determined via the replication strategy used by the specified
keyspace.</p>
<p><em>Default Value:</em> KEYSPACE</p>
</div>
<div class="section" id="allocate-tokens-for-local-replication-factor">
<h2><code class="docutils literal notranslate"><span class="pre">allocate_tokens_for_local_replication_factor</span></code><a class="headerlink" href="#allocate-tokens-for-local-replication-factor" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Replica factor is explicitly set, regardless of keyspace or datacenter.
This is the replica factor within the datacenter, like NTS.</p>
<p><em>Default Value:</em> 3</p>
</div>
<div class="section" id="initial-token">
<h2><code class="docutils literal notranslate"><span class="pre">initial_token</span></code><a class="headerlink" href="#initial-token" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>initial_token allows you to specify tokens manually.  While you can use it with
vnodes (num_tokens &gt; 1, above) – in which case you should provide a
comma-separated list – it’s primarily used when adding nodes to legacy clusters
that do not have vnodes enabled.</p>
</div>
<div class="section" id="hinted-handoff-enabled">
<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_enabled</span></code><a class="headerlink" href="#hinted-handoff-enabled" title="Permalink to this headline">¶</a></h2>
<p>May either be “true” or “false” to enable globally</p>
<p><em>Default Value:</em> true</p>
</div>
<div class="section" id="hinted-handoff-disabled-datacenters">
<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_disabled_datacenters</span></code><a class="headerlink" href="#hinted-handoff-disabled-datacenters" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>When hinted_handoff_enabled is true, a black list of data centers that will not
perform hinted handoff</p>
<p><em>Default Value (complex option)</em>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#    - DC1</span>
<span class="c1">#    - DC2</span>
</pre></div>
</div>
</div>
<div class="section" id="max-hint-window-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">max_hint_window_in_ms</span></code><a class="headerlink" href="#max-hint-window-in-ms" title="Permalink to this headline">¶</a></h2>
<p>this defines the maximum amount of time a dead host will have hints
generated.  After it has been dead this long, new hints for it will not be
created until it has been seen alive and gone down again.</p>
<p><em>Default Value:</em> 10800000 # 3 hours</p>
</div>
<div class="section" id="hinted-handoff-throttle-in-kb">
<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_throttle_in_kb</span></code><a class="headerlink" href="#hinted-handoff-throttle-in-kb" title="Permalink to this headline">¶</a></h2>
<p>Maximum throttle in KBs per second, per delivery thread.  This will be
reduced proportionally to the number of nodes in the cluster.  (If there
are two nodes in the cluster, each delivery thread will use the maximum
rate; if there are three, each will throttle to half of the maximum,
since we expect two nodes to be delivering hints simultaneously.)</p>
<p><em>Default Value:</em> 1024</p>
</div>
<div class="section" id="max-hints-delivery-threads">
<h2><code class="docutils literal notranslate"><span class="pre">max_hints_delivery_threads</span></code><a class="headerlink" href="#max-hints-delivery-threads" title="Permalink to this headline">¶</a></h2>
<p>Number of threads with which to deliver hints;
Consider increasing this number when you have multi-dc deployments, since
cross-dc handoff tends to be slower</p>
<p><em>Default Value:</em> 2</p>
</div>
<div class="section" id="hints-directory">
<h2><code class="docutils literal notranslate"><span class="pre">hints_directory</span></code><a class="headerlink" href="#hints-directory" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Directory where Cassandra should store hints.
If not set, the default directory is $CASSANDRA_HOME/data/hints.</p>
<p><em>Default Value:</em>  /var/lib/cassandra/hints</p>
</div>
<div class="section" id="hints-flush-period-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">hints_flush_period_in_ms</span></code><a class="headerlink" href="#hints-flush-period-in-ms" title="Permalink to this headline">¶</a></h2>
<p>How often hints should be flushed from the internal buffers to disk.
Will <em>not</em> trigger fsync.</p>
<p><em>Default Value:</em> 10000</p>
</div>
<div class="section" id="max-hints-file-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">max_hints_file_size_in_mb</span></code><a class="headerlink" href="#max-hints-file-size-in-mb" title="Permalink to this headline">¶</a></h2>
<p>Maximum size for a single hints file, in megabytes.</p>
<p><em>Default Value:</em> 128</p>
</div>
<div class="section" id="hints-compression">
<h2><code class="docutils literal notranslate"><span class="pre">hints_compression</span></code><a class="headerlink" href="#hints-compression" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Compression to apply to the hint files. If omitted, hints files
will be written uncompressed. LZ4, Snappy, and Deflate compressors
are supported.</p>
<p><em>Default Value (complex option)</em>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#   - class_name: LZ4Compressor</span>
<span class="c1">#     parameters:</span>
<span class="c1">#         -</span>
</pre></div>
</div>
</div>
<div class="section" id="batchlog-replay-throttle-in-kb">
<h2><code class="docutils literal notranslate"><span class="pre">batchlog_replay_throttle_in_kb</span></code><a class="headerlink" href="#batchlog-replay-throttle-in-kb" title="Permalink to this headline">¶</a></h2>
<p>Maximum throttle in KBs per second, total. This will be
reduced proportionally to the number of nodes in the cluster.</p>
<p><em>Default Value:</em> 1024</p>
</div>
<div class="section" id="authenticator">
<h2><code class="docutils literal notranslate"><span class="pre">authenticator</span></code><a class="headerlink" href="#authenticator" title="Permalink to this headline">¶</a></h2>
<p>Authentication backend, implementing IAuthenticator; used to identify users
Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator,
PasswordAuthenticator}.</p>
<ul class="simple">
<li>AllowAllAuthenticator performs no checks - set it to disable authentication.</li>
<li>PasswordAuthenticator relies on username/password pairs to authenticate
users. It keeps usernames and hashed passwords in system_auth.roles table.
Please increase system_auth keyspace replication factor if you use this authenticator.
If using PasswordAuthenticator, CassandraRoleManager must also be used (see below)</li>
</ul>
<p><em>Default Value:</em> AllowAllAuthenticator</p>
</div>
<div class="section" id="authorizer">
<h2><code class="docutils literal notranslate"><span class="pre">authorizer</span></code><a class="headerlink" href="#authorizer" title="Permalink to this headline">¶</a></h2>
<p>Authorization backend, implementing IAuthorizer; used to limit access/provide permissions
Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthorizer,
CassandraAuthorizer}.</p>
<ul class="simple">
<li>AllowAllAuthorizer allows any action to any user - set it to disable authorization.</li>
<li>CassandraAuthorizer stores permissions in system_auth.role_permissions table. Please
increase system_auth keyspace replication factor if you use this authorizer.</li>
</ul>
<p><em>Default Value:</em> AllowAllAuthorizer</p>
</div>
<div class="section" id="role-manager">
<h2><code class="docutils literal notranslate"><span class="pre">role_manager</span></code><a class="headerlink" href="#role-manager" title="Permalink to this headline">¶</a></h2>
<p>Part of the Authentication &amp; Authorization backend, implementing IRoleManager; used
to maintain grants and memberships between roles.
Out of the box, Cassandra provides org.apache.cassandra.auth.CassandraRoleManager,
which stores role information in the system_auth keyspace. Most functions of the
IRoleManager require an authenticated login, so unless the configured IAuthenticator
actually implements authentication, most of this functionality will be unavailable.</p>
<ul class="simple">
<li>CassandraRoleManager stores role data in the system_auth keyspace. Please
increase system_auth keyspace replication factor if you use this role manager.</li>
</ul>
<p><em>Default Value:</em> CassandraRoleManager</p>
</div>
<div class="section" id="network-authorizer">
<h2><code class="docutils literal notranslate"><span class="pre">network_authorizer</span></code><a class="headerlink" href="#network-authorizer" title="Permalink to this headline">¶</a></h2>
<p>Network authorization backend, implementing INetworkAuthorizer; used to restrict user
access to certain DCs
Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllNetworkAuthorizer,
CassandraNetworkAuthorizer}.</p>
<ul class="simple">
<li>AllowAllNetworkAuthorizer allows access to any DC to any user - set it to disable authorization.</li>
<li>CassandraNetworkAuthorizer stores permissions in system_auth.network_permissions table. Please
increase system_auth keyspace replication factor if you use this authorizer.</li>
</ul>
<p><em>Default Value:</em> AllowAllNetworkAuthorizer</p>
</div>
<div class="section" id="roles-validity-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">roles_validity_in_ms</span></code><a class="headerlink" href="#roles-validity-in-ms" title="Permalink to this headline">¶</a></h2>
<p>Validity period for roles cache (fetching granted roles can be an expensive
operation depending on the role manager, CassandraRoleManager is one example)
Granted roles are cached for authenticated sessions in AuthenticatedUser and
after the period specified here, become eligible for (async) reload.
Defaults to 2000, set to 0 to disable caching entirely.
Will be disabled automatically for AllowAllAuthenticator.</p>
<p><em>Default Value:</em> 2000</p>
</div>
<div class="section" id="roles-update-interval-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">roles_update_interval_in_ms</span></code><a class="headerlink" href="#roles-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Refresh interval for roles cache (if enabled).
After this interval, cache entries become eligible for refresh. Upon next
access, an async reload is scheduled and the old value returned until it
completes. If roles_validity_in_ms is non-zero, then this must be
also.
Defaults to the same value as roles_validity_in_ms.</p>
<p><em>Default Value:</em> 2000</p>
</div>
<div class="section" id="permissions-validity-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">permissions_validity_in_ms</span></code><a class="headerlink" href="#permissions-validity-in-ms" title="Permalink to this headline">¶</a></h2>
<p>Validity period for permissions cache (fetching permissions can be an
expensive operation depending on the authorizer, CassandraAuthorizer is
one example). Defaults to 2000, set to 0 to disable.
Will be disabled automatically for AllowAllAuthorizer.</p>
<p><em>Default Value:</em> 2000</p>
</div>
<div class="section" id="permissions-update-interval-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">permissions_update_interval_in_ms</span></code><a class="headerlink" href="#permissions-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Refresh interval for permissions cache (if enabled).
After this interval, cache entries become eligible for refresh. Upon next
access, an async reload is scheduled and the old value returned until it
completes. If permissions_validity_in_ms is non-zero, then this must be
also.
Defaults to the same value as permissions_validity_in_ms.</p>
<p><em>Default Value:</em> 2000</p>
</div>
<div class="section" id="credentials-validity-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">credentials_validity_in_ms</span></code><a class="headerlink" href="#credentials-validity-in-ms" title="Permalink to this headline">¶</a></h2>
<p>Validity period for credentials cache. This cache is tightly coupled to
the provided PasswordAuthenticator implementation of IAuthenticator. If
another IAuthenticator implementation is configured, this cache will not
be automatically used and so the following settings will have no effect.
Please note, credentials are cached in their encrypted form, so while
activating this cache may reduce the number of queries made to the
underlying table, it may not  bring a significant reduction in the
latency of individual authentication attempts.
Defaults to 2000, set to 0 to disable credentials caching.</p>
<p><em>Default Value:</em> 2000</p>
</div>
<div class="section" id="credentials-update-interval-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">credentials_update_interval_in_ms</span></code><a class="headerlink" href="#credentials-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Refresh interval for credentials cache (if enabled).
After this interval, cache entries become eligible for refresh. Upon next
access, an async reload is scheduled and the old value returned until it
completes. If credentials_validity_in_ms is non-zero, then this must be
also.
Defaults to the same value as credentials_validity_in_ms.</p>
<p><em>Default Value:</em> 2000</p>
</div>
<div class="section" id="partitioner">
<h2><code class="docutils literal notranslate"><span class="pre">partitioner</span></code><a class="headerlink" href="#partitioner" title="Permalink to this headline">¶</a></h2>
<p>The partitioner is responsible for distributing groups of rows (by
partition key) across nodes in the cluster. The partitioner can NOT be
changed without reloading all data.  If you are adding nodes or upgrading,
you should set this to the same partitioner that you are currently using.</p>
<p>The default partitioner is the Murmur3Partitioner. Older partitioners
such as the RandomPartitioner, ByteOrderedPartitioner, and
OrderPreservingPartitioner have been included for backward compatibility only.
For new clusters, you should NOT change this value.</p>
<p><em>Default Value:</em> org.apache.cassandra.dht.Murmur3Partitioner</p>
</div>
<div class="section" id="data-file-directories">
<h2><code class="docutils literal notranslate"><span class="pre">data_file_directories</span></code><a class="headerlink" href="#data-file-directories" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Directories where Cassandra should store data on disk. If multiple
directories are specified, Cassandra will spread data evenly across
them by partitioning the token ranges.
If not set, the default directory is $CASSANDRA_HOME/data/data.</p>
<p><em>Default Value (complex option)</em>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#     - /var/lib/cassandra/data</span>
</pre></div>
</div>
</div>
<div class="section" id="commitlog-directory">
<h2><code class="docutils literal notranslate"><span class="pre">commitlog_directory</span></code><a class="headerlink" href="#commitlog-directory" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em>
commit log.  when running on magnetic HDD, this should be a
separate spindle than the data directories.
If not set, the default directory is $CASSANDRA_HOME/data/commitlog.</p>
<p><em>Default Value:</em>  /var/lib/cassandra/commitlog</p>
</div>
<div class="section" id="cdc-enabled">
<h2><code class="docutils literal notranslate"><span class="pre">cdc_enabled</span></code><a class="headerlink" href="#cdc-enabled" title="Permalink to this headline">¶</a></h2>
<p>Enable / disable CDC functionality on a per-node basis. This modifies the logic used
for write path allocation rejection (standard: never reject. cdc: reject Mutation
containing a CDC-enabled table if at space limit in cdc_raw_directory).</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="cdc-raw-directory">
<h2><code class="docutils literal notranslate"><span class="pre">cdc_raw_directory</span></code><a class="headerlink" href="#cdc-raw-directory" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>CommitLogSegments are moved to this directory on flush if cdc_enabled: true and the
segment contains mutations for a CDC-enabled table. This should be placed on a
separate spindle than the data directories. If not set, the default directory is
$CASSANDRA_HOME/data/cdc_raw.</p>
<p><em>Default Value:</em>  /var/lib/cassandra/cdc_raw</p>
</div>
<div class="section" id="disk-failure-policy">
<h2><code class="docutils literal notranslate"><span class="pre">disk_failure_policy</span></code><a class="headerlink" href="#disk-failure-policy" title="Permalink to this headline">¶</a></h2>
<p>Policy for data disk failures:</p>
<dl class="docutils">
<dt>die</dt>
<dd>shut down gossip and client transports and kill the JVM for any fs errors or
single-sstable errors, so the node can be replaced.</dd>
<dt>stop_paranoid</dt>
<dd>shut down gossip and client transports even for single-sstable errors,
kill the JVM for errors during startup.</dd>
<dt>stop</dt>
<dd>shut down gossip and client transports, leaving the node effectively dead, but
can still be inspected via JMX, kill the JVM for errors during startup.</dd>
<dt>best_effort</dt>
<dd>stop using the failed disk and respond to requests based on
remaining available sstables.  This means you WILL see obsolete
data at CL.ONE!</dd>
<dt>ignore</dt>
<dd>ignore fatal errors and let requests fail, as in pre-1.2 Cassandra</dd>
</dl>
<p><em>Default Value:</em> stop</p>
</div>
<div class="section" id="commit-failure-policy">
<h2><code class="docutils literal notranslate"><span class="pre">commit_failure_policy</span></code><a class="headerlink" href="#commit-failure-policy" title="Permalink to this headline">¶</a></h2>
<p>Policy for commit disk failures:</p>
<dl class="docutils">
<dt>die</dt>
<dd>shut down the node and kill the JVM, so the node can be replaced.</dd>
<dt>stop</dt>
<dd>shut down the node, leaving the node effectively dead, but
can still be inspected via JMX.</dd>
<dt>stop_commit</dt>
<dd>shutdown the commit log, letting writes collect but
continuing to service reads, as in pre-2.0.5 Cassandra</dd>
<dt>ignore</dt>
<dd>ignore fatal errors and let the batches fail</dd>
</dl>
<p><em>Default Value:</em> stop</p>
</div>
<div class="section" id="prepared-statements-cache-size-mb">
<h2><code class="docutils literal notranslate"><span class="pre">prepared_statements_cache_size_mb</span></code><a class="headerlink" href="#prepared-statements-cache-size-mb" title="Permalink to this headline">¶</a></h2>
<p>Maximum size of the native protocol prepared statement cache</p>
<p>Valid values are either “auto” (omitting the value) or a value greater 0.</p>
<p>Note that specifying a too large value will result in long running GCs and possbily
out-of-memory errors. Keep the value at a small fraction of the heap.</p>
<p>If you constantly see “prepared statements discarded in the last minute because
cache limit reached” messages, the first step is to investigate the root cause
of these messages and check whether prepared statements are used correctly -
i.e. use bind markers for variable parts.</p>
<p>Do only change the default value, if you really have more prepared statements than
fit in the cache. In most cases it is not neccessary to change this value.
Constantly re-preparing statements is a performance penalty.</p>
<p>Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater</p>
</div>
<div class="section" id="key-cache-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">key_cache_size_in_mb</span></code><a class="headerlink" href="#key-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
<p>Maximum size of the key cache in memory.</p>
<p>Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the
minimum, sometimes more. The key cache is fairly tiny for the amount of
time it saves, so it’s worthwhile to use it at large numbers.
The row cache saves even more time, but must contain the entire row,
so it is extremely space-intensive. It’s best to only use the
row cache if you have hot rows or static rows.</p>
<p>NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.</p>
<p>Default value is empty to make it “auto” (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache.</p>
</div>
<div class="section" id="key-cache-save-period">
<h2><code class="docutils literal notranslate"><span class="pre">key_cache_save_period</span></code><a class="headerlink" href="#key-cache-save-period" title="Permalink to this headline">¶</a></h2>
<p>Duration in seconds after which Cassandra should
save the key cache. Caches are saved to saved_caches_directory as
specified in this configuration file.</p>
<p>Saved caches greatly improve cold-start speeds, and is relatively cheap in
terms of I/O for the key cache. Row cache saving is much more expensive and
has limited use.</p>
<p>Default is 14400 or 4 hours.</p>
<p><em>Default Value:</em> 14400</p>
</div>
<div class="section" id="key-cache-keys-to-save">
<h2><code class="docutils literal notranslate"><span class="pre">key_cache_keys_to_save</span></code><a class="headerlink" href="#key-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Number of keys from the key cache to save
Disabled by default, meaning all keys are going to be saved</p>
<p><em>Default Value:</em> 100</p>
</div>
<div class="section" id="row-cache-class-name">
<h2><code class="docutils literal notranslate"><span class="pre">row_cache_class_name</span></code><a class="headerlink" href="#row-cache-class-name" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Row cache implementation class name. Available implementations:</p>
<dl class="docutils">
<dt>org.apache.cassandra.cache.OHCProvider</dt>
<dd>Fully off-heap row cache implementation (default).</dd>
<dt>org.apache.cassandra.cache.SerializingCacheProvider</dt>
<dd>This is the row cache implementation availabile
in previous releases of Cassandra.</dd>
</dl>
<p><em>Default Value:</em> org.apache.cassandra.cache.OHCProvider</p>
</div>
<div class="section" id="row-cache-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">row_cache_size_in_mb</span></code><a class="headerlink" href="#row-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
<p>Maximum size of the row cache in memory.
Please note that OHC cache implementation requires some additional off-heap memory to manage
the map structures and some in-flight memory during operations before/after cache entries can be
accounted against the cache capacity. This overhead is usually small compared to the whole capacity.
Do not specify more memory that the system can afford in the worst usual situation and leave some
headroom for OS block level cache. Do never allow your system to swap.</p>
<p>Default value is 0, to disable row caching.</p>
<p><em>Default Value:</em> 0</p>
</div>
<div class="section" id="row-cache-save-period">
<h2><code class="docutils literal notranslate"><span class="pre">row_cache_save_period</span></code><a class="headerlink" href="#row-cache-save-period" title="Permalink to this headline">¶</a></h2>
<p>Duration in seconds after which Cassandra should save the row cache.
Caches are saved to saved_caches_directory as specified in this configuration file.</p>
<p>Saved caches greatly improve cold-start speeds, and is relatively cheap in
terms of I/O for the key cache. Row cache saving is much more expensive and
has limited use.</p>
<p>Default is 0 to disable saving the row cache.</p>
<p><em>Default Value:</em> 0</p>
</div>
<div class="section" id="row-cache-keys-to-save">
<h2><code class="docutils literal notranslate"><span class="pre">row_cache_keys_to_save</span></code><a class="headerlink" href="#row-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Number of keys from the row cache to save.
Specify 0 (which is the default), meaning all keys are going to be saved</p>
<p><em>Default Value:</em> 100</p>
</div>
<div class="section" id="counter-cache-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_size_in_mb</span></code><a class="headerlink" href="#counter-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
<p>Maximum size of the counter cache in memory.</p>
<p>Counter cache helps to reduce counter locks’ contention for hot counter cells.
In case of RF = 1 a counter cache hit will cause Cassandra to skip the read before
write entirely. With RF &gt; 1 a counter cache hit will still help to reduce the duration
of the lock hold, helping with hot counter cell updates, but will not allow skipping
the read entirely. Only the local (clock, count) tuple of a counter cell is kept
in memory, not the whole counter, so it’s relatively cheap.</p>
<p>NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.</p>
<p>Default value is empty to make it “auto” (min(2.5% of Heap (in MB), 50MB)). Set to 0 to disable counter cache.
NOTE: if you perform counter deletes and rely on low gcgs, you should disable the counter cache.</p>
</div>
<div class="section" id="counter-cache-save-period">
<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_save_period</span></code><a class="headerlink" href="#counter-cache-save-period" title="Permalink to this headline">¶</a></h2>
<p>Duration in seconds after which Cassandra should
save the counter cache (keys only). Caches are saved to saved_caches_directory as
specified in this configuration file.</p>
<p>Default is 7200 or 2 hours.</p>
<p><em>Default Value:</em> 7200</p>
</div>
<div class="section" id="counter-cache-keys-to-save">
<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_keys_to_save</span></code><a class="headerlink" href="#counter-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Number of keys from the counter cache to save
Disabled by default, meaning all keys are going to be saved</p>
<p><em>Default Value:</em> 100</p>
</div>
<div class="section" id="saved-caches-directory">
<h2><code class="docutils literal notranslate"><span class="pre">saved_caches_directory</span></code><a class="headerlink" href="#saved-caches-directory" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>saved caches
If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.</p>
<p><em>Default Value:</em>  /var/lib/cassandra/saved_caches</p>
</div>
<div class="section" id="commitlog-sync-batch-window-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync_batch_window_in_ms</span></code><a class="headerlink" href="#commitlog-sync-batch-window-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>commitlog_sync may be either “periodic”, “group”, or “batch.”</p>
<p>When in batch mode, Cassandra won’t ack writes until the commit log
has been flushed to disk.  Each incoming write will trigger the flush task.
commitlog_sync_batch_window_in_ms is a deprecated value. Previously it had
almost no value, and is being removed.</p>
<p><em>Default Value:</em> 2</p>
</div>
<div class="section" id="commitlog-sync-group-window-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync_group_window_in_ms</span></code><a class="headerlink" href="#commitlog-sync-group-window-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>group mode is similar to batch mode, where Cassandra will not ack writes
until the commit log has been flushed to disk. The difference is group
mode will wait up to commitlog_sync_group_window_in_ms between flushes.</p>
<p><em>Default Value:</em> 1000</p>
</div>
<div class="section" id="commitlog-sync">
<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code><a class="headerlink" href="#commitlog-sync" title="Permalink to this headline">¶</a></h2>
<p>the default option is “periodic” where writes may be acked immediately
and the CommitLog is simply synced every commitlog_sync_period_in_ms
milliseconds.</p>
<p><em>Default Value:</em> periodic</p>
</div>
<div class="section" id="commitlog-sync-period-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync_period_in_ms</span></code><a class="headerlink" href="#commitlog-sync-period-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>Default Value:</em> 10000</p>
</div>
<div class="section" id="periodic-commitlog-sync-lag-block-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">periodic_commitlog_sync_lag_block_in_ms</span></code><a class="headerlink" href="#periodic-commitlog-sync-lag-block-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>When in periodic commitlog mode, the number of milliseconds to block writes
while waiting for a slow disk flush to complete.</p>
</div>
<div class="section" id="commitlog-segment-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">commitlog_segment_size_in_mb</span></code><a class="headerlink" href="#commitlog-segment-size-in-mb" title="Permalink to this headline">¶</a></h2>
<p>The size of the individual commitlog file segments.  A commitlog
segment may be archived, deleted, or recycled once all the data
in it (potentially from each columnfamily in the system) has been
flushed to sstables.</p>
<p>The default size is 32, which is almost always fine, but if you are
archiving commitlog segments (see commitlog_archiving.properties),
then you probably want a finer granularity of archiving; 8 or 16 MB
is reasonable.
Max mutation size is also configurable via max_mutation_size_in_kb setting in
cassandra.yaml. The default is half the size commitlog_segment_size_in_mb * 1024.
This should be positive and less than 2048.</p>
<p>NOTE: If max_mutation_size_in_kb is set explicitly then commitlog_segment_size_in_mb must
be set to at least twice the size of max_mutation_size_in_kb / 1024</p>
<p><em>Default Value:</em> 32</p>
</div>
<div class="section" id="commitlog-compression">
<h2><code class="docutils literal notranslate"><span class="pre">commitlog_compression</span></code><a class="headerlink" href="#commitlog-compression" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Compression to apply to the commit log. If omitted, the commit log
will be written uncompressed.  LZ4, Snappy, and Deflate compressors
are supported.</p>
<p><em>Default Value (complex option)</em>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#   - class_name: LZ4Compressor</span>
<span class="c1">#     parameters:</span>
<span class="c1">#         -</span>
</pre></div>
</div>
</div>
<div class="section" id="table">
<h2><code class="docutils literal notranslate"><span class="pre">table</span></code><a class="headerlink" href="#table" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em>
Compression to apply to SSTables as they flush for compressed tables.
Note that tables without compression enabled do not respect this flag.</p>
<p>As high ratio compressors like LZ4HC, Zstd, and Deflate can potentially
block flushes for too long, the default is to flush with a known fast
compressor in those cases. Options are:</p>
<p>none : Flush without compressing blocks but while still doing checksums.
fast : Flush with a fast compressor. If the table is already using a</p>
<blockquote>
<div>fast compressor that compressor is used.</div></blockquote>
<p><em>Default Value:</em> Always flush with the same compressor that the table uses. This</p>
</div>
<div class="section" id="flush-compression">
<h2><code class="docutils literal notranslate"><span class="pre">flush_compression</span></code><a class="headerlink" href="#flush-compression" title="Permalink to this headline">¶</a></h2>
<dl class="docutils">
<dt><em>This option is commented out by default.</em></dt>
<dd>was the pre 4.0 behavior.</dd>
</dl>
<p><em>Default Value:</em> fast</p>
</div>
<div class="section" id="seed-provider">
<h2><code class="docutils literal notranslate"><span class="pre">seed_provider</span></code><a class="headerlink" href="#seed-provider" title="Permalink to this headline">¶</a></h2>
<p>any class that implements the SeedProvider interface and has a
constructor that takes a Map&lt;String, String&gt; of parameters will do.</p>
<p><em>Default Value (complex option)</em>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Addresses of hosts that are deemed contact points.</span>
<span class="c1"># Cassandra nodes use this list of hosts to find each other and learn</span>
<span class="c1"># the topology of the ring.  You must change this if you are running</span>
<span class="c1"># multiple nodes!</span>
<span class="o">-</span> <span class="n">class_name</span><span class="p">:</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">cassandra</span><span class="o">.</span><span class="n">locator</span><span class="o">.</span><span class="n">SimpleSeedProvider</span>
  <span class="n">parameters</span><span class="p">:</span>
      <span class="c1"># seeds is actually a comma-delimited list of addresses.</span>
      <span class="c1"># Ex: &quot;&lt;ip1&gt;,&lt;ip2&gt;,&lt;ip3&gt;&quot;</span>
      <span class="o">-</span> <span class="n">seeds</span><span class="p">:</span> <span class="s2">&quot;127.0.0.1:7000&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="concurrent-reads">
<h2><code class="docutils literal notranslate"><span class="pre">concurrent_reads</span></code><a class="headerlink" href="#concurrent-reads" title="Permalink to this headline">¶</a></h2>
<p>For workloads with more data than can fit in memory, Cassandra’s
bottleneck will be reads that need to fetch data from
disk. “concurrent_reads” should be set to (16 * number_of_drives) in
order to allow the operations to enqueue low enough in the stack
that the OS and drives can reorder them. Same applies to
“concurrent_counter_writes”, since counter writes read the current
values before incrementing and writing them back.</p>
<p>On the other hand, since writes are almost never IO bound, the ideal
number of “concurrent_writes” is dependent on the number of cores in
your system; (8 * number_of_cores) is a good rule of thumb.</p>
<p><em>Default Value:</em> 32</p>
</div>
<div class="section" id="concurrent-writes">
<h2><code class="docutils literal notranslate"><span class="pre">concurrent_writes</span></code><a class="headerlink" href="#concurrent-writes" title="Permalink to this headline">¶</a></h2>
<p><em>Default Value:</em> 32</p>
</div>
<div class="section" id="concurrent-counter-writes">
<h2><code class="docutils literal notranslate"><span class="pre">concurrent_counter_writes</span></code><a class="headerlink" href="#concurrent-counter-writes" title="Permalink to this headline">¶</a></h2>
<p><em>Default Value:</em> 32</p>
</div>
<div class="section" id="concurrent-materialized-view-writes">
<h2><code class="docutils literal notranslate"><span class="pre">concurrent_materialized_view_writes</span></code><a class="headerlink" href="#concurrent-materialized-view-writes" title="Permalink to this headline">¶</a></h2>
<p>For materialized view writes, as there is a read involved, so this should
be limited by the less of concurrent reads or concurrent writes.</p>
<p><em>Default Value:</em> 32</p>
</div>
<div class="section" id="file-cache-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">file_cache_size_in_mb</span></code><a class="headerlink" href="#file-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Maximum memory to use for sstable chunk cache and buffer pooling.
32MB of this are reserved for pooling buffers, the rest is used as an
cache that holds uncompressed sstable chunks.
Defaults to the smaller of 1/4 of heap or 512MB. This pool is allocated off-heap,
so is in addition to the memory allocated for heap. The cache also has on-heap
overhead which is roughly 128 bytes per chunk (i.e. 0.2% of the reserved size
if the default 64k chunk size is used).
Memory is only allocated when needed.</p>
<p><em>Default Value:</em> 512</p>
</div>
<div class="section" id="buffer-pool-use-heap-if-exhausted">
<h2><code class="docutils literal notranslate"><span class="pre">buffer_pool_use_heap_if_exhausted</span></code><a class="headerlink" href="#buffer-pool-use-heap-if-exhausted" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Flag indicating whether to allocate on or off heap when the sstable buffer
pool is exhausted, that is when it has exceeded the maximum memory
file_cache_size_in_mb, beyond which it will not cache buffers but allocate on request.</p>
<p><em>Default Value:</em> true</p>
</div>
<div class="section" id="disk-optimization-strategy">
<h2><code class="docutils literal notranslate"><span class="pre">disk_optimization_strategy</span></code><a class="headerlink" href="#disk-optimization-strategy" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>The strategy for optimizing disk read
Possible values are:
ssd (for solid state disks, the default)
spinning (for spinning disks)</p>
<p><em>Default Value:</em> ssd</p>
</div>
<div class="section" id="memtable-heap-space-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">memtable_heap_space_in_mb</span></code><a class="headerlink" href="#memtable-heap-space-in-mb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Total permitted memory to use for memtables. Cassandra will stop
accepting writes when the limit is exceeded until a flush completes,
and will trigger a flush based on memtable_cleanup_threshold
If omitted, Cassandra will set both to 1/4 the size of the heap.</p>
<p><em>Default Value:</em> 2048</p>
</div>
<div class="section" id="memtable-offheap-space-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">memtable_offheap_space_in_mb</span></code><a class="headerlink" href="#memtable-offheap-space-in-mb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p><em>Default Value:</em> 2048</p>
</div>
<div class="section" id="memtable-cleanup-threshold">
<h2><code class="docutils literal notranslate"><span class="pre">memtable_cleanup_threshold</span></code><a class="headerlink" href="#memtable-cleanup-threshold" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>memtable_cleanup_threshold is deprecated. The default calculation
is the only reasonable choice. See the comments on  memtable_flush_writers
for more information.</p>
<p>Ratio of occupied non-flushing memtable size to total permitted size
that will trigger a flush of the largest memtable. Larger mct will
mean larger flushes and hence less compaction, but also less concurrent
flush activity which can make it difficult to keep your disks fed
under heavy write load.</p>
<p>memtable_cleanup_threshold defaults to 1 / (memtable_flush_writers + 1)</p>
<p><em>Default Value:</em> 0.11</p>
</div>
<div class="section" id="memtable-allocation-type">
<h2><code class="docutils literal notranslate"><span class="pre">memtable_allocation_type</span></code><a class="headerlink" href="#memtable-allocation-type" title="Permalink to this headline">¶</a></h2>
<p>Specify the way Cassandra allocates and manages memtable memory.
Options are:</p>
<dl class="docutils">
<dt>heap_buffers</dt>
<dd>on heap nio buffers</dd>
<dt>offheap_buffers</dt>
<dd>off heap (direct) nio buffers</dd>
<dt>offheap_objects</dt>
<dd>off heap objects</dd>
</dl>
<p><em>Default Value:</em> heap_buffers</p>
</div>
<div class="section" id="repair-session-space-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">repair_session_space_in_mb</span></code><a class="headerlink" href="#repair-session-space-in-mb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Limit memory usage for Merkle tree calculations during repairs. The default
is 1/16th of the available heap. The main tradeoff is that smaller trees
have less resolution, which can lead to over-streaming data. If you see heap
pressure during repairs, consider lowering this, but you cannot go below
one megabyte. If you see lots of over-streaming, consider raising
this or using subrange repair.</p>
<p>For more details see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-14096">https://issues.apache.org/jira/browse/CASSANDRA-14096</a>.</p>
</div>
<div class="section" id="commitlog-total-space-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">commitlog_total_space_in_mb</span></code><a class="headerlink" href="#commitlog-total-space-in-mb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Total space to use for commit logs on disk.</p>
<p>If space gets above this value, Cassandra will flush every dirty CF
in the oldest segment and remove it.  So a small total commitlog space
will tend to cause more flush activity on less-active columnfamilies.</p>
<p>The default value is the smaller of 8192, and 1/4 of the total space
of the commitlog volume.</p>
<p><em>Default Value:</em> 8192</p>
</div>
<div class="section" id="memtable-flush-writers">
<h2><code class="docutils literal notranslate"><span class="pre">memtable_flush_writers</span></code><a class="headerlink" href="#memtable-flush-writers" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>This sets the number of memtable flush writer threads per disk
as well as the total number of memtables that can be flushed concurrently.
These are generally a combination of compute and IO bound.</p>
<p>Memtable flushing is more CPU efficient than memtable ingest and a single thread
can keep up with the ingest rate of a whole server on a single fast disk
until it temporarily becomes IO bound under contention typically with compaction.
At that point you need multiple flush threads. At some point in the future
it may become CPU bound all the time.</p>
<p>You can tell if flushing is falling behind using the MemtablePool.BlockedOnAllocation
metric which should be 0, but will be non-zero if threads are blocked waiting on flushing
to free memory.</p>
<p>memtable_flush_writers defaults to two for a single data directory.
This means that two  memtables can be flushed concurrently to the single data directory.
If you have multiple data directories the default is one memtable flushing at a time
but the flush will use a thread per data directory so you will get two or more writers.</p>
<p>Two is generally enough to flush on a fast disk [array] mounted as a single data directory.
Adding more flush writers will result in smaller more frequent flushes that introduce more
compaction overhead.</p>
<p>There is a direct tradeoff between number of memtables that can be flushed concurrently
and flush size and frequency. More is not better you just need enough flush writers
to never stall waiting for flushing to free memory.</p>
<p><em>Default Value:</em> 2</p>
</div>
<div class="section" id="cdc-total-space-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">cdc_total_space_in_mb</span></code><a class="headerlink" href="#cdc-total-space-in-mb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Total space to use for change-data-capture logs on disk.</p>
<p>If space gets above this value, Cassandra will throw WriteTimeoutException
on Mutations including tables with CDC enabled. A CDCCompactor is responsible
for parsing the raw CDC logs and deleting them when parsing is completed.</p>
<p>The default value is the min of 4096 mb and 1/8th of the total space
of the drive where cdc_raw_directory resides.</p>
<p><em>Default Value:</em> 4096</p>
</div>
<div class="section" id="cdc-free-space-check-interval-ms">
<h2><code class="docutils literal notranslate"><span class="pre">cdc_free_space_check_interval_ms</span></code><a class="headerlink" href="#cdc-free-space-check-interval-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>When we hit our cdc_raw limit and the CDCCompactor is either running behind
or experiencing backpressure, we check at the following interval to see if any
new space for cdc-tracked tables has been made available. Default to 250ms</p>
<p><em>Default Value:</em> 250</p>
</div>
<div class="section" id="index-summary-capacity-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">index_summary_capacity_in_mb</span></code><a class="headerlink" href="#index-summary-capacity-in-mb" title="Permalink to this headline">¶</a></h2>
<p>A fixed memory pool size in MB for for SSTable index summaries. If left
empty, this will default to 5% of the heap size. If the memory usage of
all index summaries exceeds this limit, SSTables with low read rates will
shrink their index summaries in order to meet this limit.  However, this
is a best-effort process. In extreme conditions Cassandra may need to use
more than this amount of memory.</p>
</div>
<div class="section" id="index-summary-resize-interval-in-minutes">
<h2><code class="docutils literal notranslate"><span class="pre">index_summary_resize_interval_in_minutes</span></code><a class="headerlink" href="#index-summary-resize-interval-in-minutes" title="Permalink to this headline">¶</a></h2>
<p>How frequently index summaries should be resampled.  This is done
periodically to redistribute memory from the fixed-size pool to sstables
proportional their recent read rates.  Setting to -1 will disable this
process, leaving existing index summaries at their current sampling level.</p>
<p><em>Default Value:</em> 60</p>
</div>
<div class="section" id="trickle-fsync">
<h2><code class="docutils literal notranslate"><span class="pre">trickle_fsync</span></code><a class="headerlink" href="#trickle-fsync" title="Permalink to this headline">¶</a></h2>
<p>Whether to, when doing sequential writing, fsync() at intervals in
order to force the operating system to flush the dirty
buffers. Enable this to avoid sudden dirty buffer flushing from
impacting read latencies. Almost always a good idea on SSDs; not
necessarily on platters.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="trickle-fsync-interval-in-kb">
<h2><code class="docutils literal notranslate"><span class="pre">trickle_fsync_interval_in_kb</span></code><a class="headerlink" href="#trickle-fsync-interval-in-kb" title="Permalink to this headline">¶</a></h2>
<p><em>Default Value:</em> 10240</p>
</div>
<div class="section" id="storage-port">
<h2><code class="docutils literal notranslate"><span class="pre">storage_port</span></code><a class="headerlink" href="#storage-port" title="Permalink to this headline">¶</a></h2>
<p>TCP port, for commands and data
For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
<p><em>Default Value:</em> 7000</p>
</div>
<div class="section" id="ssl-storage-port">
<h2><code class="docutils literal notranslate"><span class="pre">ssl_storage_port</span></code><a class="headerlink" href="#ssl-storage-port" title="Permalink to this headline">¶</a></h2>
<p>SSL port, for legacy encrypted communication. This property is unused unless enabled in
server_encryption_options (see below). As of cassandra 4.0, this property is deprecated
as a single port can be used for either/both secure and insecure connections.
For security reasons, you should not expose this port to the internet. Firewall it if needed.</p>
<p><em>Default Value:</em> 7001</p>
</div>
<div class="section" id="listen-address">
<h2><code class="docutils literal notranslate"><span class="pre">listen_address</span></code><a class="headerlink" href="#listen-address" title="Permalink to this headline">¶</a></h2>
<p>Address or interface to bind to and tell other Cassandra nodes to connect to.
You _must_ change this if you want multiple nodes to be able to communicate!</p>
<p>Set listen_address OR listen_interface, not both.</p>
<p>Leaving it blank leaves it up to InetAddress.getLocalHost(). This
will always do the Right Thing _if_ the node is properly configured
(hostname, name resolution, etc), and the Right Thing is to use the
address associated with the hostname (it might not be). If unresolvable
it will fall back to InetAddress.getLoopbackAddress(), which is wrong for production systems.</p>
<p>Setting listen_address to 0.0.0.0 is always wrong.</p>
<p><em>Default Value:</em> localhost</p>
</div>
<div class="section" id="listen-interface">
<h2><code class="docutils literal notranslate"><span class="pre">listen_interface</span></code><a class="headerlink" href="#listen-interface" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Set listen_address OR listen_interface, not both. Interfaces must correspond
to a single address, IP aliasing is not supported.</p>
<p><em>Default Value:</em> eth0</p>
</div>
<div class="section" id="listen-interface-prefer-ipv6">
<h2><code class="docutils literal notranslate"><span class="pre">listen_interface_prefer_ipv6</span></code><a class="headerlink" href="#listen-interface-prefer-ipv6" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address
you can specify which should be chosen using listen_interface_prefer_ipv6. If false the first ipv4
address will be used. If true the first ipv6 address will be used. Defaults to false preferring
ipv4. If there is only one address it will be selected regardless of ipv4/ipv6.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="broadcast-address">
<h2><code class="docutils literal notranslate"><span class="pre">broadcast_address</span></code><a class="headerlink" href="#broadcast-address" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Address to broadcast to other Cassandra nodes
Leaving this blank will set it to the same value as listen_address</p>
<p><em>Default Value:</em> 1.2.3.4</p>
</div>
<div class="section" id="listen-on-broadcast-address">
<h2><code class="docutils literal notranslate"><span class="pre">listen_on_broadcast_address</span></code><a class="headerlink" href="#listen-on-broadcast-address" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>When using multiple physical network interfaces, set this
to true to listen on broadcast_address in addition to
the listen_address, allowing nodes to communicate in both
interfaces.
Ignore this property if the network configuration automatically
routes  between the public and private networks such as EC2.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="internode-authenticator">
<h2><code class="docutils literal notranslate"><span class="pre">internode_authenticator</span></code><a class="headerlink" href="#internode-authenticator" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Internode authentication backend, implementing IInternodeAuthenticator;
used to allow/disallow connections from peer nodes.</p>
<p><em>Default Value:</em> org.apache.cassandra.auth.AllowAllInternodeAuthenticator</p>
</div>
<div class="section" id="start-native-transport">
<h2><code class="docutils literal notranslate"><span class="pre">start_native_transport</span></code><a class="headerlink" href="#start-native-transport" title="Permalink to this headline">¶</a></h2>
<p>Whether to start the native transport server.
The address on which the native transport is bound is defined by rpc_address.</p>
<p><em>Default Value:</em> true</p>
</div>
<div class="section" id="native-transport-port">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_port</span></code><a class="headerlink" href="#native-transport-port" title="Permalink to this headline">¶</a></h2>
<p>port for the CQL native transport to listen for clients on
For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
<p><em>Default Value:</em> 9042</p>
</div>
<div class="section" id="native-transport-port-ssl">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_port_ssl</span></code><a class="headerlink" href="#native-transport-port-ssl" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em>
Enabling native transport encryption in client_encryption_options allows you to either use
encryption for the standard port or to use a dedicated, additional port along with the unencrypted
standard native_transport_port.
Enabling client encryption and keeping native_transport_port_ssl disabled will use encryption
for native_transport_port. Setting native_transport_port_ssl to a different value
from native_transport_port will use encryption for native_transport_port_ssl while
keeping native_transport_port unencrypted.</p>
<p><em>Default Value:</em> 9142</p>
</div>
<div class="section" id="native-transport-max-threads">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_threads</span></code><a class="headerlink" href="#native-transport-max-threads" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em>
The maximum threads for handling requests (note that idle threads are stopped
after 30 seconds so there is not corresponding minimum setting).</p>
<p><em>Default Value:</em> 128</p>
</div>
<div class="section" id="native-transport-max-frame-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_frame_size_in_mb</span></code><a class="headerlink" href="#native-transport-max-frame-size-in-mb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>The maximum size of allowed frame. Frame (requests) larger than this will
be rejected as invalid. The default is 256MB. If you’re changing this parameter,
you may want to adjust max_value_size_in_mb accordingly. This should be positive and less than 2048.</p>
<p><em>Default Value:</em> 256</p>
</div>
<div class="section" id="native-transport-frame-block-size-in-kb">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_frame_block_size_in_kb</span></code><a class="headerlink" href="#native-transport-frame-block-size-in-kb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>If checksumming is enabled as a protocol option, denotes the size of the chunks into which frame
are bodies will be broken and checksummed.</p>
<p><em>Default Value:</em> 32</p>
</div>
<div class="section" id="native-transport-max-concurrent-connections">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_concurrent_connections</span></code><a class="headerlink" href="#native-transport-max-concurrent-connections" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>The maximum number of concurrent client connections.
The default is -1, which means unlimited.</p>
<p><em>Default Value:</em> -1</p>
</div>
<div class="section" id="native-transport-max-concurrent-connections-per-ip">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_concurrent_connections_per_ip</span></code><a class="headerlink" href="#native-transport-max-concurrent-connections-per-ip" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>The maximum number of concurrent client connections per source ip.
The default is -1, which means unlimited.</p>
<p><em>Default Value:</em> -1</p>
</div>
<div class="section" id="native-transport-allow-older-protocols">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_allow_older_protocols</span></code><a class="headerlink" href="#native-transport-allow-older-protocols" title="Permalink to this headline">¶</a></h2>
<p>Controls whether Cassandra honors older, yet currently supported, protocol versions.
The default is true, which means all supported protocols will be honored.</p>
<p><em>Default Value:</em> true</p>
</div>
<div class="section" id="native-transport-idle-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_idle_timeout_in_ms</span></code><a class="headerlink" href="#native-transport-idle-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Controls when idle client connections are closed. Idle connections are ones that had neither reads
nor writes for a time period.</p>
<p>Clients may implement heartbeats by sending OPTIONS native protocol message after a timeout, which
will reset idle timeout timer on the server side. To close idle client connections, corresponding
values for heartbeat intervals have to be set on the client side.</p>
<p>Idle connection timeouts are disabled by default.</p>
<p><em>Default Value:</em> 60000</p>
</div>
<div class="section" id="rpc-address">
<h2><code class="docutils literal notranslate"><span class="pre">rpc_address</span></code><a class="headerlink" href="#rpc-address" title="Permalink to this headline">¶</a></h2>
<p>The address or interface to bind the native transport server to.</p>
<p>Set rpc_address OR rpc_interface, not both.</p>
<p>Leaving rpc_address blank has the same effect as on listen_address
(i.e. it will be based on the configured hostname of the node).</p>
<p>Note that unlike listen_address, you can specify 0.0.0.0, but you must also
set broadcast_rpc_address to a value other than 0.0.0.0.</p>
<p>For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
<p><em>Default Value:</em> localhost</p>
</div>
<div class="section" id="rpc-interface">
<h2><code class="docutils literal notranslate"><span class="pre">rpc_interface</span></code><a class="headerlink" href="#rpc-interface" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Set rpc_address OR rpc_interface, not both. Interfaces must correspond
to a single address, IP aliasing is not supported.</p>
<p><em>Default Value:</em> eth1</p>
</div>
<div class="section" id="rpc-interface-prefer-ipv6">
<h2><code class="docutils literal notranslate"><span class="pre">rpc_interface_prefer_ipv6</span></code><a class="headerlink" href="#rpc-interface-prefer-ipv6" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address
you can specify which should be chosen using rpc_interface_prefer_ipv6. If false the first ipv4
address will be used. If true the first ipv6 address will be used. Defaults to false preferring
ipv4. If there is only one address it will be selected regardless of ipv4/ipv6.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="broadcast-rpc-address">
<h2><code class="docutils literal notranslate"><span class="pre">broadcast_rpc_address</span></code><a class="headerlink" href="#broadcast-rpc-address" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>RPC address to broadcast to drivers and other Cassandra nodes. This cannot
be set to 0.0.0.0. If left blank, this will be set to the value of
rpc_address. If rpc_address is set to 0.0.0.0, broadcast_rpc_address must
be set.</p>
<p><em>Default Value:</em> 1.2.3.4</p>
</div>
<div class="section" id="rpc-keepalive">
<h2><code class="docutils literal notranslate"><span class="pre">rpc_keepalive</span></code><a class="headerlink" href="#rpc-keepalive" title="Permalink to this headline">¶</a></h2>
<p>enable or disable keepalive on rpc/native connections</p>
<p><em>Default Value:</em> true</p>
</div>
<div class="section" id="internode-send-buff-size-in-bytes">
<h2><code class="docutils literal notranslate"><span class="pre">internode_send_buff_size_in_bytes</span></code><a class="headerlink" href="#internode-send-buff-size-in-bytes" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Uncomment to set socket buffer size for internode communication
Note that when setting this, the buffer size is limited by net.core.wmem_max
and when not setting it it is defined by net.ipv4.tcp_wmem
See also:
/proc/sys/net/core/wmem_max
/proc/sys/net/core/rmem_max
/proc/sys/net/ipv4/tcp_wmem
/proc/sys/net/ipv4/tcp_wmem
and ‘man tcp’</p>
</div>
<div class="section" id="internode-recv-buff-size-in-bytes">
<h2><code class="docutils literal notranslate"><span class="pre">internode_recv_buff_size_in_bytes</span></code><a class="headerlink" href="#internode-recv-buff-size-in-bytes" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Uncomment to set socket buffer size for internode communication
Note that when setting this, the buffer size is limited by net.core.wmem_max
and when not setting it it is defined by net.ipv4.tcp_wmem</p>
</div>
<div class="section" id="incremental-backups">
<h2><code class="docutils literal notranslate"><span class="pre">incremental_backups</span></code><a class="headerlink" href="#incremental-backups" title="Permalink to this headline">¶</a></h2>
<p>Set to true to have Cassandra create a hard link to each sstable
flushed or streamed locally in a backups/ subdirectory of the
keyspace data.  Removing these links is the operator’s
responsibility.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="snapshot-before-compaction">
<h2><code class="docutils literal notranslate"><span class="pre">snapshot_before_compaction</span></code><a class="headerlink" href="#snapshot-before-compaction" title="Permalink to this headline">¶</a></h2>
<p>Whether or not to take a snapshot before each compaction.  Be
careful using this option, since Cassandra won’t clean up the
snapshots for you.  Mostly useful if you’re paranoid when there
is a data format change.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="auto-snapshot">
<h2><code class="docutils literal notranslate"><span class="pre">auto_snapshot</span></code><a class="headerlink" href="#auto-snapshot" title="Permalink to this headline">¶</a></h2>
<p>Whether or not a snapshot is taken of the data before keyspace truncation
or dropping of column families. The STRONGLY advised default of true
should be used to provide data safety. If you set this flag to false, you will
lose data on truncation or drop.</p>
<p><em>Default Value:</em> true</p>
</div>
<div class="section" id="column-index-size-in-kb">
<h2><code class="docutils literal notranslate"><span class="pre">column_index_size_in_kb</span></code><a class="headerlink" href="#column-index-size-in-kb" title="Permalink to this headline">¶</a></h2>
<p>Granularity of the collation index of rows within a partition.
Increase if your rows are large, or if you have a very large
number of rows per partition.  The competing goals are these:</p>
<ul class="simple">
<li>a smaller granularity means more index entries are generated
and looking up rows withing the partition by collation column
is faster</li>
<li>but, Cassandra will keep the collation index in memory for hot
rows (as part of the key cache), so a larger granularity means
you can cache more hot rows</li>
</ul>
<p><em>Default Value:</em> 64</p>
</div>
<div class="section" id="column-index-cache-size-in-kb">
<h2><code class="docutils literal notranslate"><span class="pre">column_index_cache_size_in_kb</span></code><a class="headerlink" href="#column-index-cache-size-in-kb" title="Permalink to this headline">¶</a></h2>
<p>Per sstable indexed key cache entries (the collation index in memory
mentioned above) exceeding this size will not be held on heap.
This means that only partition information is held on heap and the
index entries are read from disk.</p>
<p>Note that this size refers to the size of the
serialized index information and not the size of the partition.</p>
<p><em>Default Value:</em> 2</p>
</div>
<div class="section" id="concurrent-compactors">
<h2><code class="docutils literal notranslate"><span class="pre">concurrent_compactors</span></code><a class="headerlink" href="#concurrent-compactors" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Number of simultaneous compactions to allow, NOT including
validation “compactions” for anti-entropy repair.  Simultaneous
compactions can help preserve read performance in a mixed read/write
workload, by mitigating the tendency of small sstables to accumulate
during a single long running compactions. The default is usually
fine and if you experience problems with compaction running too
slowly or too fast, you should look at
compaction_throughput_mb_per_sec first.</p>
<p>concurrent_compactors defaults to the smaller of (number of disks,
number of cores), with a minimum of 2 and a maximum of 8.</p>
<p>If your data directories are backed by SSD, you should increase this
to the number of cores.</p>
<p><em>Default Value:</em> 1</p>
</div>
<div class="section" id="concurrent-validations">
<h2><code class="docutils literal notranslate"><span class="pre">concurrent_validations</span></code><a class="headerlink" href="#concurrent-validations" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Number of simultaneous repair validations to allow. If not set or set to
a value less than 1, it defaults to the value of concurrent_compactors.
To set a value greeater than concurrent_compactors at startup, the system
property cassandra.allow_unlimited_concurrent_validations must be set to
true. To dynamically resize to a value &gt; concurrent_compactors on a running
node, first call the bypassConcurrentValidatorsLimit method on the
org.apache.cassandra.db:type=StorageService mbean</p>
<p><em>Default Value:</em> 0</p>
</div>
<div class="section" id="concurrent-materialized-view-builders">
<h2><code class="docutils literal notranslate"><span class="pre">concurrent_materialized_view_builders</span></code><a class="headerlink" href="#concurrent-materialized-view-builders" title="Permalink to this headline">¶</a></h2>
<p>Number of simultaneous materialized view builder tasks to allow.</p>
<p><em>Default Value:</em> 1</p>
</div>
<div class="section" id="compaction-throughput-mb-per-sec">
<h2><code class="docutils literal notranslate"><span class="pre">compaction_throughput_mb_per_sec</span></code><a class="headerlink" href="#compaction-throughput-mb-per-sec" title="Permalink to this headline">¶</a></h2>
<p>Throttles compaction to the given total throughput across the entire
system. The faster you insert data, the faster you need to compact in
order to keep the sstable count down, but in general, setting this to
16 to 32 times the rate you are inserting data is more than sufficient.
Setting this to 0 disables throttling. Note that this accounts for all types
of compaction, including validation compaction (building Merkle trees
for repairs).</p>
<p><em>Default Value:</em> 64</p>
</div>
<div class="section" id="sstable-preemptive-open-interval-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">sstable_preemptive_open_interval_in_mb</span></code><a class="headerlink" href="#sstable-preemptive-open-interval-in-mb" title="Permalink to this headline">¶</a></h2>
<p>When compacting, the replacement sstable(s) can be opened before they
are completely written, and used in place of the prior sstables for
any range that has been written. This helps to smoothly transfer reads
between the sstables, reducing page cache churn and keeping hot rows hot</p>
<p><em>Default Value:</em> 50</p>
</div>
<div class="section" id="stream-entire-sstables">
<h2><code class="docutils literal notranslate"><span class="pre">stream_entire_sstables</span></code><a class="headerlink" href="#stream-entire-sstables" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>When enabled, permits Cassandra to zero-copy stream entire eligible
SSTables between nodes, including every component.
This speeds up the network transfer significantly subject to
throttling specified by stream_throughput_outbound_megabits_per_sec.
Enabling this will reduce the GC pressure on sending and receiving node.
When unset, the default is enabled. While this feature tries to keep the
disks balanced, it cannot guarantee it. This feature will be automatically
disabled if internode encryption is enabled. Currently this can be used with
Leveled Compaction. Once CASSANDRA-14586 is fixed other compaction strategies
will benefit as well when used in combination with CASSANDRA-6696.</p>
<p><em>Default Value:</em> true</p>
</div>
<div class="section" id="stream-throughput-outbound-megabits-per-sec">
<h2><code class="docutils literal notranslate"><span class="pre">stream_throughput_outbound_megabits_per_sec</span></code><a class="headerlink" href="#stream-throughput-outbound-megabits-per-sec" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Throttles all outbound streaming file transfers on this node to the
given total throughput in Mbps. This is necessary because Cassandra does
mostly sequential IO when streaming data during bootstrap or repair, which
can lead to saturating the network connection and degrading rpc performance.
When unset, the default is 200 Mbps or 25 MB/s.</p>
<p><em>Default Value:</em> 200</p>
</div>
<div class="section" id="inter-dc-stream-throughput-outbound-megabits-per-sec">
<h2><code class="docutils literal notranslate"><span class="pre">inter_dc_stream_throughput_outbound_megabits_per_sec</span></code><a class="headerlink" href="#inter-dc-stream-throughput-outbound-megabits-per-sec" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Throttles all streaming file transfer between the datacenters,
this setting allows users to throttle inter dc stream throughput in addition
to throttling all network stream traffic as configured with
stream_throughput_outbound_megabits_per_sec
When unset, the default is 200 Mbps or 25 MB/s</p>
<p><em>Default Value:</em> 200</p>
</div>
<div class="section" id="read-request-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">read_request_timeout_in_ms</span></code><a class="headerlink" href="#read-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p>How long the coordinator should wait for read operations to complete.
Lowest acceptable value is 10 ms.</p>
<p><em>Default Value:</em> 5000</p>
</div>
<div class="section" id="range-request-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">range_request_timeout_in_ms</span></code><a class="headerlink" href="#range-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p>How long the coordinator should wait for seq or index scans to complete.
Lowest acceptable value is 10 ms.</p>
<p><em>Default Value:</em> 10000</p>
</div>
<div class="section" id="write-request-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">write_request_timeout_in_ms</span></code><a class="headerlink" href="#write-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p>How long the coordinator should wait for writes to complete.
Lowest acceptable value is 10 ms.</p>
<p><em>Default Value:</em> 2000</p>
</div>
<div class="section" id="counter-write-request-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">counter_write_request_timeout_in_ms</span></code><a class="headerlink" href="#counter-write-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p>How long the coordinator should wait for counter writes to complete.
Lowest acceptable value is 10 ms.</p>
<p><em>Default Value:</em> 5000</p>
</div>
<div class="section" id="cas-contention-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">cas_contention_timeout_in_ms</span></code><a class="headerlink" href="#cas-contention-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p>How long a coordinator should continue to retry a CAS operation
that contends with other proposals for the same row.
Lowest acceptable value is 10 ms.</p>
<p><em>Default Value:</em> 1000</p>
</div>
<div class="section" id="truncate-request-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">truncate_request_timeout_in_ms</span></code><a class="headerlink" href="#truncate-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p>How long the coordinator should wait for truncates to complete
(This can be much longer, because unless auto_snapshot is disabled
we need to flush first so we can snapshot before removing the data.)
Lowest acceptable value is 10 ms.</p>
<p><em>Default Value:</em> 60000</p>
</div>
<div class="section" id="request-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">request_timeout_in_ms</span></code><a class="headerlink" href="#request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p>The default timeout for other, miscellaneous operations.
Lowest acceptable value is 10 ms.</p>
<p><em>Default Value:</em> 10000</p>
</div>
<div class="section" id="internode-application-send-queue-capacity-in-bytes">
<h2><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-send-queue-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Defensive settings for protecting Cassandra from true network partitions.
See (CASSANDRA-14358) for details.</p>
<p>The amount of time to wait for internode tcp connections to establish.
internode_tcp_connect_timeout_in_ms = 2000</p>
<p>The amount of time unacknowledged data is allowed on a connection before we throw out the connection
Note this is only supported on Linux + epoll, and it appears to behave oddly above a setting of 30000
(it takes much longer than 30s) as of Linux 4.12. If you want something that high set this to 0
which picks up the OS default and configure the net.ipv4.tcp_retries2 sysctl to be ~8.
internode_tcp_user_timeout_in_ms = 30000</p>
<p>The maximum continuous period a connection may be unwritable in application space
internode_application_timeout_in_ms = 30000</p>
<p>Global, per-endpoint and per-connection limits imposed on messages queued for delivery to other nodes
and waiting to be processed on arrival from other nodes in the cluster.  These limits are applied to the on-wire
size of the message being sent or received.</p>
<p>The basic per-link limit is consumed in isolation before any endpoint or global limit is imposed.
Each node-pair has three links: urgent, small and large.  So any given node may have a maximum of
N*3*(internode_application_send_queue_capacity_in_bytes+internode_application_receive_queue_capacity_in_bytes)
messages queued without any coordination between them although in practice, with token-aware routing, only RF*tokens
nodes should need to communicate with significant bandwidth.</p>
<p>The per-endpoint limit is imposed on all messages exceeding the per-link limit, simultaneously with the global limit,
on all links to or from a single node in the cluster.
The global limit is imposed on all messages exceeding the per-link limit, simultaneously with the per-endpoint limit,
on all links to or from any node in the cluster.</p>
<p><em>Default Value:</em> 4194304                       #4MiB</p>
</div>
<div class="section" id="internode-application-send-queue-reserve-endpoint-capacity-in-bytes">
<h2><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_reserve_endpoint_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-send-queue-reserve-endpoint-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p><em>Default Value:</em> 134217728    #128MiB</p>
</div>
<div class="section" id="internode-application-send-queue-reserve-global-capacity-in-bytes">
<h2><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_reserve_global_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-send-queue-reserve-global-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p><em>Default Value:</em> 536870912      #512MiB</p>
</div>
<div class="section" id="internode-application-receive-queue-capacity-in-bytes">
<h2><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-receive-queue-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p><em>Default Value:</em> 4194304                    #4MiB</p>
</div>
<div class="section" id="internode-application-receive-queue-reserve-endpoint-capacity-in-bytes">
<h2><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_reserve_endpoint_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-receive-queue-reserve-endpoint-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p><em>Default Value:</em> 134217728 #128MiB</p>
</div>
<div class="section" id="internode-application-receive-queue-reserve-global-capacity-in-bytes">
<h2><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_reserve_global_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-receive-queue-reserve-global-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p><em>Default Value:</em> 536870912   #512MiB</p>
</div>
<div class="section" id="slow-query-log-timeout-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">slow_query_log_timeout_in_ms</span></code><a class="headerlink" href="#slow-query-log-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
<p>How long before a node logs slow queries. Select queries that take longer than
this timeout to execute, will generate an aggregated log message, so that slow queries
can be identified. Set this value to zero to disable slow query logging.</p>
<p><em>Default Value:</em> 500</p>
</div>
<div class="section" id="cross-node-timeout">
<h2><code class="docutils literal notranslate"><span class="pre">cross_node_timeout</span></code><a class="headerlink" href="#cross-node-timeout" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Enable operation timeout information exchange between nodes to accurately
measure request timeouts.  If disabled, replicas will assume that requests
were forwarded to them instantly by the coordinator, which means that
under overload conditions we will waste that much extra time processing
already-timed-out requests.</p>
<p>Warning: It is generally assumed that users have setup NTP on their clusters, and that clocks are modestly in sync,
since this is a requirement for general correctness of last write wins.</p>
<p><em>Default Value:</em> true</p>
</div>
<div class="section" id="streaming-keep-alive-period-in-secs">
<h2><code class="docutils literal notranslate"><span class="pre">streaming_keep_alive_period_in_secs</span></code><a class="headerlink" href="#streaming-keep-alive-period-in-secs" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Set keep-alive period for streaming
This node will send a keep-alive message periodically with this period.
If the node does not receive a keep-alive message from the peer for
2 keep-alive cycles the stream session times out and fail
Default value is 300s (5 minutes), which means stalled stream
times out in 10 minutes by default</p>
<p><em>Default Value:</em> 300</p>
</div>
<div class="section" id="streaming-connections-per-host">
<h2><code class="docutils literal notranslate"><span class="pre">streaming_connections_per_host</span></code><a class="headerlink" href="#streaming-connections-per-host" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Limit number of connections per host for streaming
Increase this when you notice that joins are CPU-bound rather that network
bound (for example a few nodes with big files).</p>
<p><em>Default Value:</em> 1</p>
</div>
<div class="section" id="phi-convict-threshold">
<h2><code class="docutils literal notranslate"><span class="pre">phi_convict_threshold</span></code><a class="headerlink" href="#phi-convict-threshold" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>phi value that must be reached for a host to be marked down.
most users should never need to adjust this.</p>
<p><em>Default Value:</em> 8</p>
</div>
<div class="section" id="endpoint-snitch">
<h2><code class="docutils literal notranslate"><span class="pre">endpoint_snitch</span></code><a class="headerlink" href="#endpoint-snitch" title="Permalink to this headline">¶</a></h2>
<p>endpoint_snitch – Set this to a class that implements
IEndpointSnitch.  The snitch has two functions:</p>
<ul class="simple">
<li>it teaches Cassandra enough about your network topology to route
requests efficiently</li>
<li>it allows Cassandra to spread replicas around your cluster to avoid
correlated failures. It does this by grouping machines into
“datacenters” and “racks.”  Cassandra will do its best not to have
more than one replica on the same “rack” (which may not actually
be a physical location)</li>
</ul>
<p>CASSANDRA WILL NOT ALLOW YOU TO SWITCH TO AN INCOMPATIBLE SNITCH
ONCE DATA IS INSERTED INTO THE CLUSTER.  This would cause data loss.
This means that if you start with the default SimpleSnitch, which
locates every node on “rack1” in “datacenter1”, your only options
if you need to add another datacenter are GossipingPropertyFileSnitch
(and the older PFS).  From there, if you want to migrate to an
incompatible snitch like Ec2Snitch you can do it by adding new nodes
under Ec2Snitch (which will locate them in a new “datacenter”) and
decommissioning the old ones.</p>
<p>Out of the box, Cassandra provides:</p>
<dl class="docutils">
<dt>SimpleSnitch:</dt>
<dd>Treats Strategy order as proximity. This can improve cache
locality when disabling read repair.  Only appropriate for
single-datacenter deployments.</dd>
<dt>GossipingPropertyFileSnitch</dt>
<dd>This should be your go-to snitch for production use.  The rack
and datacenter for the local node are defined in
cassandra-rackdc.properties and propagated to other nodes via
gossip.  If cassandra-topology.properties exists, it is used as a
fallback, allowing migration from the PropertyFileSnitch.</dd>
<dt>PropertyFileSnitch:</dt>
<dd>Proximity is determined by rack and data center, which are
explicitly configured in cassandra-topology.properties.</dd>
<dt>Ec2Snitch:</dt>
<dd>Appropriate for EC2 deployments in a single Region. Loads Region
and Availability Zone information from the EC2 API. The Region is
treated as the datacenter, and the Availability Zone as the rack.
Only private IPs are used, so this will not work across multiple
Regions.</dd>
<dt>Ec2MultiRegionSnitch:</dt>
<dd>Uses public IPs as broadcast_address to allow cross-region
connectivity.  (Thus, you should set seed addresses to the public
IP as well.) You will need to open the storage_port or
ssl_storage_port on the public IP firewall.  (For intra-Region
traffic, Cassandra will switch to the private IP after
establishing a connection.)</dd>
<dt>RackInferringSnitch:</dt>
<dd>Proximity is determined by rack and data center, which are
assumed to correspond to the 3rd and 2nd octet of each node’s IP
address, respectively.  Unless this happens to match your
deployment conventions, this is best used as an example of
writing a custom Snitch class and is provided in that spirit.</dd>
</dl>
<p>You can use a custom Snitch by setting this to the full class name
of the snitch, which will be assumed to be on your classpath.</p>
<p><em>Default Value:</em> SimpleSnitch</p>
</div>
<div class="section" id="dynamic-snitch-update-interval-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_update_interval_in_ms</span></code><a class="headerlink" href="#dynamic-snitch-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
<p>controls how often to perform the more expensive part of host score
calculation</p>
<p><em>Default Value:</em> 100</p>
</div>
<div class="section" id="dynamic-snitch-reset-interval-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_reset_interval_in_ms</span></code><a class="headerlink" href="#dynamic-snitch-reset-interval-in-ms" title="Permalink to this headline">¶</a></h2>
<p>controls how often to reset all host scores, allowing a bad host to
possibly recover</p>
<p><em>Default Value:</em> 600000</p>
</div>
<div class="section" id="dynamic-snitch-badness-threshold">
<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_badness_threshold</span></code><a class="headerlink" href="#dynamic-snitch-badness-threshold" title="Permalink to this headline">¶</a></h2>
<p>if set greater than zero, this will allow
‘pinning’ of replicas to hosts in order to increase cache capacity.
The badness threshold will control how much worse the pinned host has to be
before the dynamic snitch will prefer other replicas over it.  This is
expressed as a double which represents a percentage.  Thus, a value of
0.2 means Cassandra would continue to prefer the static snitch values
until the pinned host was 20% worse than the fastest.</p>
<p><em>Default Value:</em> 0.1</p>
</div>
<div class="section" id="server-encryption-options">
<h2><code class="docutils literal notranslate"><span class="pre">server_encryption_options</span></code><a class="headerlink" href="#server-encryption-options" title="Permalink to this headline">¶</a></h2>
<p>Configure server-to-server internode encryption</p>
<p>JVM and netty defaults for supported SSL socket protocols and cipher suites can
be replaced using custom encryption options. This is not recommended
unless you have policies in place that dictate certain settings, or
need to disable vulnerable ciphers or protocols in case the JVM cannot
be updated.</p>
<p>FIPS compliant settings can be configured at JVM level and should not
involve changing encryption settings here:
<a class="reference external" href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/FIPS.html">https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/FIPS.html</a></p>
<p><strong>NOTE</strong> this default configuration is an insecure configuration. If you need to
enable server-to-server encryption generate server keystores (and truststores for mutual
authentication) per:
<a class="reference external" href="http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore">http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore</a>
Then perform the following configuration changes:</p>
<p>Step 1: Set internode_encryption=&lt;dc|rack|all&gt; and explicitly set optional=true. Restart all nodes</p>
<p>Step 2: Set optional=false (or remove it) and if you generated truststores and want to use mutual
auth set require_client_auth=true. Restart all nodes</p>
<p><em>Default Value (complex option)</em>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># On outbound connections, determine which type of peers to securely connect to.</span>
<span class="c1">#   The available options are :</span>
<span class="c1">#     none : Do not encrypt outgoing connections</span>
<span class="c1">#     dc   : Encrypt connections to peers in other datacenters but not within datacenters</span>
<span class="c1">#     rack : Encrypt connections to peers in other racks but not within racks</span>
<span class="c1">#     all  : Always use encrypted connections</span>
<span class="n">internode_encryption</span><span class="p">:</span> <span class="n">none</span>
<span class="c1"># When set to true, encrypted and unencrypted connections are allowed on the storage_port</span>
<span class="c1"># This should _only be true_ while in unencrypted or transitional operation</span>
<span class="c1"># optional defaults to true if internode_encryption is none</span>
<span class="c1"># optional: true</span>
<span class="c1"># If enabled, will open up an encrypted listening socket on ssl_storage_port. Should only be used</span>
<span class="c1"># during upgrade to 4.0; otherwise, set to false.</span>
<span class="n">enable_legacy_ssl_storage_port</span><span class="p">:</span> <span class="n">false</span>
<span class="c1"># Set to a valid keystore if internode_encryption is dc, rack or all</span>
<span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
<span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
<span class="c1"># Verify peer server certificates</span>
<span class="n">require_client_auth</span><span class="p">:</span> <span class="n">false</span>
<span class="c1"># Set to a valid trustore if require_client_auth is true</span>
<span class="n">truststore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">truststore</span>
<span class="n">truststore_password</span><span class="p">:</span> <span class="n">cassandra</span>
<span class="c1"># Verify that the host name in the certificate matches the connected host</span>
<span class="n">require_endpoint_verification</span><span class="p">:</span> <span class="n">false</span>
<span class="c1"># More advanced defaults:</span>
<span class="c1"># protocol: TLS</span>
<span class="c1"># store_type: JKS</span>
<span class="c1"># cipher_suites: [</span>
<span class="c1">#   TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,</span>
<span class="c1">#   TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,</span>
<span class="c1">#   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA,</span>
<span class="c1">#   TLS_RSA_WITH_AES_256_CBC_SHA</span>
<span class="c1"># ]</span>
</pre></div>
</div>
</div>
<div class="section" id="client-encryption-options">
<h2><code class="docutils literal notranslate"><span class="pre">client_encryption_options</span></code><a class="headerlink" href="#client-encryption-options" title="Permalink to this headline">¶</a></h2>
<p>Configure client-to-server encryption.</p>
<p><strong>NOTE</strong> this default configuration is an insecure configuration. If you need to
enable client-to-server encryption generate server keystores (and truststores for mutual
authentication) per:
<a class="reference external" href="http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore">http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore</a>
Then perform the following configuration changes:</p>
<p>Step 1: Set enabled=true and explicitly set optional=true. Restart all nodes</p>
<p>Step 2: Set optional=false (or remove it) and if you generated truststores and want to use mutual
auth set require_client_auth=true. Restart all nodes</p>
<p><em>Default Value (complex option)</em>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Enable client-to-server encryption</span>
<span class="n">enabled</span><span class="p">:</span> <span class="n">false</span>
<span class="c1"># When set to true, encrypted and unencrypted connections are allowed on the native_transport_port</span>
<span class="c1"># This should _only be true_ while in unencrypted or transitional operation</span>
<span class="c1"># optional defaults to true when enabled is false, and false when enabled is true.</span>
<span class="c1"># optional: true</span>
<span class="c1"># Set keystore and keystore_password to valid keystores if enabled is true</span>
<span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
<span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
<span class="c1"># Verify client certificates</span>
<span class="n">require_client_auth</span><span class="p">:</span> <span class="n">false</span>
<span class="c1"># Set trustore and truststore_password if require_client_auth is true</span>
<span class="c1"># truststore: conf/.truststore</span>
<span class="c1"># truststore_password: cassandra</span>
<span class="c1"># More advanced defaults:</span>
<span class="c1"># protocol: TLS</span>
<span class="c1"># store_type: JKS</span>
<span class="c1"># cipher_suites: [</span>
<span class="c1">#   TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,</span>
<span class="c1">#   TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,</span>
<span class="c1">#   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA,</span>
<span class="c1">#   TLS_RSA_WITH_AES_256_CBC_SHA</span>
<span class="c1"># ]</span>
</pre></div>
</div>
</div>
<div class="section" id="internode-compression">
<h2><code class="docutils literal notranslate"><span class="pre">internode_compression</span></code><a class="headerlink" href="#internode-compression" title="Permalink to this headline">¶</a></h2>
<p>internode_compression controls whether traffic between nodes is
compressed.
Can be:</p>
<dl class="docutils">
<dt>all</dt>
<dd>all traffic is compressed</dd>
<dt>dc</dt>
<dd>traffic between different datacenters is compressed</dd>
<dt>none</dt>
<dd>nothing is compressed.</dd>
</dl>
<p><em>Default Value:</em> dc</p>
</div>
<div class="section" id="inter-dc-tcp-nodelay">
<h2><code class="docutils literal notranslate"><span class="pre">inter_dc_tcp_nodelay</span></code><a class="headerlink" href="#inter-dc-tcp-nodelay" title="Permalink to this headline">¶</a></h2>
<p>Enable or disable tcp_nodelay for inter-dc communication.
Disabling it will result in larger (but fewer) network packets being sent,
reducing overhead from the TCP protocol itself, at the cost of increasing
latency if you block for cross-datacenter responses.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="tracetype-query-ttl">
<h2><code class="docutils literal notranslate"><span class="pre">tracetype_query_ttl</span></code><a class="headerlink" href="#tracetype-query-ttl" title="Permalink to this headline">¶</a></h2>
<p>TTL for different trace types used during logging of the repair process.</p>
<p><em>Default Value:</em> 86400</p>
</div>
<div class="section" id="tracetype-repair-ttl">
<h2><code class="docutils literal notranslate"><span class="pre">tracetype_repair_ttl</span></code><a class="headerlink" href="#tracetype-repair-ttl" title="Permalink to this headline">¶</a></h2>
<p><em>Default Value:</em> 604800</p>
</div>
<div class="section" id="enable-user-defined-functions">
<h2><code class="docutils literal notranslate"><span class="pre">enable_user_defined_functions</span></code><a class="headerlink" href="#enable-user-defined-functions" title="Permalink to this headline">¶</a></h2>
<p>If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
INFO level
UDFs (user defined functions) are disabled by default.
As of Cassandra 3.0 there is a sandbox in place that should prevent execution of evil code.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="enable-scripted-user-defined-functions">
<h2><code class="docutils literal notranslate"><span class="pre">enable_scripted_user_defined_functions</span></code><a class="headerlink" href="#enable-scripted-user-defined-functions" title="Permalink to this headline">¶</a></h2>
<p>Enables scripted UDFs (JavaScript UDFs).
Java UDFs are always enabled, if enable_user_defined_functions is true.
Enable this option to be able to use UDFs with “language javascript” or any custom JSR-223 provider.
This option has no effect, if enable_user_defined_functions is false.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="windows-timer-interval">
<h2><code class="docutils literal notranslate"><span class="pre">windows_timer_interval</span></code><a class="headerlink" href="#windows-timer-interval" title="Permalink to this headline">¶</a></h2>
<p>The default Windows kernel timer and scheduling resolution is 15.6ms for power conservation.
Lowering this value on Windows can provide much tighter latency and better throughput, however
some virtualized environments may see a negative performance impact from changing this setting
below their system default. The sysinternals ‘clockres’ tool can confirm your system’s default
setting.</p>
<p><em>Default Value:</em> 1</p>
</div>
<div class="section" id="transparent-data-encryption-options">
<h2><code class="docutils literal notranslate"><span class="pre">transparent_data_encryption_options</span></code><a class="headerlink" href="#transparent-data-encryption-options" title="Permalink to this headline">¶</a></h2>
<p>Enables encrypting data at-rest (on disk). Different key providers can be plugged in, but the default reads from
a JCE-style keystore. A single keystore can hold multiple keys, but the one referenced by
the “key_alias” is the only key that will be used for encrypt opertaions; previously used keys
can still (and should!) be in the keystore and will be used on decrypt operations
(to handle the case of key rotation).</p>
<p>It is strongly recommended to download and install Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files for your version of the JDK.
(current link: <a class="reference external" href="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html">http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html</a>)</p>
<p>Currently, only the following file types are supported for transparent data encryption, although
more are coming in future cassandra releases: commitlog, hints</p>
<p><em>Default Value (complex option)</em>:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">enabled</span><span class="p">:</span> <span class="n">false</span>
<span class="n">chunk_length_kb</span><span class="p">:</span> <span class="mi">64</span>
<span class="n">cipher</span><span class="p">:</span> <span class="n">AES</span><span class="o">/</span><span class="n">CBC</span><span class="o">/</span><span class="n">PKCS5Padding</span>
<span class="n">key_alias</span><span class="p">:</span> <span class="n">testing</span><span class="p">:</span><span class="mi">1</span>
<span class="c1"># CBC IV length for AES needs to be 16 bytes (which is also the default size)</span>
<span class="c1"># iv_length: 16</span>
<span class="n">key_provider</span><span class="p">:</span>
  <span class="o">-</span> <span class="n">class_name</span><span class="p">:</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">cassandra</span><span class="o">.</span><span class="n">security</span><span class="o">.</span><span class="n">JKSKeyProvider</span>
    <span class="n">parameters</span><span class="p">:</span>
      <span class="o">-</span> <span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
        <span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
        <span class="n">store_type</span><span class="p">:</span> <span class="n">JCEKS</span>
        <span class="n">key_password</span><span class="p">:</span> <span class="n">cassandra</span>
</pre></div>
</div>
</div>
<div class="section" id="tombstone-warn-threshold">
<h2><code class="docutils literal notranslate"><span class="pre">tombstone_warn_threshold</span></code><a class="headerlink" href="#tombstone-warn-threshold" title="Permalink to this headline">¶</a></h2>
<div class="section" id="safety-thresholds">
<h3>SAFETY THRESHOLDS #<a class="headerlink" href="#safety-thresholds" title="Permalink to this headline">¶</a></h3>
<p>When executing a scan, within or across a partition, we need to keep the
tombstones seen in memory so we can return them to the coordinator, which
will use them to make sure other replicas also know about the deleted rows.
With workloads that generate a lot of tombstones, this can cause performance
problems and even exaust the server heap.
(<a class="reference external" href="http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets">http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets</a>)
Adjust the thresholds here if you understand the dangers and want to
scan more tombstones anyway.  These thresholds may also be adjusted at runtime
using the StorageService mbean.</p>
<p><em>Default Value:</em> 1000</p>
</div>
</div>
<div class="section" id="tombstone-failure-threshold">
<h2><code class="docutils literal notranslate"><span class="pre">tombstone_failure_threshold</span></code><a class="headerlink" href="#tombstone-failure-threshold" title="Permalink to this headline">¶</a></h2>
<p><em>Default Value:</em> 100000</p>
</div>
<div class="section" id="replica-filtering-protection">
<h2><code class="docutils literal notranslate"><span class="pre">replica_filtering_protection</span></code><a class="headerlink" href="#replica-filtering-protection" title="Permalink to this headline">¶</a></h2>
<p>Filtering and secondary index queries at read consistency levels above ONE/LOCAL_ONE use a
mechanism called replica filtering protection to ensure that results from stale replicas do
not violate consistency. (See CASSANDRA-8272 and CASSANDRA-15907 for more details.) This
mechanism materializes replica results by partition on-heap at the coordinator. The more possibly
stale results returned by the replicas, the more rows materialized during the query.</p>
</div>
<div class="section" id="batch-size-warn-threshold-in-kb">
<h2><code class="docutils literal notranslate"><span class="pre">batch_size_warn_threshold_in_kb</span></code><a class="headerlink" href="#batch-size-warn-threshold-in-kb" title="Permalink to this headline">¶</a></h2>
<p>Log WARN on any multiple-partition batch size exceeding this value. 5kb per batch by default.
Caution should be taken on increasing the size of this threshold as it can lead to node instability.</p>
<p><em>Default Value:</em> 5</p>
</div>
<div class="section" id="batch-size-fail-threshold-in-kb">
<h2><code class="docutils literal notranslate"><span class="pre">batch_size_fail_threshold_in_kb</span></code><a class="headerlink" href="#batch-size-fail-threshold-in-kb" title="Permalink to this headline">¶</a></h2>
<p>Fail any multiple-partition batch exceeding this value. 50kb (10x warn threshold) by default.</p>
<p><em>Default Value:</em> 50</p>
</div>
<div class="section" id="unlogged-batch-across-partitions-warn-threshold">
<h2><code class="docutils literal notranslate"><span class="pre">unlogged_batch_across_partitions_warn_threshold</span></code><a class="headerlink" href="#unlogged-batch-across-partitions-warn-threshold" title="Permalink to this headline">¶</a></h2>
<p>Log WARN on any batches not of type LOGGED than span across more partitions than this limit</p>
<p><em>Default Value:</em> 10</p>
</div>
<div class="section" id="compaction-large-partition-warning-threshold-mb">
<h2><code class="docutils literal notranslate"><span class="pre">compaction_large_partition_warning_threshold_mb</span></code><a class="headerlink" href="#compaction-large-partition-warning-threshold-mb" title="Permalink to this headline">¶</a></h2>
<p>Log a warning when compacting partitions larger than this value</p>
<p><em>Default Value:</em> 100</p>
</div>
<div class="section" id="gc-log-threshold-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">gc_log_threshold_in_ms</span></code><a class="headerlink" href="#gc-log-threshold-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>GC Pauses greater than 200 ms will be logged at INFO level
This threshold can be adjusted to minimize logging if necessary</p>
<p><em>Default Value:</em> 200</p>
</div>
<div class="section" id="gc-warn-threshold-in-ms">
<h2><code class="docutils literal notranslate"><span class="pre">gc_warn_threshold_in_ms</span></code><a class="headerlink" href="#gc-warn-threshold-in-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
Adjust the threshold based on your application throughput requirement. Setting to 0
will deactivate the feature.</p>
<p><em>Default Value:</em> 1000</p>
</div>
<div class="section" id="max-value-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">max_value_size_in_mb</span></code><a class="headerlink" href="#max-value-size-in-mb" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Maximum size of any value in SSTables. Safety measure to detect SSTable corruption
early. Any value size larger than this threshold will result into marking an SSTable
as corrupted. This should be positive and less than 2048.</p>
<p><em>Default Value:</em> 256</p>
</div>
<div class="section" id="otc-coalescing-strategy">
<h2><code class="docutils literal notranslate"><span class="pre">otc_coalescing_strategy</span></code><a class="headerlink" href="#otc-coalescing-strategy" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Coalescing Strategies #
Coalescing multiples messages turns out to significantly boost message processing throughput (think doubling or more).
On bare metal, the floor for packet processing throughput is high enough that many applications won’t notice, but in
virtualized environments, the point at which an application can be bound by network packet processing can be
surprisingly low compared to the throughput of task processing that is possible inside a VM. It’s not that bare metal
doesn’t benefit from coalescing messages, it’s that the number of packets a bare metal network interface can process
is sufficient for many applications such that no load starvation is experienced even without coalescing.
There are other benefits to coalescing network messages that are harder to isolate with a simple metric like messages
per second. By coalescing multiple tasks together, a network thread can process multiple messages for the cost of one
trip to read from a socket, and all the task submission work can be done at the same time reducing context switching
and increasing cache friendliness of network message processing.
See CASSANDRA-8692 for details.</p>
<p>Strategy to use for coalescing messages in OutboundTcpConnection.
Can be fixed, movingaverage, timehorizon, disabled (default).
You can also specify a subclass of CoalescingStrategies.CoalescingStrategy by name.</p>
<p><em>Default Value:</em> DISABLED</p>
</div>
<div class="section" id="otc-coalescing-window-us">
<h2><code class="docutils literal notranslate"><span class="pre">otc_coalescing_window_us</span></code><a class="headerlink" href="#otc-coalescing-window-us" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>How many microseconds to wait for coalescing. For fixed strategy this is the amount of time after the first
message is received before it will be sent with any accompanying messages. For moving average this is the
maximum amount of time that will be waited as well as the interval at which messages must arrive on average
for coalescing to be enabled.</p>
<p><em>Default Value:</em> 200</p>
</div>
<div class="section" id="otc-coalescing-enough-coalesced-messages">
<h2><code class="docutils literal notranslate"><span class="pre">otc_coalescing_enough_coalesced_messages</span></code><a class="headerlink" href="#otc-coalescing-enough-coalesced-messages" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Do not try to coalesce messages if we already got that many messages. This should be more than 2 and less than 128.</p>
<p><em>Default Value:</em> 8</p>
</div>
<div class="section" id="otc-backlog-expiration-interval-ms">
<h2><code class="docutils literal notranslate"><span class="pre">otc_backlog_expiration_interval_ms</span></code><a class="headerlink" href="#otc-backlog-expiration-interval-ms" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>How many milliseconds to wait between two expiration runs on the backlog (queue) of the OutboundTcpConnection.
Expiration is done if messages are piling up in the backlog. Droppable messages are expired to free the memory
taken by expired messages. The interval should be between 0 and 1000, and in most installations the default value
will be appropriate. A smaller value could potentially expire messages slightly sooner at the expense of more CPU
time and queue contention while iterating the backlog of messages.
An interval of 0 disables any wait time, which is the behavior of former Cassandra versions.</p>
<p><em>Default Value:</em> 200</p>
</div>
<div class="section" id="ideal-consistency-level">
<h2><code class="docutils literal notranslate"><span class="pre">ideal_consistency_level</span></code><a class="headerlink" href="#ideal-consistency-level" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Track a metric per keyspace indicating whether replication achieved the ideal consistency
level for writes without timing out. This is different from the consistency level requested by
each write which may be lower in order to facilitate availability.</p>
<p><em>Default Value:</em> EACH_QUORUM</p>
</div>
<div class="section" id="automatic-sstable-upgrade">
<h2><code class="docutils literal notranslate"><span class="pre">automatic_sstable_upgrade</span></code><a class="headerlink" href="#automatic-sstable-upgrade" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Automatically upgrade sstables after upgrade - if there is no ordinary compaction to do, the
oldest non-upgraded sstable will get upgraded to the latest version</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="max-concurrent-automatic-sstable-upgrades">
<h2><code class="docutils literal notranslate"><span class="pre">max_concurrent_automatic_sstable_upgrades</span></code><a class="headerlink" href="#max-concurrent-automatic-sstable-upgrades" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em>
Limit the number of concurrent sstable upgrades</p>
<p><em>Default Value:</em> 1</p>
</div>
<div class="section" id="audit-logging-options">
<h2><code class="docutils literal notranslate"><span class="pre">audit_logging_options</span></code><a class="headerlink" href="#audit-logging-options" title="Permalink to this headline">¶</a></h2>
<p>Audit logging - Logs every incoming CQL command request, authentication to a node. See the docs
on audit_logging for full details about the various configuration options.</p>
</div>
<div class="section" id="full-query-logging-options">
<h2><code class="docutils literal notranslate"><span class="pre">full_query_logging_options</span></code><a class="headerlink" href="#full-query-logging-options" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>default options for full query logging - these can be overridden from command line when executing
nodetool enablefullquerylog</p>
</div>
<div class="section" id="corrupted-tombstone-strategy">
<h2><code class="docutils literal notranslate"><span class="pre">corrupted_tombstone_strategy</span></code><a class="headerlink" href="#corrupted-tombstone-strategy" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>validate tombstones on reads and compaction
can be either “disabled”, “warn” or “exception”</p>
<p><em>Default Value:</em> disabled</p>
</div>
<div class="section" id="diagnostic-events-enabled">
<h2><code class="docutils literal notranslate"><span class="pre">diagnostic_events_enabled</span></code><a class="headerlink" href="#diagnostic-events-enabled" title="Permalink to this headline">¶</a></h2>
<p>Diagnostic Events #
If enabled, diagnostic events can be helpful for troubleshooting operational issues. Emitted events contain details
on internal state and temporal relationships across events, accessible by clients via JMX.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="native-transport-flush-in-batches-legacy">
<h2><code class="docutils literal notranslate"><span class="pre">native_transport_flush_in_batches_legacy</span></code><a class="headerlink" href="#native-transport-flush-in-batches-legacy" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Use native transport TCP message coalescing. If on upgrade to 4.0 you found your throughput decreasing, and in
particular you run an old kernel or have very fewer client connections, this option might be worth evaluating.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="repaired-data-tracking-for-range-reads-enabled">
<h2><code class="docutils literal notranslate"><span class="pre">repaired_data_tracking_for_range_reads_enabled</span></code><a class="headerlink" href="#repaired-data-tracking-for-range-reads-enabled" title="Permalink to this headline">¶</a></h2>
<p>Enable tracking of repaired state of data during reads and comparison between replicas
Mismatches between the repaired sets of replicas can be characterized as either confirmed
or unconfirmed. In this context, unconfirmed indicates that the presence of pending repair
sessions, unrepaired partition tombstones, or some other condition means that the disparity
cannot be considered conclusive. Confirmed mismatches should be a trigger for investigation
as they may be indicative of corruption or data loss.
There are separate flags for range vs partition reads as single partition reads are only tracked
when CL &gt; 1 and a digest mismatch occurs. Currently, range queries don’t use digests so if
enabled for range reads, all range reads will include repaired data tracking. As this adds
some overhead, operators may wish to disable it whilst still enabling it for partition reads</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="repaired-data-tracking-for-partition-reads-enabled">
<h2><code class="docutils literal notranslate"><span class="pre">repaired_data_tracking_for_partition_reads_enabled</span></code><a class="headerlink" href="#repaired-data-tracking-for-partition-reads-enabled" title="Permalink to this headline">¶</a></h2>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="report-unconfirmed-repaired-data-mismatches">
<h2><code class="docutils literal notranslate"><span class="pre">report_unconfirmed_repaired_data_mismatches</span></code><a class="headerlink" href="#report-unconfirmed-repaired-data-mismatches" title="Permalink to this headline">¶</a></h2>
<p>If false, only confirmed mismatches will be reported. If true, a separate metric for unconfirmed
mismatches will also be recorded. This is to avoid potential signal:noise issues are unconfirmed
mismatches are less actionable than confirmed ones.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="enable-materialized-views">
<h2><code class="docutils literal notranslate"><span class="pre">enable_materialized_views</span></code><a class="headerlink" href="#enable-materialized-views" title="Permalink to this headline">¶</a></h2>
<div class="section" id="experimental-features">
<h3>EXPERIMENTAL FEATURES #<a class="headerlink" href="#experimental-features" title="Permalink to this headline">¶</a></h3>
<p>Enables materialized view creation on this node.
Materialized views are considered experimental and are not recommended for production use.</p>
<p><em>Default Value:</em> false</p>
</div>
</div>
<div class="section" id="enable-sasi-indexes">
<h2><code class="docutils literal notranslate"><span class="pre">enable_sasi_indexes</span></code><a class="headerlink" href="#enable-sasi-indexes" title="Permalink to this headline">¶</a></h2>
<p>Enables SASI index creation on this node.
SASI indexes are considered experimental and are not recommended for production use.</p>
<p><em>Default Value:</em> false</p>
</div>
<div class="section" id="enable-transient-replication">
<h2><code class="docutils literal notranslate"><span class="pre">enable_transient_replication</span></code><a class="headerlink" href="#enable-transient-replication" title="Permalink to this headline">¶</a></h2>
<p>Enables creation of transiently replicated keyspaces on this node.
Transient replication is experimental and is not recommended for production use.</p>
<p><em>Default Value:</em> false</p>
</div>
</div>



          
        </div>
      </div>
    </div>
  </div>
</div>