Modified: cassandra/site/publish/doc/latest/tools/nodetool/stop.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/stop.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/stop.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/stop.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="stop"> -<h1>stop<a class="headerlink" href="#stop" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-stop"></span><h1>stop<a class="headerlink" href="#stop" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1>
Modified: cassandra/site/publish/doc/latest/tools/nodetool/stopdaemon.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/stopdaemon.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/stopdaemon.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/stopdaemon.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="stopdaemon"> -<h1>stopdaemon<a class="headerlink" href="#stopdaemon" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-stopdaemon"></span><h1>stopdaemon<a class="headerlink" href="#stopdaemon" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/tablehistograms.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/tablehistograms.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/tablehistograms.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/tablehistograms.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="tablehistograms"> -<h1>tablehistograms<a class="headerlink" href="#tablehistograms" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-tablehistograms"></span><h1>tablehistograms<a class="headerlink" href="#tablehistograms" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/tablestats.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/tablestats.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/tablestats.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/tablestats.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="tablestats"> -<h1>tablestats<a class="headerlink" href="#tablestats" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-tablestats"></span><h1>tablestats<a class="headerlink" href="#tablestats" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/toppartitions.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/toppartitions.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/toppartitions.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/toppartitions.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="toppartitions"> -<h1>toppartitions<a class="headerlink" href="#toppartitions" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-toppartitions"></span><h1>toppartitions<a class="headerlink" href="#toppartitions" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/tpstats.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/tpstats.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/tpstats.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/tpstats.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="tpstats"> -<h1>tpstats<a class="headerlink" href="#tpstats" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-tpstats"></span><h1>tpstats<a class="headerlink" href="#tpstats" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/truncatehints.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/truncatehints.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/truncatehints.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/truncatehints.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="truncatehints"> -<h1>truncatehints<a class="headerlink" href="#truncatehints" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-truncatehints"></span><h1>truncatehints<a class="headerlink" href="#truncatehints" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/upgradesstables.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/upgradesstables.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/upgradesstables.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/upgradesstables.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="upgradesstables"> -<h1>upgradesstables<a class="headerlink" href="#upgradesstables" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-upgradesstables"></span><h1>upgradesstables<a class="headerlink" href="#upgradesstables" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/verify.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/verify.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/verify.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/verify.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="verify"> -<h1>verify<a class="headerlink" href="#verify" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-verify"></span><h1>verify<a class="headerlink" href="#verify" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/version.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/version.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/version.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/version.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="version"> -<h1>version<a class="headerlink" href="#version" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-version"></span><h1>version<a class="headerlink" href="#version" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/tools/nodetool/viewbuildstatus.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/tools/nodetool/viewbuildstatus.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/tools/nodetool/viewbuildstatus.html (original) +++ cassandra/site/publish/doc/latest/tools/nodetool/viewbuildstatus.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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="../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">Cassandra Development</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="../../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</a></li> @@ -147,7 +147,7 @@ <div class="container"> <div class="section" id="viewbuildstatus"> -<h1>viewbuildstatus<a class="headerlink" href="#viewbuildstatus" title="Permalink to this headline">¶</a></h1> +<span id="nodetool-viewbuildstatus"></span><h1>viewbuildstatus<a class="headerlink" href="#viewbuildstatus" title="Permalink to this headline">¶</a></h1> </div> <div class="section" id="usage"> <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> Modified: cassandra/site/publish/doc/latest/troubleshooting/index.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/latest/troubleshooting/index.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/latest/troubleshooting/index.html (original) +++ cassandra/site/publish/doc/latest/troubleshooting/index.html Tue May 16 02:01:22 2017 @@ -30,7 +30,7 @@ <link rel="stylesheet" href="./../../../css/sphinx.css"> - <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="next" title="Cassandra Development" href="../development/index.html"/> <link rel="prev" title="Nodetool" href="../tools/nodetool/nodetool.html"/> + <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="next" title="Contributing to Cassandra" href="../development/index.html"/> <link rel="prev" title="Cassandra Stress" href="../tools/cassandra_stress.html"/> </head> <body> @@ -130,7 +130,7 @@ <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 current"><a class="current reference internal" href="#">Troubleshooting</a></li> -<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> @@ -155,10 +155,10 @@ <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation"> - <a href="../development/index.html" class="btn btn-default pull-right " role="button" title="Cassandra Development" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a> + <a href="../development/index.html" class="btn btn-default pull-right " role="button" title="Contributing to Cassandra" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a> - <a href="../tools/nodetool/nodetool.html" class="btn btn-default" role="button" title="Nodetool" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a> + <a href="../tools/cassandra_stress.html" class="btn btn-default" role="button" title="Cassandra Stress" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a> </div> Modified: cassandra/site/publish/download/index.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/download/index.html (original) +++ cassandra/site/publish/download/index.html Tue May 16 02:01:22 2017 @@ -2,6 +2,12 @@ <html> + + + + + + <head> @@ -115,66 +121,60 @@ released against the most recent bug fix <h3 id="installation-from-debian-packages">Installation from Debian packages</h3> <ul> - <li>For tick-tock releases, the <code class="highlighter-rouge"><release series></code> is the release number, without dot, and with an appended <code class="highlighter-rouge">x</code>, so <code class="highlighter-rouge">31x</code>, -<code class="highlighter-rouge">32x</code>, â¦</li> + <li>For tick-tock releases, the <code><release series></code> is the release number, without dot, and with an appended <code>x</code>, so <code>31x</code>, +<code>32x</code>, â¦</li> <li> - <p>For older pre-tick-tock releases, the <code class="highlighter-rouge"><release series></code> is the major version number, without dot, and with an -appended <code class="highlighter-rouge">x</code>. So currently it can one of <code class="highlighter-rouge">21x</code>, <code class="highlighter-rouge">22x</code> or <code class="highlighter-rouge">30x</code>.</p> + <p>For older pre-tick-tock releases, the <code><release series></code> is the major version number, without dot, and with an +appended <code>x</code>. So currently it can one of <code>21x</code>, <code>22x</code> or <code>30x</code>.</p> </li> - <li>Add the Apache repository of Cassandra to <code class="highlighter-rouge">/etc/apt/sources.list.d/cassandra.sources.list</code>, for example for version 3.10:</li> + <li>Add the Apache repository of Cassandra to <code>/etc/apt/sources.list.d/cassandra.sources.list</code>, for example for version 3.10:</li> </ul> -<div class="highlighter-rouge"><pre class="highlight"><code>echo "deb http://www.apache.org/dist/cassandra/debian 310x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list +<pre><code>echo "deb http://www.apache.org/dist/cassandra/debian 310x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list </code></pre> -</div> <ul> <li>Add the Apache Cassandra repository keys:</li> </ul> -<div class="highlighter-rouge"><pre class="highlight"><code>curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add - +<pre><code>curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add - </code></pre> -</div> <ul> <li>Update the repositories:</li> </ul> -<div class="highlighter-rouge"><pre class="highlight"><code>sudo apt-get update +<pre><code>sudo apt-get update </code></pre> -</div> <ul> <li>If you encounter this error:</li> </ul> -<div class="highlighter-rouge"><pre class="highlight"><code>GPG error: http://www.apache.org 310x InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A278B781FE4B2BDA +<pre><code>GPG error: http://www.apache.org 310x InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A278B781FE4B2BDA </code></pre> -</div> <p>Then add the public key A278B781FE4B2BDA as follows:</p> -<div class="highlighter-rouge"><pre class="highlight"><code>sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-key A278B781FE4B2BDA +<pre><code>sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-key A278B781FE4B2BDA </code></pre> -</div> -<p>and repeat <code class="highlighter-rouge">sudo apt-get update</code>. The actual key may be different, you get it from the error message itself. For a +<p>and repeat <code>sudo apt-get update</code>. The actual key may be different, you get it from the error message itself. For a full list of Apache contributors public keys, you can refer to <a href="https://www.apache.org/dist/cassandra/KEYS">https://www.apache.org/dist/cassandra/KEYS</a>.</p> <ul> <li>Install Cassandra:</li> </ul> -<div class="highlighter-rouge"><pre class="highlight"><code>sudo apt-get install cassandra +<pre><code>sudo apt-get install cassandra </code></pre> -</div> <ul> - <li>You can start Cassandra with <code class="highlighter-rouge">sudo service cassandra start</code> and stop it with <code class="highlighter-rouge">sudo service cassandra stop</code>. + <li>You can start Cassandra with <code>sudo service cassandra start</code> and stop it with <code>sudo service cassandra stop</code>. However, normally the service will start automatically. For this reason be sure to stop it if you need to make any configuration changes.</li> - <li>Verify that Cassandra is running by invoking <code class="highlighter-rouge">nodetool status</code> from the command line.</li> - <li>The default location of configuration files is <code class="highlighter-rouge">/etc/cassandra</code>.</li> - <li>The default location of log and data directories is <code class="highlighter-rouge">/var/log/cassandra/</code> and <code class="highlighter-rouge">/var/lib/cassandra</code>.</li> - <li>Start-up options (heap size, etc) can be configured in <code class="highlighter-rouge">/etc/default/cassandra</code>.</li> + <li>Verify that Cassandra is running by invoking <code>nodetool status</code> from the command line.</li> + <li>The default location of configuration files is <code>/etc/cassandra</code>.</li> + <li>The default location of log and data directories is <code>/var/log/cassandra/</code> and <code>/var/lib/cassandra</code>.</li> + <li>Start-up options (heap size, etc) can be configured in <code>/etc/default/cassandra</code>.</li> </ul> <h3 id="installation-from-rpm-packages">Installation from RPM packages</h3> @@ -184,24 +184,22 @@ configuration changes.</li> <p>The following versions are currently available for download:</p> <ul> - <li><a href="http://www.apache.org/dyn/closer.lua/cassandra/redhat/30x/cassandra-3.0.13-1.noarch.rpm">3.0.13</a> (md5: <code class="highlighter-rouge">7a100653112a8a79d09fbf18dbc3f7d8</code> sha1: <code class="highlighter-rouge">3b9e2dfa94614af7d7f7891eb95982719e1a8fb4</code>)</li> + <li><a href="http://www.apache.org/dyn/closer.lua/cassandra/redhat/30x/cassandra-3.0.13-1.noarch.rpm">3.0.13</a> (md5: <code>7a100653112a8a79d09fbf18dbc3f7d8</code> sha1: <code>3b9e2dfa94614af7d7f7891eb95982719e1a8fb4</code>)</li> </ul> <p>Any instructions have been tested with CentOS 7 and should work for all Redhat based distributions. Please see note on end of this section on how to report any issues.</p> <p>Start Cassandra (will not start automatically):</p> -<div class="highlighter-rouge"><pre class="highlight"><code>service cassandra start +<pre><code>service cassandra start </code></pre> -</div> -<p>Systemd based distributions may require to run <code class="highlighter-rouge">systemctl daemon-reload</code> once to make Cassandra available as a systemd service. This should happen automatically by running the command above.</p> +<p>Systemd based distributions may require to run <code>systemctl daemon-reload</code> once to make Cassandra available as a systemd service. This should happen automatically by running the command above.</p> <p>Make Cassandra start automatically after reboot:</p> -<div class="highlighter-rouge"><pre class="highlight"><code>chkconfig cassandra on +<pre><code>chkconfig cassandra on </code></pre> -</div> <p>Please note that official RPMs for Apache Cassandra only have been available recently and are not tested thoroughly on all platforms yet. We appreciate your feedback and support and ask you to post details on any issues in the <a href="https://issues.apache.org/jira/browse/CASSANDRA-13433">corresponding Jira ticket</a>.</p> @@ -209,9 +207,8 @@ configuration changes.</li> <p>Development is done in the Apache Git repository. To check out a copy:</p> -<div class="highlighter-rouge"><pre class="highlight"><code>git clone http://git-wip-us.apache.org/repos/asf/cassandra.git +<pre><code>git clone http://git-wip-us.apache.org/repos/asf/cassandra.git </code></pre> -</div> </div> </div> Added: cassandra/site/src/doc/4.0/_downloads/stress-example.yaml URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_downloads/stress-example.yaml?rev=1795259&view=auto ============================================================================== --- cassandra/site/src/doc/4.0/_downloads/stress-example.yaml (added) +++ cassandra/site/src/doc/4.0/_downloads/stress-example.yaml Tue May 16 02:01:22 2017 @@ -0,0 +1,44 @@ +spacenam: example # idenitifier for this spec if running with multiple yaml files +keyspace: example + +# Would almost always be network topology unless running something locally +keyspace_definition: | + CREATE KEYSPACE example WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3}; + +table: staff_activities + +# The table under test. Start with a partition per staff member +# Is this a good idea? +table_definition: | + CREATE TABLE staff_activities ( + name text, + when timeuuid, + what text, + PRIMARY KEY(name, when) + ) + +columnspec: + - name: name + size: uniform(5..10) # The names of the staff members are between 5-10 characters + population: uniform(1..10) # 10 possible staff members to pick from + - name: when + cluster: uniform(20..500) # Staff members do between 20 and 500 events + - name: what + size: normal(10..100,50) + +insert: + # we only update a single partition in any given insert + partitions: fixed(1) + # we want to insert a single row per partition and we have between 20 and 500 + # rows per partition + select: fixed(1)/500 + batchtype: UNLOGGED # Single partition unlogged batches are essentially noops + +queries: + events: + cql: select * from staff_activities where name = ? + fields: samerow + latest_event: + cql: select * from staff_activities where name = ? LIMIT 1 + fields: samerow + Added: cassandra/site/src/doc/4.0/_images/docs_commit.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_images/docs_commit.png?rev=1795259&view=auto ============================================================================== Binary file - no diff available. Propchange: cassandra/site/src/doc/4.0/_images/docs_commit.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: cassandra/site/src/doc/4.0/_images/docs_create_branch.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_images/docs_create_branch.png?rev=1795259&view=auto ============================================================================== Binary file - no diff available. Propchange: cassandra/site/src/doc/4.0/_images/docs_create_branch.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: cassandra/site/src/doc/4.0/_images/docs_create_file.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_images/docs_create_file.png?rev=1795259&view=auto ============================================================================== Binary file - no diff available. Propchange: cassandra/site/src/doc/4.0/_images/docs_create_file.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: cassandra/site/src/doc/4.0/_images/docs_editor.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_images/docs_editor.png?rev=1795259&view=auto ============================================================================== Binary file - no diff available. Propchange: cassandra/site/src/doc/4.0/_images/docs_editor.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: cassandra/site/src/doc/4.0/_images/docs_fork.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_images/docs_fork.png?rev=1795259&view=auto ============================================================================== Binary file - no diff available. Propchange: cassandra/site/src/doc/4.0/_images/docs_fork.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: cassandra/site/src/doc/4.0/_images/docs_pr.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_images/docs_pr.png?rev=1795259&view=auto ============================================================================== Binary file - no diff available. Propchange: cassandra/site/src/doc/4.0/_images/docs_pr.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: cassandra/site/src/doc/4.0/_images/docs_preview.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_images/docs_preview.png?rev=1795259&view=auto ============================================================================== Binary file - no diff available. Propchange: cassandra/site/src/doc/4.0/_images/docs_preview.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: cassandra/site/src/doc/4.0/_images/example-stress-graph.png URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_images/example-stress-graph.png?rev=1795259&view=auto ============================================================================== Binary file - no diff available. Propchange: cassandra/site/src/doc/4.0/_images/example-stress-graph.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Modified: cassandra/site/src/doc/4.0/_sources/architecture/dynamo.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/architecture/dynamo.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/architecture/dynamo.txt (original) +++ cassandra/site/src/doc/4.0/_sources/architecture/dynamo.txt Tue May 16 02:01:22 2017 @@ -105,7 +105,7 @@ The following consistency levels are ava A majority of the replicas in each datacenter must respond. ``LOCAL_ONE`` - Only a single replica must respond. In a multi-datacenter cluster, this also guarantees that read requests are not + Only a single replica must respond. In a multi-datacenter cluster, this also gaurantees that read requests are not sent to replicas in a remote datacenter. ``ANY`` Modified: cassandra/site/src/doc/4.0/_sources/architecture/storage_engine.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/architecture/storage_engine.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/architecture/storage_engine.txt (original) +++ cassandra/site/src/doc/4.0/_sources/architecture/storage_engine.txt Tue May 16 02:01:22 2017 @@ -22,7 +22,54 @@ Storage Engine CommitLog ^^^^^^^^^ -.. todo:: todo +Commitlogs are an append only log of all mutations local to a Cassandra node. Any data written to Cassandra will first be written to a commit log before being written to a memtable. This provides durability in the case of unexpected shutdown. On startup, any mutations in the commit log will be applied to memtables. + +All mutations write optimized by storing in commitlog segments, reducing the number of seeks needed to write to disk. Commitlog Segments are limited by the "commitlog_segment_size_in_mb" option, once the size is reached, a new commitlog segment is created. Commitlog segments can be archived, deleted, or recycled once all its data has been flushed to SSTables. Commitlog segments are truncated when Cassandra has written data older than a certain point to the SSTables. Running "nodetool drain" before stopping Cassandra will write everything in the memtables to SSTables and remove the need to sync with the commitlogs on startup. + +- ``commitlog_segment_size_in_mb``: 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. + +***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*** + +*Default Value:* 32 + +Commitlogs are an append only log of all mutations local to a Cassandra node. Any data written to Cassandra will first be written to a commit log before being written to a memtable. This provides durability in the case of unexpected shutdown. On startup, any mutations in the commit log will be applied. + +- ``commitlog_sync``: may be either âperiodicâ or âbatch.â + + - ``batch``: In batch mode, Cassandra wonât ack writes until the commit log has been fsynced to disk. It will wait "commitlog_sync_batch_window_in_ms" milliseconds between fsyncs. This window should be kept short because the writer threads will be unable to do extra work while waiting. You may need to increase concurrent_writes for the same reason. + + - ``commitlog_sync_batch_window_in_ms``: Time to wait between "batch" fsyncs + *Default Value:* 2 + + - ``periodic``: In periodic mode, writes are immediately ack'ed, and the CommitLog is simply synced every "commitlog_sync_period_in_ms" milliseconds. + + - ``commitlog_sync_period_in_ms``: Time to wait between "periodic" fsyncs + *Default Value:* 10000 + +*Default Value:* batch + +*** NOTE: In the event of an unexpected shutdown, Cassandra can lose up to the sync period or more if the sync is delayed. If using "batch" mode, it is recommended to store commitlogs in a separate, dedicated device.** + + +- ``commitlog_directory``: This option is commented out by default 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. + +*Default Value:* /var/lib/cassandra/commitlog + +- ``commitlog_compression``: Compression to apply to the commitlog. If omitted, the commit log will be written uncompressed. LZ4, Snappy, and Deflate compressors are supported. + +(Default Value: (complex option):: + + # - class_name: LZ4Compressor + # parameters: + # - + +- ``commitlog_total_space_in_mb``: Total space to use for commit logs on disk. + +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. + +The default value is the smaller of 8192, and 1/4 of the total space of the commitlog volume. + +*Default Value:* 8192 .. _memtables: Modified: cassandra/site/src/doc/4.0/_sources/configuration/cassandra_config_file.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/configuration/cassandra_config_file.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/configuration/cassandra_config_file.txt (original) +++ cassandra/site/src/doc/4.0/_sources/configuration/cassandra_config_file.txt Tue May 16 02:01:22 2017 @@ -156,7 +156,7 @@ PasswordAuthenticator}. - AllowAllAuthenticator performs no checks - set it to disable authentication. - PasswordAuthenticator relies on username/password pairs to authenticate - users. It keeps usernames and hashed passwords in system_auth.credentials table. + 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) @@ -170,7 +170,7 @@ Out of the box, Cassandra provides org.a CassandraAuthorizer}. - AllowAllAuthorizer allows any action to any user - set it to disable authorization. -- CassandraAuthorizer stores permissions in system_auth.permissions table. Please +- CassandraAuthorizer stores permissions in system_auth.role_permissions table. Please increase system_auth keyspace replication factor if you use this authorizer. *Default Value:* AllowAllAuthorizer @@ -357,10 +357,10 @@ ignore Policy for commit disk failures: die - shut down gossip and Thrift and kill the JVM, so the node can be replaced. + shut down the node and kill the JVM, so the node can be replaced. stop - shut down gossip and Thrift, leaving the node effectively dead, but + shut down the node, leaving the node effectively dead, but can still be inspected via JMX. stop_commit @@ -393,17 +393,6 @@ Constantly re-preparing statements is a Default value ("auto") is 1/256th of the heap or 10MB, whichever is greater -``thrift_prepared_statements_cache_size_mb`` --------------------------------------------- - -Maximum size of the Thrift prepared statement cache - -If you do not use Thrift at all, it is safe to leave this value at "auto". - -See description of 'prepared_statements_cache_size_mb' above for more information. - -Default value ("auto") is 1/256th of the heap or 10MB, whichever is greater - ``key_cache_size_in_mb`` ------------------------ @@ -954,8 +943,7 @@ used to allow/disallow connections from -------------------------- Whether to start the native transport server. -Please note that the address on which the native transport is bound is the -same as the rpc_address. The port however is different and specified below. +The address on which the native transport is bound is defined by rpc_address. *Default Value:* true @@ -982,10 +970,8 @@ keeping native_transport_port unencrypte ``native_transport_max_threads`` -------------------------------- *This option is commented out by default.* -The maximum threads for handling requests when the native transport is used. -This is similar to rpc_max_threads though the default differs slightly (and -there is no native_transport_min_threads, idle threads will always be stopped -after 30 seconds). +The maximum threads for handling requests (note that idle threads are stopped +after 30 seconds so there is not corresponding minimum setting). *Default Value:* 128 @@ -1017,18 +1003,10 @@ The default is -1, which means unlimited *Default Value:* -1 -``start_rpc`` -------------- - -Whether to start the thrift rpc server. - -*Default Value:* false - ``rpc_address`` --------------- -The address or interface to bind the Thrift RPC service and native transport -server to. +The address or interface to bind the native transport server to. Set rpc_address OR rpc_interface, not both. @@ -1062,13 +1040,6 @@ ipv4. If there is only one address it wi *Default Value:* false -``rpc_port`` ------------- - -port for Thrift to listen for clients on - -*Default Value:* 9160 - ``broadcast_rpc_address`` ------------------------- *This option is commented out by default.* @@ -1087,65 +1058,6 @@ enable or disable keepalive on rpc/nativ *Default Value:* true -``rpc_server_type`` -------------------- - -Cassandra provides two out-of-the-box options for the RPC Server: - -sync - One thread per thrift connection. For a very large number of clients, memory - will be your limiting factor. On a 64 bit JVM, 180KB is the minimum stack size - per thread, and that will correspond to your use of virtual memory (but physical memory - may be limited depending on use of stack space). - -hsha - Stands for "half synchronous, half asynchronous." All thrift clients are handled - asynchronously using a small number of threads that does not vary with the amount - of thrift clients (and thus scales well to many clients). The rpc requests are still - synchronous (one thread per active request). If hsha is selected then it is essential - that rpc_max_threads is changed from the default value of unlimited. - -The default is sync because on Windows hsha is about 30% slower. On Linux, -sync/hsha performance is about the same, with hsha of course using less memory. - -Alternatively, can provide your own RPC server by providing the fully-qualified class name -of an o.a.c.t.TServerFactory that can create an instance of it. - -*Default Value:* sync - -``rpc_min_threads`` -------------------- -*This option is commented out by default.* - -Uncomment rpc_min|max_thread to set request pool size limits. - -Regardless of your choice of RPC server (see above), the number of maximum requests in the -RPC thread pool dictates how many concurrent requests are possible (but if you are using the sync -RPC server, it also dictates the number of clients that can be connected at all). - -The default is unlimited and thus provides no protection against clients overwhelming the server. You are -encouraged to set a maximum that makes sense for you in production, but do keep in mind that -rpc_max_threads represents the maximum number of client requests this server may execute concurrently. - - -*Default Value:* 16 - -``rpc_max_threads`` -------------------- -*This option is commented out by default.* - -*Default Value:* 2048 - -``rpc_send_buff_size_in_bytes`` -------------------------------- -*This option is commented out by default.* - -uncomment to set socket buffer sizes on rpc connections - -``rpc_recv_buff_size_in_bytes`` -------------------------------- -*This option is commented out by default.* - ``internode_send_buff_size_in_bytes`` ------------------------------------- *This option is commented out by default.* @@ -1168,13 +1080,6 @@ Uncomment to set socket buffer size for 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 -``thrift_framed_transport_size_in_mb`` --------------------------------------- - -Frame size for thrift (maximum message length). - -*Default Value:* 15 - ``incremental_backups`` ----------------------- @@ -1383,10 +1288,21 @@ times out in 10 minutes by default *Default Value:* 300 +``streaming_connections_per_host`` +---------------------------------- +*This option is commented out by default.* + +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). + +*Default Value:* 1 + ``phi_convict_threshold`` ------------------------- *This option is commented out by default.* + phi value that must be reached for a host to be marked down. most users should never need to adjust this. @@ -1488,66 +1404,6 @@ until the pinned host was 20% worse than *Default Value:* 0.1 -``request_scheduler`` ---------------------- - -request_scheduler -- Set this to a class that implements -RequestScheduler, which will schedule incoming client requests -according to the specific policy. This is useful for multi-tenancy -with a single Cassandra cluster. -NOTE: This is specifically for requests from the client and does -not affect inter node communication. -org.apache.cassandra.scheduler.NoScheduler - No scheduling takes place -org.apache.cassandra.scheduler.RoundRobinScheduler - Round robin of -client requests to a node with a separate queue for each -request_scheduler_id. The scheduler is further customized by -request_scheduler_options as described below. - -*Default Value:* org.apache.cassandra.scheduler.NoScheduler - -``request_scheduler_options`` ------------------------------ -*This option is commented out by default.* - -Scheduler Options vary based on the type of scheduler - -NoScheduler - Has no options - -RoundRobin - throttle_limit - The throttle_limit is the number of in-flight - requests per client. Requests beyond - that limit are queued up until - running requests can complete. - The value of 80 here is twice the number of - concurrent_reads + concurrent_writes. - default_weight - default_weight is optional and allows for - overriding the default which is 1. - weights - Weights are optional and will default to 1 or the - overridden default_weight. The weight translates into how - many requests are handled during each turn of the - RoundRobin, based on the scheduler id. - - -*Default Value (complex option)*:: - - # throttle_limit: 80 - # default_weight: 5 - # weights: - # Keyspace1: 1 - # Keyspace2: 5 - -``request_scheduler_id`` ------------------------- -*This option is commented out by default.* -request_scheduler_id -- An identifier based on which to perform -the request scheduling. Currently the only valid option is keyspace. - -*Default Value:* keyspace - ``server_encryption_options`` ----------------------------- @@ -1646,15 +1502,6 @@ TTL for different trace types used durin *Default Value:* 604800 -``gc_log_threshold_in_ms`` --------------------------- -*This option is commented out by default.* - -By default, Cassandra logs GC Pauses greater than 200 ms at INFO level -This threshold can be adjusted to minimize logging if necessary - -*Default Value:* 200 - ``enable_user_defined_functions`` --------------------------------- @@ -1772,12 +1619,22 @@ Log a warning when compacting partitions *Default Value:* 100 +``gc_log_threshold_in_ms`` +-------------------------- +*This option is commented out by default.* + +GC Pauses greater than 200 ms will be logged at INFO level +This threshold can be adjusted to minimize logging if necessary + +*Default Value:* 200 + ``gc_warn_threshold_in_ms`` --------------------------- +*This option is commented out by default.* GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level -Adjust the threshold based on your application throughput requirement -By default, Cassandra logs GC Pauses greater than 200 ms at INFO level +Adjust the threshold based on your application throughput requirement. Setting to 0 +will deactivate the feature. *Default Value:* 1000 @@ -1813,3 +1670,69 @@ the rate limiting is applied according t if SLOW at the speed of the slowest one. New strategies can be added. Implementors need to implement org.apache.cassandra.net.BackpressureStrategy and provide a public constructor accepting a Map<String, Object>. + +``otc_coalescing_strategy`` +--------------------------- +*This option is commented out by default.* + +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. + +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. + +*Default Value:* DISABLED + +``otc_coalescing_window_us`` +---------------------------- +*This option is commented out by default.* + +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. + +*Default Value:* 200 + +``otc_coalescing_enough_coalesced_messages`` +-------------------------------------------- +*This option is commented out by default.* + +Do not try to coalesce messages if we already got that many messages. This should be more than 2 and less than 128. + +*Default Value:* 8 + +``otc_backlog_expiration_interval_ms`` +-------------------------------------- +*This option is commented out by default.* + +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. + + +*Default Value:* 200 + +``ideal_consistency_level`` +--------------------------- +*This option is commented out by default.* + +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. + +*Default Value:* EACH_QUORUM Modified: cassandra/site/src/doc/4.0/_sources/cql/changes.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/cql/changes.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/cql/changes.txt (original) +++ cassandra/site/src/doc/4.0/_sources/cql/changes.txt Tue May 16 02:01:22 2017 @@ -21,13 +21,27 @@ Changes The following describes the changes in each version of CQL. +3.4.5 +^^^^^ + +- Adds support for arithmetic operators (:jira:`11935`) +- Adds support for ``+`` and ``-`` operations on dates (:jira:`11936`) +- Adds ``currentTimestamp``, ``currentDate``, ``currentTime`` and ``currentTimeUUID`` functions (:jira:`13132`) + + +3.4.4 +^^^^^ + +- ``ALTER TABLE`` ``ALTER`` has been removed; a column's type may not be changed after creation (:jira:`12443`). +- ``ALTER TYPE`` ``ALTER`` has been removed; a field's type may not be changed after creation (:jira:`12443`). + 3.4.3 ^^^^^ +- Adds a new ``duration `` :ref:`data types <data-types>` (:jira:`11873`). - Support for ``GROUP BY`` (:jira:`10707`). - Adds a ``DEFAULT UNSET`` option for ``INSERT JSON`` to ignore omitted columns (:jira:`11424`). -- Allows ``null`` as a legal value for TTL on insert and update. It will be treated as equivalent to -inserting a 0 (:jira:`12216`). +- Allows ``null`` as a legal value for TTL on insert and update. It will be treated as equivalent to inserting a 0 (:jira:`12216`). 3.4.2 ^^^^^ Modified: cassandra/site/src/doc/4.0/_sources/cql/ddl.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/cql/ddl.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/cql/ddl.txt (original) +++ cassandra/site/src/doc/4.0/_sources/cql/ddl.txt Tue May 16 02:01:22 2017 @@ -359,7 +359,7 @@ instance, given:: a int, b int, c int, - PRIMARY KEY (a, c, d) + PRIMARY KEY (a, b, c) ); SELECT * FROM t; @@ -396,15 +396,14 @@ Compact tables .. warning:: Since Cassandra 3.0, compact tables have the exact same layout internally than non compact ones (for the same schema obviously), and declaring a table compact **only** creates artificial limitations on the table definition - and usage that are necessary to ensure backward compatibility with the deprecated Thrift API. And as ``COMPACT + and usage. It only exists for historical reason and is preserved for backward compatibility And as ``COMPACT STORAGE`` cannot, as of Cassandra |version|, be removed, it is strongly discouraged to create new table with the ``COMPACT STORAGE`` option. -A *compact* table is one defined with the ``COMPACT STORAGE`` option. This option is mainly targeted towards backward -compatibility for definitions created before CQL version 3 (see `www.datastax.com/dev/blog/thrift-to-cql3 -<http://www.datastax.com/dev/blog/thrift-to-cql3>`__ for more details) and shouldn't be used for new tables. Declaring a -table with this option creates limitations for the table which are largely arbitrary but necessary for backward -compatibility with the (deprecated) Thrift API. Amongst those limitation: +A *compact* table is one defined with the ``COMPACT STORAGE`` option. This option is only maintained for backward +compatibility for definitions created before CQL version 3 and shouldn't be used for new tables. Declaring a +table with this option creates limitations for the table which are largely arbitrary (and exists for historical +reasons). Amongst those limitation: - a compact table cannot use collections nor static columns. - if a compact table has at least one clustering column, then it must have *exactly* one column outside of the primary @@ -559,15 +558,12 @@ Altering an existing table uses the ``AL .. productionlist:: alter_table_statement: ALTER TABLE `table_name` `alter_table_instruction` - alter_table_instruction: ALTER `column_name` TYPE `cql_type` - : | ADD `column_name` `cql_type` ( ',' `column_name` `cql_type` )* + alter_table_instruction: ADD `column_name` `cql_type` ( ',' `column_name` `cql_type` )* : | DROP `column_name` ( `column_name` )* : | WITH `options` For instance:: - ALTER TABLE addamsFamily ALTER lastKnownLocation TYPE uuid; - ALTER TABLE addamsFamily ADD gravesite varchar; ALTER TABLE addamsFamily @@ -576,11 +572,6 @@ For instance:: The ``ALTER TABLE`` statement can: -- Change the type of one of the column in the table (through the ``ALTER`` instruction). Note that the type of a column - cannot be changed arbitrarily. The change of type should be such that any value of the previous type should be a valid - value of the new type. Further, for :ref:`clustering columns <clustering-columns>` and columns on which a secondary - index is defined, the new type must sort values in the same way the previous type does. See the :ref:`type - compatibility table <alter-table-type-compatibility>` below for detail on which type changes are accepted. - Add new column(s) to the table (through the ``ADD`` instruction). Note that the primary key of a table cannot be changed and thus newly added column will, by extension, never be part of the primary key. Also note that :ref:`compact tables <compact-tables>` have restrictions regarding column addition. Note that this is constant (in the amount of @@ -603,48 +594,6 @@ The ``ALTER TABLE`` statement can: .. warning:: Once a column is dropped, it is allowed to re-add a column with the same name than the dropped one **unless** the type of the dropped column was a (non-frozen) column (due to an internal technical limitation). -.. _alter-table-type-compatibility: - -CQL type compatibility: -~~~~~~~~~~~~~~~~~~~~~~~ - -CQL data types may be converted only as the following table. - -+-------------------------------------------------------+--------------------+ -| Existing type | Can be altered to: | -+=======================================================+====================+ -| timestamp | bigint | -+-------------------------------------------------------+--------------------+ -| ascii, bigint, boolean, date, decimal, double, float, | blob | -| inet, int, smallint, text, time, timestamp, timeuuid, | | -| tinyint, uuid, varchar, varint | | -+-------------------------------------------------------+--------------------+ -| int | date | -+-------------------------------------------------------+--------------------+ -| ascii, varchar | text | -+-------------------------------------------------------+--------------------+ -| bigint | time | -+-------------------------------------------------------+--------------------+ -| bigint | timestamp | -+-------------------------------------------------------+--------------------+ -| timeuuid | uuid | -+-------------------------------------------------------+--------------------+ -| ascii, text | varchar | -+-------------------------------------------------------+--------------------+ -| bigint, int, timestamp | varint | -+-------------------------------------------------------+--------------------+ - -Clustering columns have stricter requirements, only the following conversions are allowed: - -+------------------------+----------------------+ -| Existing type | Can be altered to | -+========================+======================+ -| ascii, text, varchar | blob | -+------------------------+----------------------+ -| ascii, varchar | text | -+------------------------+----------------------+ -| ascii, text | varchar | -+------------------------+----------------------+ .. _drop-table-statement: Modified: cassandra/site/src/doc/4.0/_sources/cql/definitions.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/cql/definitions.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/cql/definitions.txt (original) +++ cassandra/site/src/doc/4.0/_sources/cql/definitions.txt Tue May 16 02:01:22 2017 @@ -119,9 +119,10 @@ Terms CQL has the notion of a *term*, which denotes the kind of values that CQL support. Terms are defined by: .. productionlist:: - term: `constant` | `literal` | `function_call` | `type_hint` | `bind_marker` + term: `constant` | `literal` | `function_call` | `arithmetic_operation` | `type_hint` | `bind_marker` literal: `collection_literal` | `udt_literal` | `tuple_literal` function_call: `identifier` '(' [ `term` (',' `term`)* ] ')' + arithmetic_operation: '-' `term` | `term` ('+' | '-' | '*' | '/' | '%') `term` type_hint: '(' `cql_type` `)` term bind_marker: '?' | ':' `identifier` @@ -132,6 +133,7 @@ A term is thus one of: (see the linked sections for details). - A function call: see :ref:`the section on functions <cql-functions>` for details on which :ref:`native function <native-functions>` exists and how to define your own :ref:`user-defined ones <udfs>`. +- An arithmetic operation between terms. see :ref:`the section on arithmetic operations <arithmetic_operators>` - A *type hint*: see the :ref:`related section <type-hints>` for details. - A bind marker, which denotes a variable to be bound at execution time. See the section on :ref:`prepared-statements` for details. A bind marker can be either anonymous (``?``) or named (``:some_name``). The latter form provides a more Modified: cassandra/site/src/doc/4.0/_sources/cql/dml.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/cql/dml.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/cql/dml.txt (original) +++ cassandra/site/src/doc/4.0/_sources/cql/dml.txt Tue May 16 02:01:22 2017 @@ -501,6 +501,7 @@ Note that: resolution procedure in the case of `timestamp ties <http://wiki.apache.org/cassandra/FAQ#clocktie>`__, operations may be applied in an order that is different from the order they are listed in the ``BATCH`` statement. To force a particular operation ordering, you must specify per-operation timestamps. +- A LOGGED batch to a single partition will be converted to an UNLOGGED batch as an optimization. .. _unlogged-batches: Modified: cassandra/site/src/doc/4.0/_sources/cql/functions.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/cql/functions.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/cql/functions.txt (original) +++ cassandra/site/src/doc/4.0/_sources/cql/functions.txt Tue May 16 02:01:22 2017 @@ -135,14 +135,16 @@ Timeuuid functions ``now`` ####### -The ``now`` function takes no arguments and generates, on the coordinator node, a new unique timeuuid (at the time where -the statement using it is executed). Note that this method is useful for insertion but is largely non-sensical in +The ``now`` function takes no arguments and generates, on the coordinator node, a new unique timeuuid at the +time the function is invoked. Note that this method is useful for insertion but is largely non-sensical in ``WHERE`` clauses. For instance, a query of the form:: SELECT * FROM myTable WHERE t = now() will never return any result by design, since the value returned by ``now()`` is guaranteed to be unique. +``currentTimeUUID`` is an alias of ``now``. + ``minTimeuuid`` and ``maxTimeuuid`` ################################### @@ -164,8 +166,29 @@ maxTimeuuid('2013-01-01 00:05+0000')``. particular, the value returned by these 2 methods will not be unique. This means you should only use those methods for querying (as in the example above). Inserting the result of those methods is almost certainly *a bad idea*. +Datetime functions +`````````````````` + +Retrieving the current date/time +################################ + +The following functions can be used to retrieve the date/time at the time where the function is invoked: + +===================== =============== + Function name Output type +===================== =============== + ``currentTimestamp`` ``timestamp`` + ``currentDate`` ``date`` + ``currentTime`` ``time`` + ``currentTimeUUID`` ``timeUUID`` +===================== =============== + +For example the last 2 days of data can be retrieved using:: + + SELECT * FROM myTable WHERE date >= currentDate() - 2d + Time conversion functions -````````````````````````` +######################### A number of functions are provided to âconvertâ a ``timeuuid``, a ``timestamp`` or a ``date`` into another ``native`` type. Modified: cassandra/site/src/doc/4.0/_sources/cql/index.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/cql/index.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/cql/index.txt (original) +++ cassandra/site/src/doc/4.0/_sources/cql/index.txt Tue May 16 02:01:22 2017 @@ -24,8 +24,7 @@ the languages. However, the `changes <#c CQL offers a model close to SQL in the sense that data is put in *tables* containing *rows* of *columns*. For that reason, when used in this document, these terms (tables, rows and columns) have the same definition than they have -in SQL. But please note that as such, they do **not** refer to the concept of rows and columns found in the deprecated -thrift API (and earlier version 1 and 2 of CQL). +in SQL. .. toctree:: :maxdepth: 2 @@ -38,6 +37,7 @@ thrift API (and earlier version 1 and 2 mvs security functions + operators json triggers appendices Added: cassandra/site/src/doc/4.0/_sources/cql/operators.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/cql/operators.txt?rev=1795259&view=auto ============================================================================== --- cassandra/site/src/doc/4.0/_sources/cql/operators.txt (added) +++ cassandra/site/src/doc/4.0/_sources/cql/operators.txt Tue May 16 02:01:22 2017 @@ -0,0 +1,76 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +.. highlight:: cql + +.. _arithmetic_operators: +.. _number-arithmetic: +.. _datetime--arithmetic: + +Arithmetic Operators +-------------------- + +CQL supports the following operators: + +=============== ======================================================================================================= + Operator Description +=============== ======================================================================================================= + \- (unary) Negates operand + \+ Addition + \- Substraction + \* Multiplication + / Division + % Returns the remainder of a division +=============== ======================================================================================================= + +.. _number-arithmetic: + +Number Arithmetic +^^^^^^^^^^^^^^^^^ + +All arithmetic operations are supported on numeric types or counters. + +The return type of the operation will be based on the operand types: + +============= =========== ========== ========== ========== ========== ========== ========== ========== ========== + left/right tinyint smallint int bigint counter float double varint decimal +============= =========== ========== ========== ========== ========== ========== ========== ========== ========== + **tinyint** tinyint smallint int bigint bigint float double varint decimal + **smallint** smallint smallint int bigint bigint float double varint decimal + **int** int int int bigint bigint float double varint decimal + **bigint** bigint bigint bigint bigint bigint double double varint decimal + **counter** bigint bigint bigint bigint bigint double double varint decimal + **float** float float float double double float double decimal decimal + **double** double double double double double double double decimal decimal + **varint** varint varint varint decimal decimal decimal decimal decimal decimal + **decimal** decimal decimal decimal decimal decimal decimal decimal decimal decimal +============= =========== ========== ========== ========== ========== ========== ========== ========== ========== + +``*``, ``/`` and ``%`` operators have a higher precedence level than ``+`` and ``-`` operator. By consequence, +they will be evaluated before. If two operator in an expression have the same precedence level, they will be evaluated +left to right based on their position in the expression. + +.. _datetime--arithmetic: + +Datetime Arithmetic +^^^^^^^^^^^^^^^^^^^ + +A ``duration`` can be added (+) or substracted (-) from a ``timestamp`` or a ``date`` to create a new +``timestamp`` or ``date``. So for instance:: + + SELECT * FROM myTable WHERE t = '2017-01-01' - 2d + +will select all the records with a value of ``t`` which is in the last 2 days of 2016. Modified: cassandra/site/src/doc/4.0/_sources/cql/types.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/cql/types.txt?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/src/doc/4.0/_sources/cql/types.txt (original) +++ cassandra/site/src/doc/4.0/_sources/cql/types.txt Tue May 16 02:01:22 2017 @@ -47,6 +47,7 @@ The native types supported by CQL are: : | DATE : | DECIMAL : | DOUBLE + : | DURATION : | FLOAT : | INET : | INT @@ -77,6 +78,7 @@ The following table gives additional inf :token:`float` ``double`` :token:`integer` 64-bit IEEE-754 floating point :token:`float` + ``duration`` :token:`duration`, A duration with nanosecond precision. See :ref:`durations` below for details ``float`` :token:`integer`, 32-bit IEEE-754 floating point :token:`float` ``inet`` :token:`string` An IP address, either IPv4 (4 bytes long) or IPv6 (16 bytes long). Note that @@ -179,6 +181,48 @@ time: - ``'08:12:54.123456'`` - ``'08:12:54.123456789'`` +.. _durations: + +Working with durations +^^^^^^^^^^^^^^^^^^^^^^ + +Values of the ``duration`` type are encoded as 3 signed integer of variable lengths. The first integer represents the +number of months, the second the number of days and the third the number of nanoseconds. This is due to the fact that +the number of days in a month can change, and a day can have 23 or 25 hours depending on the daylight saving. +Internally, the number of months and days are decoded as 32 bits integers whereas the number of nanoseconds is decoded +as a 64 bits integer. + +A duration can be input as: + + #. ``(quantity unit)+`` like ``12h30m`` where the unit can be: + + * ``y``: years (12 months) + * ``mo``: months (1 month) + * ``w``: weeks (7 days) + * ``d``: days (1 day) + * ``h``: hours (3,600,000,000,000 nanoseconds) + * ``m``: minutes (60,000,000,000 nanoseconds) + * ``s``: seconds (1,000,000,000 nanoseconds) + * ``ms``: milliseconds (1,000,000 nanoseconds) + * ``us`` or ``µs`` : microseconds (1000 nanoseconds) + * ``ns``: nanoseconds (1 nanosecond) + #. ISO 8601 format: ``P[n]Y[n]M[n]DT[n]H[n]M[n]S or P[n]W`` + #. ISO 8601 alternative format: ``P[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]`` + +For example:: + + INSERT INTO RiderResults (rider, race, result) VALUES ('Christopher Froome', 'Tour de France', 89h4m48s); + INSERT INTO RiderResults (rider, race, result) VALUES ('BARDET Romain', 'Tour de France', PT89H8M53S); + INSERT INTO RiderResults (rider, race, result) VALUES ('QUINTANA Nairo', 'Tour de France', P0000-00-00T89:09:09); + +.. _duration-limitation: + +Duration columns cannot be used in a table's ``PRIMARY KEY``. This limitation is due to the fact that +durations cannot be ordered. It is effectively not possible to know if ``1mo`` is greater than ``29d`` without a date +context. + +A ``1d`` duration is not equals to a ``24h`` one as the duration type has been created to be able to support daylight +saving. .. _collections: @@ -445,14 +489,11 @@ An existing user-defined type can be mod .. productionlist:: alter_type_statement: ALTER TYPE `udt_name` `alter_type_modification` - alter_type_modification: ALTER `identifier` TYPE `cql_type` - : | ADD `field_definition` + alter_type_modification: ADD `field_definition` : | RENAME `identifier` TO `identifier` ( `identifier` TO `identifier` )* You can: -- modify the type of particular field (``ALTER TYPE address ALTER zip TYPE bigint``). The restrictions for such change - are the same than when :ref:`altering the type of column <alter-table-statement>`. - add a new field to the type (``ALTER TYPE address ADD country text``). That new field will be ``null`` for any values of the type created before the addition. - rename the fields of the type (``ALTER TYPE address RENAME zip TO zipcode``). Added: cassandra/site/src/doc/4.0/_sources/development/documentation.txt URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/_sources/development/documentation.txt?rev=1795259&view=auto ============================================================================== --- cassandra/site/src/doc/4.0/_sources/development/documentation.txt (added) +++ cassandra/site/src/doc/4.0/_sources/development/documentation.txt Tue May 16 02:01:22 2017 @@ -0,0 +1,104 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + + +Working on Documentation +************************* + +How Cassandra is documented +=========================== + +The official Cassandra documentation lives in the project's git repository. We use a static site generator, `Sphinx <http://www.sphinx-doc.org/>`_, to create pages hosted at `cassandra.apache.org <https://cassandra.apache.org/doc/latest/>`_. You'll also find developer centric content about Cassandra internals in our retired `wiki <https://wiki.apache.org/cassandra>`_ (not covered by this guide). + +Using a static site generator often requires to use a markup language instead of visual editors (which some people would call good news). Sphinx, the tool-set we use to generate our documentation, uses `reStructuredText <http://www.sphinx-doc.org/en/stable/rest.html>`_ for that. Markup languages allow you to format text by making use of certain syntax elements. Your document structure will also have to follow specific conventions. Feel free to take a look at `existing documents <..>`_ to get a better idea how we use reStructuredText to write our documents. + +So how do you actually start making contributions? + +GitHub based work flow +====================== + +*Recommended for shorter documents and minor changes on existing content (e.g. fixing typos or updating descriptions)* + +Follow these steps to contribute using GitHub. It's assumed that you're logged in with an existing account. + +1. Fork the GitHub mirror of the `Cassandra repository <https://github.com/apache/cassandra>`_ + +.. image:: images/docs_fork.png + +2. Create a new branch that you can use to make your edits. It's recommended to have a separate branch for each of your working projects. It will also make it easier to create a pull request later to when you decide youâre ready to contribute your work. + +.. image:: images/docs_create_branch.png + +3. Navigate to document sources ``doc/source`` to find the ``.rst`` file to edit. The URL of the document should correspond to the directory structure. New files can be created using the "Create new file" button: + +.. image:: images/docs_create_file.png + +4. At this point you should be able to edit the file using the GitHub web editor. Start by naming your file and add some content. Have a look at other existing ``.rst`` files to get a better idea what format elements to use. + +.. image:: images/docs_editor.png + +Make sure to preview added content before committing any changes. + +.. image:: images/docs_preview.png + +5. Commit your work when you're done. Make sure to add a short description of all your edits since the last time you committed before. + +.. image:: images/docs_commit.png + +6. Finally if you decide that you're done working on your branch, it's time to create a pull request! + +.. image:: images/docs_pr.png + +Afterwards the GitHub Cassandra mirror will list your pull request and you're done. Congratulations! Please give us some time to look at your suggested changes before we get back to you. + + +Jira based work flow +==================== + +*Recommended for major changes* + +Significant changes to the documentation are best managed through our Jira issue tracker. Please follow the same `contribution guides <https://cassandra.apache.org/doc/latest/development/patches.html>`_ as for regular code contributions. Creating high quality content takes a lot of effort. Itâs therefor always a good idea to create a ticket before you start and explain what youâre planing to do. This will create the opportunity for other contributors and committers to comment on your ideas and work so far. Eventually your patch gets a formal review before it is committed. + +Working on documents locally using Sphinx +========================================= + +*Recommended for advanced editing* + +Using the GitHub web interface should allow you to use most common layout elements including images. More advanced formatting options and navigation elements depend on Sphinx to render correctly. Therefor itâs a good idea to setup Sphinx locally for any serious editing. Please follow the instructions in the Cassandra source directory at ``doc/README.md``. Setup is very easy (at least on OSX and Linux). + +Notes for committers +==================== + +Please feel free to get involved and merge pull requests created on the GitHub mirror if you're a committer. As this is a read-only repository, you won't be able to merge a PR directly on GitHub. You'll have to commit the changes against the Apache repository with a comment that will close the PR when the committ syncs with GitHub. + +You may use a git work flow like this:: + + git remote add github https://github.com/apache/cassandra.git + git fetch github pull/<PR-ID>/head:<PR-ID> + git checkout <PR-ID> + +Now either rebase or squash the commit, e.g. for squashing:: + + git reset --soft origin/trunk + git commit --author <PR Author> + +Make sure to add a proper commit message including a "Closes #<PR-ID>" text to automatically close the PR. + +Publishing +---------- + +Details for building and publishing of the site at cassandra.apache.org can be found `here <https://svn.apache.org/repos/asf/cassandra/site/src/README>`_. + --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
