

<!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.1</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.1
              </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>