

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>Cassandra Configuration File &mdash; Apache Cassandra Documentation v4.0-rc2</title>
  

  
  
  
  

  
  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
        <script type="text/javascript" src="../_static/jquery.js"></script>
        <script type="text/javascript" src="../_static/underscore.js"></script>
        <script type="text/javascript" src="../_static/doctools.js"></script>
        <script type="text/javascript" src="../_static/language_data.js"></script>
        <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    <script type="text/javascript" src="../_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" /> 
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../index.html" class="icon icon-home"> Apache Cassandra
          

          
          </a>

          
            
            
              <div class="version">
                4.0-rc2
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <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>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">Apache Cassandra</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html">Docs</a> &raquo;</li>
        
      <li>Cassandra Configuration File</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="../_sources/configuration/cassandra_config_file.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <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>See <a class="reference external" href="https://cassandra.apache.org/doc/latest/getting_started/production.html#tokens">https://cassandra.apache.org/doc/latest/getting_started/production.html#tokens</a> for
best practice information about num_tokens.</p>
<p><em>Default Value:</em> 16</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>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><p>AllowAllAuthenticator performs no checks - set it to disable authentication.</p></li>
<li><p>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)</p></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><p>AllowAllAuthorizer allows any action to any user - set it to disable authorization.</p></li>
<li><p>CassandraAuthorizer stores permissions in system_auth.role_permissions table. Please
increase system_auth keyspace replication factor if you use this authorizer.</p></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><p>CassandraRoleManager stores role data in the system_auth keyspace. Please
increase system_auth keyspace replication factor if you use this role manager.</p></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><p>AllowAllNetworkAuthorizer allows access to any DC to any user - set it to disable authorization.</p></li>
<li><p>CassandraNetworkAuthorizer stores permissions in system_auth.network_permissions table. Please
increase system_auth keyspace replication factor if you use this authorizer.</p></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="local-system-data-file-directory">
<h2><code class="docutils literal notranslate"><span class="pre">local_system_data_file_directory</span></code><a class="headerlink" href="#local-system-data-file-directory" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em>
Directory were Cassandra should store the data of the local system keyspaces.
By default Cassandra will store the data of the local system keyspaces in the first of the data directories specified
by data_file_directories.
This approach ensures that if one of the other disks is lost Cassandra can continue to operate. For extra security
this setting allows to store those data on a different directory that provides redundancy.</p>
</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></p>
<p>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="simple">
<dt>die</dt><dd><p>shut down gossip and client transports and kill the JVM for any fs errors or
single-sstable errors, so the node can be replaced.</p>
</dd>
<dt>stop_paranoid</dt><dd><p>shut down gossip and client transports even for single-sstable errors,
kill the JVM for errors during startup.</p>
</dd>
<dt>stop</dt><dd><p>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.</p>
</dd>
<dt>best_effort</dt><dd><p>stop using the failed disk and respond to requests based on
remaining available sstables.  This means you WILL see obsolete
data at CL.ONE!</p>
</dd>
<dt>ignore</dt><dd><p>ignore fatal errors and let requests fail, as in pre-1.2 Cassandra</p>
</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="simple">
<dt>die</dt><dd><p>shut down the node and kill the JVM, so the node can be replaced.</p>
</dd>
<dt>stop</dt><dd><p>shut down the node, leaving the node effectively dead, but
can still be inspected via JMX.</p>
</dd>
<dt>stop_commit</dt><dd><p>shutdown the commit log, letting writes collect but
continuing to service reads, as in pre-2.0.5 Cassandra</p>
</dd>
<dt>ignore</dt><dd><p>ignore fatal errors and let the batches fail</p>
</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="simple">
<dt>org.apache.cassandra.cache.OHCProvider</dt><dd><p>Fully off-heap row cache implementation (default).</p>
</dd>
<dt>org.apache.cassandra.cache.SerializingCacheProvider</dt><dd><p>This is the row cache implementation availabile
in previous releases of Cassandra.</p>
</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><p>fast compressor that compressor is used.</p>
</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="simple">
<dt><em>This option is commented out by default.</em></dt><dd><p>was the pre 4.0 behavior.</p>
</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="networking-cache-size-in-mb">
<h2><code class="docutils literal notranslate"><span class="pre">networking_cache_size_in_mb</span></code><a class="headerlink" href="#networking-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 inter-node and client-server networking buffers.</p>
<p>Defaults to the smaller of 1/16 of heap or 128MB. 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> 128</p>
</div>
<div class="section" id="file-cache-enabled">
<h2><code class="docutils literal notranslate"><span class="pre">file_cache_enabled</span></code><a class="headerlink" href="#file-cache-enabled" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Enable the sstable chunk cache.  The chunk cache will store recently accessed
sections of the sstable in-memory as uncompressed buffers.</p>
<p><em>Default Value:</em> false</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 for chunk 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="simple">
<dt>heap_buffers</dt><dd><p>on heap nio buffers</p>
</dd>
<dt>offheap_buffers</dt><dd><p>off heap (direct) nio buffers</p>
</dd>
<dt>offheap_objects</dt><dd><p>off heap objects</p>
</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-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="snapshot-links-per-second">
<h2><code class="docutils literal notranslate"><span class="pre">snapshot_links_per_second</span></code><a class="headerlink" href="#snapshot-links-per-second" title="Permalink to this headline">¶</a></h2>
<p>The act of creating or clearing a snapshot involves creating or removing
potentially tens of thousands of links, which can cause significant performance
impact, especially on consumer grade SSDs. A non-zero value here can
be used to throttle these links to avoid negative performance impact of
taking and clearing snapshots</p>
<p><em>Default Value:</em> 0</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><p>a smaller granularity means more index entries are generated
and looking up rows withing the partition by collation column
is faster</p></li>
<li><p>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</p></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.</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 amount of time unacknowledged data is allowed on a streaming connection.
The default is 5 minutes. Increase it or set it to 0 in order to increase the timeout.
internode_streaming_tcp_user_timeout_in_ms = 300000</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><p>it teaches Cassandra enough about your network topology to route
requests efficiently</p></li>
<li><p>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)</p></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="simple">
<dt>SimpleSnitch:</dt><dd><p>Treats Strategy order as proximity. This can improve cache
locality when disabling read repair.  Only appropriate for
single-datacenter deployments.</p>
</dd>
<dt>GossipingPropertyFileSnitch</dt><dd><p>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.</p>
</dd>
<dt>PropertyFileSnitch:</dt><dd><p>Proximity is determined by rack and data center, which are
explicitly configured in cassandra-topology.properties.</p>
</dd>
<dt>Ec2Snitch:</dt><dd><p>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.</p>
</dd>
<dt>Ec2MultiRegionSnitch:</dt><dd><p>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.)</p>
</dd>
<dt>RackInferringSnitch:</dt><dd><p>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.</p>
</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> 1.0</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="simple">
<dt>all</dt><dd><p>all traffic is compressed</p>
</dd>
<dt>dc</dt><dd><p>traffic between different datacenters is compressed</p>
</dd>
<dt>none</dt><dd><p>nothing is compressed.</p>
</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="table-count-warn-threshold">
<h2><code class="docutils literal notranslate"><span class="pre">table_count_warn_threshold</span></code><a class="headerlink" href="#table-count-warn-threshold" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p>Having many tables and/or keyspaces negatively affects performance of many operations in the
cluster. When the number of tables/keyspaces in the cluster exceeds the following thresholds
a client warning will be sent back to the user when creating a table or keyspace.</p>
<p><em>Default Value:</em> 150</p>
</div>
<div class="section" id="keyspace-count-warn-threshold">
<h2><code class="docutils literal notranslate"><span class="pre">keyspace_count_warn_threshold</span></code><a class="headerlink" href="#keyspace-count-warn-threshold" title="Permalink to this headline">¶</a></h2>
<p><em>This option is commented out by default.</em></p>
<p><em>Default Value:</em> 40</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 class="section" id="enable-drop-compact-storage">
<h2><code class="docutils literal notranslate"><span class="pre">enable_drop_compact_storage</span></code><a class="headerlink" href="#enable-drop-compact-storage" title="Permalink to this headline">¶</a></h2>
<p>Enables the used of ‘ALTER … DROP COMPACT STORAGE’ statements on this node.
‘ALTER … DROP COMPACT STORAGE’ is considered experimental and is not recommended for production use.</p>
<p><em>Default Value:</em> false</p>
</div>
</div>


           </div>
           
          </div>
          <footer>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 2020, The Apache Cassandra team

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>