

<!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>sstableexpiredblockers &mdash; Apache Cassandra Documentation v4.0-rc2</title>
  

  
  
  
  

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

    

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

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

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

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

          
          </a>

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

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

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<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="../../configuration/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 current"><a class="reference internal" href="../index.html">Cassandra Tools</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../cqlsh.html">cqlsh: the CQL shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="../generatetokens.html">generatetokens</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nodetool/nodetool.html">Nodetool</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nodetool/nodetool.html#usage">Usage</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">SSTable Tools</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="sstabledump.html">sstabledump</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">sstableexpiredblockers</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="#output-blocked-sstables">Output blocked sstables</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="sstablelevelreset.html">sstablelevelreset</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableloader.html">sstableloader</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstablemetadata.html">sstablemetadata</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableofflinerelevel.html">sstableofflinerelevel</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstablerepairedset.html">sstablerepairedset</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstablescrub.html">sstablescrub</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstablesplit.html">sstablesplit</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableupgrade.html">sstableupgrade</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableutil.html">sstableutil</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableverify.html">sstableverify</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../cassandra_stress.html">Cassandra Stress</a></li>
</ul>
</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><a href="../index.html">Cassandra Tools</a> &raquo;</li>
        
          <li><a href="index.html">SSTable Tools</a> &raquo;</li>
        
      <li>sstableexpiredblockers</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="../../_sources/tools/sstable/sstableexpiredblockers.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="sstableexpiredblockers">
<h1>sstableexpiredblockers<a class="headerlink" href="#sstableexpiredblockers" title="Permalink to this headline">¶</a></h1>
<p>During compaction, entire sstables can be dropped if they contain only expired tombstones, and if it is guaranteed that the data is not newer than the data in other sstables. An expired sstable can be blocked from getting dropped if its newest timestamp is newer than the oldest data in another sstable.</p>
<p>This tool is used to list all sstables that are blocking other sstables from getting dropped (by having older data than the newest tombstone in an expired sstable) so a user can figure out why certain sstables are still on disk.</p>
<p>ref: <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-10015">https://issues.apache.org/jira/browse/CASSANDRA-10015</a></p>
<p>Cassandra must be stopped before this tool is executed, or unexpected results will occur. Note: the script does not verify that Cassandra is stopped.</p>
<div class="section" id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
<p>sstableexpiredblockers &lt;keyspace&gt; &lt;table&gt;</p>
</div>
<div class="section" id="output-blocked-sstables">
<h2>Output blocked sstables<a class="headerlink" href="#output-blocked-sstables" title="Permalink to this headline">¶</a></h2>
<p>If the sstables exist for the table, but no tables have older data than the newest tombstone in an expired sstable, the script will return nothing.</p>
<p>Otherwise, the script will return <cite>&lt;sstable&gt; blocks &lt;#&gt; expired sstables from getting dropped</cite> followed by a list of the blocked sstables.</p>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sstableexpiredblockers</span> <span class="n">keyspace1</span> <span class="n">standard1</span>

<span class="p">[</span><span class="n">BigTableReader</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="s1">&#39;/var/lib/cassandra/data/keyspace1/standard1-0665ae80b2d711e886c66d2c86545d91/mc-2-big-Data.db&#39;</span><span class="p">)</span> <span class="p">(</span><span class="n">minTS</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span> <span class="n">maxTS</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span> <span class="n">maxLDT</span> <span class="o">=</span> <span class="mi">2147483647</span><span class="p">)],</span>  <span class="n">blocks</span> <span class="mi">1</span> <span class="n">expired</span> <span class="n">sstables</span> <span class="kn">from</span> <span class="nn">getting</span> <span class="n">dropped</span><span class="p">:</span> <span class="p">[</span><span class="n">BigTableReader</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="s1">&#39;/var/lib/cassandra/data/keyspace1/standard1-0665ae80b2d711e886c66d2c86545d91/mc-3-big-Data.db&#39;</span><span class="p">)</span> <span class="p">(</span><span class="n">minTS</span> <span class="o">=</span> <span class="mi">1536349775157606</span><span class="p">,</span> <span class="n">maxTS</span> <span class="o">=</span> <span class="mi">1536349780311159</span><span class="p">,</span> <span class="n">maxLDT</span> <span class="o">=</span> <span class="mi">1536349780</span><span class="p">)],</span>

<span class="p">[</span><span class="n">BigTableReader</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="s1">&#39;/var/lib/cassandra/data/keyspace1/standard1-0665ae80b2d711e886c66d2c86545d91/mc-1-big-Data.db&#39;</span><span class="p">)</span> <span class="p">(</span><span class="n">minTS</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">maxTS</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> <span class="n">maxLDT</span> <span class="o">=</span> <span class="mi">2147483647</span><span class="p">)],</span>  <span class="n">blocks</span> <span class="mi">1</span> <span class="n">expired</span> <span class="n">sstables</span> <span class="kn">from</span> <span class="nn">getting</span> <span class="n">dropped</span><span class="p">:</span> <span class="p">[</span><span class="n">BigTableReader</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="s1">&#39;/var/lib/cassandra/data/keyspace1/standard1-0665ae80b2d711e886c66d2c86545d91/mc-3-big-Data.db&#39;</span><span class="p">)</span> <span class="p">(</span><span class="n">minTS</span> <span class="o">=</span> <span class="mi">1536349775157606</span><span class="p">,</span> <span class="n">maxTS</span> <span class="o">=</span> <span class="mi">1536349780311159</span><span class="p">,</span> <span class="n">maxLDT</span> <span class="o">=</span> <span class="mi">1536349780</span><span class="p">)],</span>
</pre></div>
</div>
</div>
</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="sstablelevelreset.html" class="btn btn-neutral float-right" title="sstablelevelreset" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="sstabledump.html" class="btn btn-neutral float-left" title="sstabledump" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <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>