Added: cassandra/site/src/doc/3.10/development/how_to_commit.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/development/how_to_commit.html?rev=1757419&view=auto
==============================================================================
--- cassandra/site/src/doc/3.10/development/how_to_commit.html (added)
+++ cassandra/site/src/doc/3.10/development/how_to_commit.html Tue Aug 23 
19:25:17 2016
@@ -0,0 +1,182 @@
+---
+layout: docpage
+
+title: "Documentation"
+
+is_homepage: false
+is_sphinx_doc: true
+
+doc-parent: "Cassandra Development"
+
+doc-title: "How-to Commit"
+doc-header-links: '
+  <link rel="top" title="Apache Cassandra Documentation v3.10" 
href="../index.html"/>
+      <link rel="up" title="Cassandra Development" href="index.html"/>
+      <link rel="next" title="Frequently Asked Questions" 
href="../faq/index.html"/>
+      <link rel="prev" title="Review Checklist" href="how_to_review.html"/>
+'
+doc-search-path: "../search.html"
+
+extra-footer: '
+<script type="text/javascript">
+    var DOCUMENTATION_OPTIONS = {
+      URL_ROOT:    "",
+      VERSION:     "",
+      COLLAPSE_INDEX: false,
+      FILE_SUFFIX: ".html",
+      HAS_SOURCE:  false,
+      SOURCELINK_SUFFIX: ""
+    };
+</script>
+'
+
+---
+<div class="container-fluid">
+  <div class="row">
+    <div class="col-md-2">
+      <div class="doc-navigation">
+        <div class="doc-menu" role="navigation">
+          <div class="navbar-header">
+            <button type="button" class="pull-left navbar-toggle" 
data-toggle="collapse" data-target=".sidebar-navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+          </div>
+          <div class="navbar-collapse collapse sidebar-navbar-collapse">
+            <form id="doc-search-form" class="navbar-form" 
action="../search.html" method="get" role="search">
+              <div class="form-group">
+                <input type="text" size="30" class="form-control input-sm" 
name="q" placeholder="Search docs">
+                <input type="hidden" name="check_keywords" value="yes" />
+                <input type="hidden" name="area" value="default" />
+              </div>
+            </form>
+            
+            
+            
+            <ul 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="../architecture/index.html">Architecture</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="../cql/index.html">The Cassandra Query Language (CQL)</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"><a class="reference internal" 
href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Cassandra Development</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="ide.html">Building 
and IDE Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="testing.html">Testing</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="patches.html">Contributing Code Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html">Code Style</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_review.html">Review Checklist</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" 
href="#">How-to Commit</a></li>
+</ul>
+</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>
+</ul>
+
+            
+            
+          </div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+    <div class="col-md-8">
+      <div class="content doc-content">
+        <div class="container">
+          
+  <div class="section" id="how-to-commit">
+<h1>How-to Commit<a class="headerlink" href="#how-to-commit" title="Permalink 
to this headline">¶</a></h1>
+<p>If you are a committer, feel free to pick any process that works for you - 
so long as you are planning to commit the work yourself.</p>
+<p>Here is how committing and merging will usually look for merging and 
pushing for tickets that follow the convention (if patch-based):</p>
+<p>Hypothetical CASSANDRA-12345 ticket is a cassandra-3.0 based bug fix that 
requires different code for cassandra-3.3, and trunk. Contributor Jackie 
supplied a patch for the root branch (12345-3.0.patch), and patches for the 
remaining branches (12345-3.3.patch, 12345-trunk.patch).</p>
+<dl class="docutils">
+<dt>On cassandra-3.0:</dt>
+<dd><ol class="first last arabic simple">
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">am</span> <span class="pre">-3</span> <span 
class="pre">12345-3.0.patch</span></code> (if we have a problem b/c of 
CHANGES.txt not merging anymore, we fix  it ourselves, in place)</li>
+</ol>
+</dd>
+<dt>On cassandra-3.3:</dt>
+<dd><ol class="first last arabic simple">
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">merge</span> <span class="pre">cassandra-3.0</span> <span 
class="pre">-s</span> <span class="pre">ours</span></code></li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">apply</span> <span class="pre">-3</span> <span 
class="pre">12345-3.3.patch</span></code> (likely to have an issue with 
CHANGES.txt here: fix it ourselves, then git add CHANGES.txt)</li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">commit</span> <span class="pre">—amend</span></code></li>
+</ol>
+</dd>
+<dt>On trunk:</dt>
+<dd><ol class="first last arabic simple">
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">merge</span> <span class="pre">cassandra-3.3</span> <span 
class="pre">-s</span> <span class="pre">ours</span></code></li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">apply</span> <span class="pre">-3</span> <span 
class="pre">12345-trunk.patch</span></code> (likely to have an issue with 
CHANGES.txt here: fix it ourselves, then git add CHANGES.txt)</li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">commit</span> <span class="pre">—amend</span></code></li>
+</ol>
+</dd>
+<dt>On any branch:</dt>
+<dd><ol class="first last arabic simple">
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">push</span> <span class="pre">origin</span> <span 
class="pre">cassandra-3.0</span> <span class="pre">cassandra-3.3</span> <span 
class="pre">trunk</span> <span class="pre">—atomic</span></code></li>
+</ol>
+</dd>
+</dl>
+<p>Same scenario, but a branch-based contribution:</p>
+<dl class="docutils">
+<dt>On cassandra-3.0:</dt>
+<dd><ol class="first last arabic simple">
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">cherry-pick</span> <span 
class="pre">&lt;sha-of-3.0-commit&gt;</span></code> (if we have a problem b/c 
of CHANGES.txt not merging anymore, we fix it ourselves, in place)</li>
+</ol>
+</dd>
+<dt>On cassandra-3.3:</dt>
+<dd><ol class="first last arabic simple">
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">merge</span> <span class="pre">cassandra-3.0</span> <span 
class="pre">-s</span> <span class="pre">ours</span></code></li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">format-patch</span> <span class="pre">-1</span> <span 
class="pre">&lt;sha-of-3.3-commit&gt;</span></code></li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">apply</span> <span class="pre">-3</span> <span 
class="pre">&lt;sha-of-3.3-commit&gt;.patch</span></code> (likely to have an 
issue with CHANGES.txt here: fix it ourselves, then git add CHANGES.txt)</li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">commit</span> <span class="pre">—amend</span></code></li>
+</ol>
+</dd>
+<dt>On trunk:</dt>
+<dd><ol class="first last arabic simple">
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">merge</span> <span class="pre">cassandra-3.3</span> <span 
class="pre">-s</span> <span class="pre">ours</span></code></li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">format-patch</span> <span class="pre">-1</span> <span 
class="pre">&lt;sha-of-trunk-commit&gt;</span></code></li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">apply</span> <span class="pre">-3</span> <span 
class="pre">&lt;sha-of-trunk-commit&gt;.patch</span></code> (likely to have an 
issue with CHANGES.txt here: fix it ourselves, then git add CHANGES.txt)</li>
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">commit</span> <span class="pre">—amend</span></code></li>
+</ol>
+</dd>
+<dt>On any branch:</dt>
+<dd><ol class="first last arabic simple">
+<li><code class="docutils literal"><span class="pre">git</span> <span 
class="pre">push</span> <span class="pre">origin</span> <span 
class="pre">cassandra-3.0</span> <span class="pre">cassandra-3.3</span> <span 
class="pre">trunk</span> <span class="pre">—atomic</span></code></li>
+</ol>
+</dd>
+</dl>
+<div class="admonition tip">
+<p class="first admonition-title">Tip</p>
+<p>Notes on git flags:
+<code class="docutils literal"><span class="pre">-3</span></code> flag to am 
and apply will instruct git to perform a 3-way merge for you. If a conflict is 
detected, you can either resolve it manually or invoke git mergetool - for both 
am and apply.</p>
+<p class="last"><code class="docutils literal"><span 
class="pre">—atomic</span></code> flag to git push does the obvious thing: 
pushes all or nothing. Without the flag, the command is equivalent to running 
git push once per each branch. This is nifty in case a race condition happens - 
you won’t push half the branches, blocking other committers’ progress while 
you are resolving the issue.</p>
+</div>
+<div class="admonition tip">
+<p class="first admonition-title">Tip</p>
+<p class="last">The fastest way to get a patch from someone’s commit in a 
branch on GH - if you don’t have their repo in remotes -  is to append .patch 
to the commit url, e.g.
+curl -O <a class="reference external" 
href="https://github.com/apache/cassandra/commit/7374e9b5ab08c1f1e612bf72293ea14c959b0c3c.patch";>https://github.com/apache/cassandra/commit/7374e9b5ab08c1f1e612bf72293ea14c959b0c3c.patch</a></p>
+</div>
+</div>
+
+
+
+          
+          <div class="doc-prev-next-links" role="navigation" 
aria-label="footer navigation">
+            
+            <a href="../faq/index.html" class="btn btn-default pull-right " 
role="button" title="Frequently Asked Questions" accesskey="n">Next <span 
class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
+            
+            
+            <a href="how_to_review.html" class="btn btn-default" role="button" 
title="Review Checklist" accesskey="p"><span class="glyphicon 
glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
+            
+          </div>
+          
+        </div>
+      </div>
+    </div>
+    <div class="col-md-2">
+    </div>
+  </div>
+</div>
\ No newline at end of file

Added: cassandra/site/src/doc/3.10/development/how_to_review.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/development/how_to_review.html?rev=1757419&view=auto
==============================================================================
--- cassandra/site/src/doc/3.10/development/how_to_review.html (added)
+++ cassandra/site/src/doc/3.10/development/how_to_review.html Tue Aug 23 
19:25:17 2016
@@ -0,0 +1,174 @@
+---
+layout: docpage
+
+title: "Documentation"
+
+is_homepage: false
+is_sphinx_doc: true
+
+doc-parent: "Cassandra Development"
+
+doc-title: "Review Checklist"
+doc-header-links: '
+  <link rel="top" title="Apache Cassandra Documentation v3.10" 
href="../index.html"/>
+      <link rel="up" title="Cassandra Development" href="index.html"/>
+      <link rel="next" title="How-to Commit" href="how_to_commit.html"/>
+      <link rel="prev" title="Code Style" href="code_style.html"/>
+'
+doc-search-path: "../search.html"
+
+extra-footer: '
+<script type="text/javascript">
+    var DOCUMENTATION_OPTIONS = {
+      URL_ROOT:    "",
+      VERSION:     "",
+      COLLAPSE_INDEX: false,
+      FILE_SUFFIX: ".html",
+      HAS_SOURCE:  false,
+      SOURCELINK_SUFFIX: ""
+    };
+</script>
+'
+
+---
+<div class="container-fluid">
+  <div class="row">
+    <div class="col-md-2">
+      <div class="doc-navigation">
+        <div class="doc-menu" role="navigation">
+          <div class="navbar-header">
+            <button type="button" class="pull-left navbar-toggle" 
data-toggle="collapse" data-target=".sidebar-navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+          </div>
+          <div class="navbar-collapse collapse sidebar-navbar-collapse">
+            <form id="doc-search-form" class="navbar-form" 
action="../search.html" method="get" role="search">
+              <div class="form-group">
+                <input type="text" size="30" class="form-control input-sm" 
name="q" placeholder="Search docs">
+                <input type="hidden" name="check_keywords" value="yes" />
+                <input type="hidden" name="area" value="default" />
+              </div>
+            </form>
+            
+            
+            
+            <ul 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="../architecture/index.html">Architecture</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="../cql/index.html">The Cassandra Query Language (CQL)</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"><a class="reference internal" 
href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Cassandra Development</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="ide.html">Building 
and IDE Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="testing.html">Testing</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="patches.html">Contributing Code Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html">Code Style</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" 
href="#">Review Checklist</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_commit.html">How-to Commit</a></li>
+</ul>
+</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>
+</ul>
+
+            
+            
+          </div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+    <div class="col-md-8">
+      <div class="content doc-content">
+        <div class="container">
+          
+  <div class="section" id="review-checklist">
+<h1>Review Checklist<a class="headerlink" href="#review-checklist" 
title="Permalink to this headline">¶</a></h1>
+<p>When reviewing tickets in Apache JIRA, the following items should be 
covered as part of the review process:</p>
+<p><strong>General</strong></p>
+<blockquote>
+<div><ul class="simple">
+<li>Does it conform to the <a class="reference internal" 
href="code_style.html"><span class="doc">Code Style</span></a> guidelines?</li>
+<li>Is there any redundant or duplicate code?</li>
+<li>Is the code as modular as possible?</li>
+<li>Can any singletons be avoided?</li>
+<li>Can any of the code be replaced with library functions?</li>
+<li>Are units of measurement used in the code consistent, both internally and 
with the rest of the ecosystem?</li>
+</ul>
+</div></blockquote>
+<p><strong>Error-Handling</strong></p>
+<blockquote>
+<div><ul class="simple">
+<li>Are all data inputs and outputs checked (for the correct type, length, 
format, and range) and encoded?</li>
+<li>Where third-party utilities are used, are returning errors being 
caught?</li>
+<li>Are invalid parameter values handled?</li>
+<li>Are any Throwable/Exceptions passed to the JVMStabilityInspector?</li>
+<li>Are errors well-documented? Does the error message tell the user how to 
proceed?</li>
+<li>Do exceptions propagate to the appropriate level in the code?</li>
+</ul>
+</div></blockquote>
+<p><strong>Documentation</strong></p>
+<blockquote>
+<div><ul class="simple">
+<li>Do comments exist and describe the intent of the code (the 
&#8220;why&#8221;, not the &#8220;how&#8221;)?</li>
+<li>Are javadocs added where appropriate?</li>
+<li>Is any unusual behavior or edge-case handling described?</li>
+<li>Are data structures and units of measurement explained?</li>
+<li>Is there any incomplete code? If so, should it be removed or flagged with 
a suitable marker like ‘TODO’?</li>
+<li>Does the code self-document via clear naming, abstractions, and flow 
control?</li>
+<li>Have NEWS.txt, the cql3 docs, and the native protocol spec been updated if 
needed?</li>
+<li>Is the ticket tagged with &#8220;client-impacting&#8221; and 
&#8220;doc-impacting&#8221;, where appropriate?</li>
+<li>Has lib/licences been updated for third-party libs? Are they Apache 
License compatible?</li>
+<li>Is the Component on the JIRA ticket set appropriately?</li>
+</ul>
+</div></blockquote>
+<p><strong>Testing</strong></p>
+<blockquote>
+<div><ul class="simple">
+<li>Is the code testable? i.e. don’t add too many or hide dependencies, 
unable to initialize objects, test frameworks can use methods etc.</li>
+<li>Do tests exist and are they comprehensive?</li>
+<li>Do unit tests actually test that the code is performing the intended 
functionality?</li>
+<li>Could any test code use common functionality (e.g. ccm, dtest, or 
CqlTester methods) or abstract it there for reuse?</li>
+<li>If the code may be affected by multi-node clusters, are there dtests?</li>
+<li>If the code may take a long time to test properly, are there CVH 
tests?</li>
+<li>Is the test passing on CI for all affected branches (up to trunk, if 
applicable)? Are there any regressions?</li>
+<li>If patch affects read/write path, did we test for performance regressions 
w/multiple workloads?</li>
+<li>If adding a new feature, were tests added and performed confirming it 
meets the expected SLA/use-case requirements for the feature?</li>
+</ul>
+</div></blockquote>
+<p><strong>Logging</strong></p>
+<blockquote>
+<div><ul class="simple">
+<li>Are logging statements logged at the correct level?</li>
+<li>Are there logs in the critical path that could affect performance?</li>
+<li>Is there any log that could be added to communicate status or troubleshoot 
potential problems in this feature?</li>
+<li>Can any unnecessary logging statement be removed?</li>
+</ul>
+</div></blockquote>
+</div>
+
+
+
+          
+          <div class="doc-prev-next-links" role="navigation" 
aria-label="footer navigation">
+            
+            <a href="how_to_commit.html" class="btn btn-default pull-right " 
role="button" title="How-to Commit" accesskey="n">Next <span class="glyphicon 
glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
+            
+            
+            <a href="code_style.html" class="btn btn-default" role="button" 
title="Code Style" accesskey="p"><span class="glyphicon 
glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
+            
+          </div>
+          
+        </div>
+      </div>
+    </div>
+    <div class="col-md-2">
+    </div>
+  </div>
+</div>
\ No newline at end of file

Added: cassandra/site/src/doc/3.10/development/ide.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/development/ide.html?rev=1757419&view=auto
==============================================================================
--- cassandra/site/src/doc/3.10/development/ide.html (added)
+++ cassandra/site/src/doc/3.10/development/ide.html Tue Aug 23 19:25:17 2016
@@ -0,0 +1,232 @@
+---
+layout: docpage
+
+title: "Documentation"
+
+is_homepage: false
+is_sphinx_doc: true
+
+doc-parent: "Cassandra Development"
+
+doc-title: "Building and IDE Integration"
+doc-header-links: '
+  <link rel="top" title="Apache Cassandra Documentation v3.10" 
href="../index.html"/>
+      <link rel="up" title="Cassandra Development" href="index.html"/>
+      <link rel="next" title="Testing" href="testing.html"/>
+      <link rel="prev" title="Cassandra Development" href="index.html"/>
+'
+doc-search-path: "../search.html"
+
+extra-footer: '
+<script type="text/javascript">
+    var DOCUMENTATION_OPTIONS = {
+      URL_ROOT:    "",
+      VERSION:     "",
+      COLLAPSE_INDEX: false,
+      FILE_SUFFIX: ".html",
+      HAS_SOURCE:  false,
+      SOURCELINK_SUFFIX: ""
+    };
+</script>
+'
+
+---
+<div class="container-fluid">
+  <div class="row">
+    <div class="col-md-2">
+      <div class="doc-navigation">
+        <div class="doc-menu" role="navigation">
+          <div class="navbar-header">
+            <button type="button" class="pull-left navbar-toggle" 
data-toggle="collapse" data-target=".sidebar-navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+          </div>
+          <div class="navbar-collapse collapse sidebar-navbar-collapse">
+            <form id="doc-search-form" class="navbar-form" 
action="../search.html" method="get" role="search">
+              <div class="form-group">
+                <input type="text" size="30" class="form-control input-sm" 
name="q" placeholder="Search docs">
+                <input type="hidden" name="check_keywords" value="yes" />
+                <input type="hidden" name="area" value="default" />
+              </div>
+            </form>
+            
+            
+            
+            <ul 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="../architecture/index.html">Architecture</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="../cql/index.html">The Cassandra Query Language (CQL)</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"><a class="reference internal" 
href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Cassandra Development</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" 
href="#">Building and IDE Integration</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="#building-from-source">Building From Source</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#setting-up-cassandra-in-intellij-idea">Setting up Cassandra in IntelliJ 
IDEA</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#setting-up-cassandra-in-eclipse">Setting up Cassandra in Eclipse</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="testing.html">Testing</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="patches.html">Contributing Code Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html">Code Style</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_review.html">Review Checklist</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_commit.html">How-to Commit</a></li>
+</ul>
+</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>
+</ul>
+
+            
+            
+          </div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+    <div class="col-md-8">
+      <div class="content doc-content">
+        <div class="container">
+          
+  <div class="section" id="building-and-ide-integration">
+<h1>Building and IDE Integration<a class="headerlink" 
href="#building-and-ide-integration" title="Permalink to this 
headline">¶</a></h1>
+<div class="section" id="building-from-source">
+<h2>Building From Source<a class="headerlink" href="#building-from-source" 
title="Permalink to this headline">¶</a></h2>
+<p>Getting started with Cassandra and IntelliJ IDEA or Eclipse is simple, once 
you manage to build Cassandra from source using <a class="reference external" 
href="http://www.oracle.com/technetwork/java/javase/downloads/index.html";>Java 
8</a>, <a class="reference external" href="https://git-scm.com/";>Git</a> and <a 
class="reference external" href="http://ant.apache.org/";>Ant</a>.</p>
+<p>The source code for Cassandra is shared through the central Apache Git 
repository and organized by different branches. You can access the code for the 
current development branch through git as follows:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span 
class="n">git</span> <span class="n">clone</span> <span 
class="n">http</span><span class="p">:</span><span class="o">//</span><span 
class="n">git</span><span class="o">-</span><span class="n">wip</span><span 
class="o">-</span><span class="n">us</span><span class="o">.</span><span 
class="n">apache</span><span class="o">.</span><span class="n">org</span><span 
class="o">/</span><span class="n">repos</span><span class="o">/</span><span 
class="n">asf</span><span class="o">/</span><span 
class="n">cassandra</span><span class="o">.</span><span class="n">git</span> 
<span class="n">cassandra</span><span class="o">-</span><span 
class="n">trunk</span>
+</pre></div>
+</div>
+<p>Other branches will point to different versions of Cassandra. Switching to 
a different branch requires checking out the branch by its name:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span 
class="n">git</span> <span class="n">checkout</span> <span 
class="n">cassandra</span><span class="o">-</span><span class="mf">3.0</span>
+</pre></div>
+</div>
+<p>You can get a list of available branches with <code class="docutils 
literal"><span class="pre">git</span> <span 
class="pre">branch</span></code>.</p>
+<p>Finally build Cassandra using ant:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span 
class="n">ant</span>
+</pre></div>
+</div>
+<p>This may take a significant amount of time depending on whether artifacts 
have to be downloaded and the number of classes that need to be compiled.</p>
+<div class="admonition hint">
+<p class="first admonition-title">Hint</p>
+<p class="last">You can setup multiple working trees for different Cassandra 
versions from the same repository using <a class="reference external" 
href="https://git-scm.com/docs/git-worktree";>git-worktree</a>.</p>
+</div>
+</div>
+<div class="section" id="setting-up-cassandra-in-intellij-idea">
+<h2>Setting up Cassandra in IntelliJ IDEA<a class="headerlink" 
href="#setting-up-cassandra-in-intellij-idea" title="Permalink to this 
headline">¶</a></h2>
+<p><a class="reference external" 
href="https://www.jetbrains.com/idea/";>IntelliJ IDEA</a> by JetBrains is one of 
the most popular IDEs for Cassandra and Java development in general. The 
Community Edition is provided as a free download with all features needed to 
get started developing Cassandra.</p>
+<div class="section" id="setup-cassandra-as-a-project-c-2-1-and-newer">
+<h3>Setup Cassandra as a Project (C* 2.1 and newer)<a class="headerlink" 
href="#setup-cassandra-as-a-project-c-2-1-and-newer" title="Permalink to this 
headline">¶</a></h3>
+<p>Since 2.1.5, there is a new ant target: <code class="docutils 
literal"><span class="pre">generate-idea-files</span></code>. Please see our <a 
class="reference external" 
href="https://wiki.apache.org/cassandra/RunningCassandraInIDEA";>wiki</a> for 
instructions for older Cassandra versions.</p>
+<p>Please clone and build Cassandra as described above and execute the 
following steps:</p>
+<ol class="arabic simple">
+<li>Once Cassandra is built, generate the IDEA files using ant:</li>
+</ol>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span 
class="n">ant</span> <span class="n">generate</span><span 
class="o">-</span><span class="n">idea</span><span class="o">-</span><span 
class="n">files</span>
+</pre></div>
+</div>
+<ol class="arabic simple" start="2">
+<li>Start IDEA</li>
+<li>Open the IDEA project from the checked out Cassandra directory using the 
menu item Open in IDEA&#8217;s File menu</li>
+</ol>
+<p>The project generated by the ant task <code class="docutils literal"><span 
class="pre">generate-idea-files</span></code> contains nearly everything you 
need to debug Cassandra and execute unit tests.</p>
+<blockquote>
+<div><ul class="simple">
+<li>Run/debug defaults for JUnit</li>
+<li>Run/debug configuration for Cassandra daemon</li>
+<li>License header for Java source files</li>
+<li>Cassandra code style</li>
+<li>Inspections</li>
+</ul>
+</div></blockquote>
+</div>
+</div>
+<div class="section" id="setting-up-cassandra-in-eclipse">
+<h2>Setting up Cassandra in Eclipse<a class="headerlink" 
href="#setting-up-cassandra-in-eclipse" title="Permalink to this 
headline">¶</a></h2>
+<p>Eclipse is a popular open source IDE that can be used for Cassandra 
development. Various Eclipse environments are available from the <a 
class="reference external" 
href="https://www.eclipse.org/downloads/eclipse-packages/";>download page</a>. 
The following guide was created with &#8220;Eclipse IDE for Java 
Developers&#8221;.</p>
+<p>These instructions were tested on Ubuntu 16.04 with Eclipse Neon (4.6) 
using Cassandra 2.1, 2.2 and 3.x.</p>
+<div class="section" id="project-settings">
+<h3>Project Settings<a class="headerlink" href="#project-settings" 
title="Permalink to this headline">¶</a></h3>
+<p><strong>It is important that you generate the Eclipse files with Ant before 
trying to set up the Eclipse project.</strong></p>
+<blockquote>
+<div><ul class="simple">
+<li>Clone and build Cassandra as described above.</li>
+<li>Run <code class="docutils literal"><span class="pre">ant</span> <span 
class="pre">generate-eclipse-files</span></code> to create the Eclipse 
settings.</li>
+<li>Start Eclipse.</li>
+<li>Select <code class="docutils literal"><span 
class="pre">File-&gt;Import-&gt;Existing</span> <span 
class="pre">Projects</span> <span class="pre">into</span> <span 
class="pre">Workspace-&gt;Select</span> <span class="pre">git</span> <span 
class="pre">directory</span></code>.</li>
+<li>Make sure &#8220;cassandra-trunk&#8221; is recognized and selected as a 
project (assuming you checked the code out into the folder cassandra-trunk as 
described above).</li>
+<li>Confirm &#8220;Finish&#8221; to have your project imported.</li>
+</ul>
+</div></blockquote>
+<p>You should now be able to find the project as part of the &#8220;Package 
Explorer&#8221; or &#8220;Project Explorer&#8221; without having Eclipse 
complain about any errors after building the project automatically.</p>
+</div>
+<div class="section" id="unit-tests">
+<h3>Unit Tests<a class="headerlink" href="#unit-tests" title="Permalink to 
this headline">¶</a></h3>
+<p>Unit tests can be run from Eclipse by simply right-clicking the class file 
or method and selecting <code class="docutils literal"><span 
class="pre">Run</span> <span class="pre">As-&gt;JUnit</span> <span 
class="pre">Test</span></code>. Tests can be debugged this way as well by 
defining breakpoints (double-click line number) and selecting <code 
class="docutils literal"><span class="pre">Debug</span> <span 
class="pre">As-&gt;JUnit</span> <span class="pre">Test</span></code>.</p>
+<p>Alternatively all unit tests can be run from the command line as described 
in <a class="reference internal" href="testing.html"><span 
class="doc">Testing</span></a></p>
+</div>
+<div class="section" id="debugging-cassandra-using-eclipse">
+<h3>Debugging Cassandra Using Eclipse<a class="headerlink" 
href="#debugging-cassandra-using-eclipse" title="Permalink to this 
headline">¶</a></h3>
+<p>There are two ways how to start and debug a local Cassandra instance with 
Eclipse. You can either start Cassandra just as you normally would by using the 
<code class="docutils literal"><span class="pre">./bin/cassandra</span></code> 
script and connect to the JVM through <a class="reference external" 
href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/introclientissues005.html";>remotely</a>
 from Eclipse or start Cassandra from Eclipse right away.</p>
+<div class="section" id="starting-cassandra-from-command-line">
+<h4>Starting Cassandra From Command Line<a class="headerlink" 
href="#starting-cassandra-from-command-line" title="Permalink to this 
headline">¶</a></h4>
+<blockquote>
+<div><ul class="simple">
+<li>Set environment variable to define remote debugging options for the JVM:
+<code class="docutils literal"><span class="pre">export</span> <span 
class="pre">JVM_EXTRA_OPTS=&quot;-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414&quot;</span></code></li>
+<li>Start Cassandra by executing the <code class="docutils literal"><span 
class="pre">./bin/cassandra</span></code></li>
+</ul>
+</div></blockquote>
+<p>Afterwards you should be able to connect to the running Cassandra process 
through the following steps:</p>
+<p>From the menu, select <code class="docutils literal"><span 
class="pre">Run-&gt;Debug</span> <span 
class="pre">Configurations..</span></code></p>
+<img alt="../_images/eclipse_debug0.png" src="../_images/eclipse_debug0.png" />
+<p>Create new remote application</p>
+<img alt="../_images/eclipse_debug1.png" src="../_images/eclipse_debug1.png" />
+<p>Configure connection settings by specifying a name and port 1414</p>
+<img alt="../_images/eclipse_debug2.png" src="../_images/eclipse_debug2.png" />
+<p>Afterwards confirm &#8220;Debug&#8221; to connect to the JVM and start 
debugging Cassandra!</p>
+</div>
+<div class="section" id="starting-cassandra-from-eclipse">
+<h4>Starting Cassandra From Eclipse<a class="headerlink" 
href="#starting-cassandra-from-eclipse" title="Permalink to this 
headline">¶</a></h4>
+<p>Cassandra can also be started directly from Eclipse if you don&#8217;t want 
to use the command line.</p>
+<p>From the menu, select <code class="docutils literal"><span 
class="pre">Run-&gt;Run</span> <span 
class="pre">Configurations..</span></code></p>
+<img alt="../_images/eclipse_debug3.png" src="../_images/eclipse_debug3.png" />
+<p>Create new application</p>
+<img alt="../_images/eclipse_debug4.png" src="../_images/eclipse_debug4.png" />
+<p>Specify name, project and main class <code class="docutils literal"><span 
class="pre">org.apache.cassandra.service.CassandraDaemon</span></code></p>
+<img alt="../_images/eclipse_debug5.png" src="../_images/eclipse_debug5.png" />
+<p>Configure additional JVM specific parameters that will start Cassandra with 
some of the settings created by the regular startup script. Change heap related 
values as needed.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span 
class="o">-</span><span class="n">Xms1024M</span> <span class="o">-</span><span 
class="n">Xmx1024M</span> <span class="o">-</span><span 
class="n">Xmn220M</span> <span class="o">-</span><span class="n">Xss256k</span> 
<span class="o">-</span><span class="n">ea</span> <span class="o">-</span><span 
class="n">XX</span><span class="p">:</span><span class="o">+</span><span 
class="n">UseThreadPriorities</span> <span class="o">-</span><span 
class="n">XX</span><span class="p">:</span><span 
class="n">ThreadPriorityPolicy</span><span class="o">=</span><span 
class="mi">42</span> <span class="o">-</span><span class="n">XX</span><span 
class="p">:</span><span class="o">+</span><span class="n">UseParNewGC</span> 
<span class="o">-</span><span class="n">XX</span><span class="p">:</span><span 
class="o">+</span><span class="n">UseConcMarkSweepGC</span> <span 
class="o">-</span><span class="n">XX</span><span class="p">:</span><s
 pan class="o">+</span><span class="n">CMSParallelRemarkEnabled</span> <span 
class="o">-</span><span class="n">XX</span><span class="p">:</span><span 
class="o">+</span><span class="n">UseCondCardMark</span> <span 
class="o">-</span><span class="n">javaagent</span><span class="p">:</span><span 
class="o">./</span><span class="n">lib</span><span class="o">/</span><span 
class="n">jamm</span><span class="o">-</span><span class="mf">0.3</span><span 
class="o">.</span><span class="mf">0.</span><span class="n">jar</span> <span 
class="o">-</span><span class="n">Djava</span><span class="o">.</span><span 
class="n">net</span><span class="o">.</span><span 
class="n">preferIPv4Stack</span><span class="o">=</span><span 
class="n">true</span>
+</pre></div>
+</div>
+<img alt="../_images/eclipse_debug6.png" src="../_images/eclipse_debug6.png" />
+<p>Now just confirm &#8220;Debug&#8221; and you should see the output of 
Cassandra starting up in the Eclipse console and should be able to set 
breakpoints and start debugging!</p>
+</div>
+</div>
+</div>
+</div>
+
+
+
+          
+          <div class="doc-prev-next-links" role="navigation" 
aria-label="footer navigation">
+            
+            <a href="testing.html" class="btn btn-default pull-right " 
role="button" title="Testing" accesskey="n">Next <span class="glyphicon 
glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
+            
+            
+            <a href="index.html" class="btn btn-default" role="button" 
title="Cassandra Development" accesskey="p"><span class="glyphicon 
glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
+            
+          </div>
+          
+        </div>
+      </div>
+    </div>
+    <div class="col-md-2">
+    </div>
+  </div>
+</div>
\ No newline at end of file

Added: cassandra/site/src/doc/3.10/development/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/development/index.html?rev=1757419&view=auto
==============================================================================
--- cassandra/site/src/doc/3.10/development/index.html (added)
+++ cassandra/site/src/doc/3.10/development/index.html Tue Aug 23 19:25:17 2016
@@ -0,0 +1,144 @@
+---
+layout: docpage
+
+title: "Documentation"
+
+is_homepage: false
+is_sphinx_doc: true
+
+doc-title: "Cassandra Development"
+doc-header-links: '
+  <link rel="top" title="Apache Cassandra Documentation v3.10" 
href="../index.html"/>
+      <link rel="next" title="Building and IDE Integration" href="ide.html"/>
+      <link rel="prev" title="Troubleshooting" 
href="../troubleshooting/index.html"/>
+'
+doc-search-path: "../search.html"
+
+extra-footer: '
+<script type="text/javascript">
+    var DOCUMENTATION_OPTIONS = {
+      URL_ROOT:    "",
+      VERSION:     "",
+      COLLAPSE_INDEX: false,
+      FILE_SUFFIX: ".html",
+      HAS_SOURCE:  false,
+      SOURCELINK_SUFFIX: ""
+    };
+</script>
+'
+
+---
+<div class="container-fluid">
+  <div class="row">
+    <div class="col-md-2">
+      <div class="doc-navigation">
+        <div class="doc-menu" role="navigation">
+          <div class="navbar-header">
+            <button type="button" class="pull-left navbar-toggle" 
data-toggle="collapse" data-target=".sidebar-navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+          </div>
+          <div class="navbar-collapse collapse sidebar-navbar-collapse">
+            <form id="doc-search-form" class="navbar-form" 
action="../search.html" method="get" role="search">
+              <div class="form-group">
+                <input type="text" size="30" class="form-control input-sm" 
name="q" placeholder="Search docs">
+                <input type="hidden" name="check_keywords" value="yes" />
+                <input type="hidden" name="area" value="default" />
+              </div>
+            </form>
+            
+            
+            
+            <ul 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="../architecture/index.html">Architecture</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="../cql/index.html">The Cassandra Query Language (CQL)</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"><a class="reference internal" 
href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" 
href="#">Cassandra Development</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="ide.html">Building 
and IDE Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="testing.html">Testing</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="patches.html">Contributing Code Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html">Code Style</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_review.html">Review Checklist</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_commit.html">How-to Commit</a></li>
+</ul>
+</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>
+</ul>
+
+            
+            
+          </div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+    <div class="col-md-8">
+      <div class="content doc-content">
+        <div class="container">
+          
+  <div class="section" id="cassandra-development">
+<h1>Cassandra Development<a class="headerlink" href="#cassandra-development" 
title="Permalink to this headline">¶</a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="ide.html">Building 
and IDE Integration</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="ide.html#building-from-source">Building From Source</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="ide.html#setting-up-cassandra-in-intellij-idea">Setting up Cassandra in 
IntelliJ IDEA</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="ide.html#setting-up-cassandra-in-eclipse">Setting up Cassandra in 
Eclipse</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="testing.html">Testing</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="testing.html#unit-testing">Unit Testing</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="testing.html#dtests">DTests</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="testing.html#performance-testing">Performance Testing</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="patches.html">Contributing Code Changes</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="patches.html#choosing-what-to-work-on">Choosing What to Work on</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="patches.html#before-you-start-coding">Before You Start Coding</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="patches.html#creating-a-patch">Creating a Patch</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="code_style.html">Code Style</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html#general-code-conventions">General Code 
Conventions</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html#exception-handling">Exception handling</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html#boilerplate">Boilerplate</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html#multiline-statements">Multiline statements</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html#whitespace">Whitespace</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html#imports">Imports</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html#format-files-for-ides">Format files for IDEs</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="how_to_review.html">Review Checklist</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="how_to_commit.html">How-to Commit</a></li>
+</ul>
+</div>
+</div>
+
+
+
+          
+          <div class="doc-prev-next-links" role="navigation" 
aria-label="footer navigation">
+            
+            <a href="ide.html" class="btn btn-default pull-right " 
role="button" title="Building and IDE Integration" accesskey="n">Next <span 
class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
+            
+            
+            <a href="../troubleshooting/index.html" class="btn btn-default" 
role="button" title="Troubleshooting" accesskey="p"><span class="glyphicon 
glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
+            
+          </div>
+          
+        </div>
+      </div>
+    </div>
+    <div class="col-md-2">
+    </div>
+  </div>
+</div>
\ No newline at end of file

Added: cassandra/site/src/doc/3.10/development/patches.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/development/patches.html?rev=1757419&view=auto
==============================================================================
--- cassandra/site/src/doc/3.10/development/patches.html (added)
+++ cassandra/site/src/doc/3.10/development/patches.html Tue Aug 23 19:25:17 
2016
@@ -0,0 +1,249 @@
+---
+layout: docpage
+
+title: "Documentation"
+
+is_homepage: false
+is_sphinx_doc: true
+
+doc-parent: "Cassandra Development"
+
+doc-title: "Contributing Code Changes"
+doc-header-links: '
+  <link rel="top" title="Apache Cassandra Documentation v3.10" 
href="../index.html"/>
+      <link rel="up" title="Cassandra Development" href="index.html"/>
+      <link rel="next" title="Code Style" href="code_style.html"/>
+      <link rel="prev" title="Testing" href="testing.html"/>
+'
+doc-search-path: "../search.html"
+
+extra-footer: '
+<script type="text/javascript">
+    var DOCUMENTATION_OPTIONS = {
+      URL_ROOT:    "",
+      VERSION:     "",
+      COLLAPSE_INDEX: false,
+      FILE_SUFFIX: ".html",
+      HAS_SOURCE:  false,
+      SOURCELINK_SUFFIX: ""
+    };
+</script>
+'
+
+---
+<div class="container-fluid">
+  <div class="row">
+    <div class="col-md-2">
+      <div class="doc-navigation">
+        <div class="doc-menu" role="navigation">
+          <div class="navbar-header">
+            <button type="button" class="pull-left navbar-toggle" 
data-toggle="collapse" data-target=".sidebar-navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+          </div>
+          <div class="navbar-collapse collapse sidebar-navbar-collapse">
+            <form id="doc-search-form" class="navbar-form" 
action="../search.html" method="get" role="search">
+              <div class="form-group">
+                <input type="text" size="30" class="form-control input-sm" 
name="q" placeholder="Search docs">
+                <input type="hidden" name="check_keywords" value="yes" />
+                <input type="hidden" name="area" value="default" />
+              </div>
+            </form>
+            
+            
+            
+            <ul 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="../architecture/index.html">Architecture</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="../cql/index.html">The Cassandra Query Language (CQL)</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"><a class="reference internal" 
href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Cassandra Development</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="ide.html">Building 
and IDE Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="testing.html">Testing</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" 
href="#">Contributing Code Changes</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="#choosing-what-to-work-on">Choosing What to Work on</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#before-you-start-coding">Before You Start Coding</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#creating-a-patch">Creating a Patch</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html">Code Style</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_review.html">Review Checklist</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_commit.html">How-to Commit</a></li>
+</ul>
+</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>
+</ul>
+
+            
+            
+          </div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+    <div class="col-md-8">
+      <div class="content doc-content">
+        <div class="container">
+          
+  <div class="section" id="contributing-code-changes">
+<h1>Contributing Code Changes<a class="headerlink" 
href="#contributing-code-changes" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="choosing-what-to-work-on">
+<h2>Choosing What to Work on<a class="headerlink" 
href="#choosing-what-to-work-on" title="Permalink to this headline">¶</a></h2>
+<p>Submitted patches can include bug fixes, changes to the Java code base, 
improvements for tooling (both Java or Python), documentation, testing or any 
other changes that requires changing the code base. Although the process of 
contributing code is always the same, the amount of work and time it takes to 
get a patch accepted also depends on the kind of issue you&#8217;re 
addressing.</p>
+<dl class="docutils">
+<dt>As a general rule of thumb:</dt>
+<dd><ul class="first last simple">
+<li>Major new features and significant changes to the code based will likely 
not going to be accepted without deeper discussion within the <a 
class="reference external" 
href="http://cassandra.apache.org/community/";>developer community</a></li>
+<li>Bug fixes take higher priority compared to features</li>
+<li>The extend to which tests are required depend on how likely your changes 
will effect the stability of Cassandra in production. Tooling changes requires 
fewer tests than storage engine changes.</li>
+<li>Less complex patches will be faster to review: consider breaking up an 
issue into individual tasks and contributions that can be reviewed 
separately</li>
+</ul>
+</dd>
+</dl>
+<div class="admonition hint">
+<p class="first admonition-title">Hint</p>
+<p class="last">Not sure what to work? Just pick an issue tagged with the <a 
class="reference external" 
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+=+12310865+AND+labels+=+lhf+AND+status+!=+resolved";>low
 hanging fruit label</a> in JIRA, which we use to flag issues that could turn 
out to be good starter tasks for beginners.</p>
+</div>
+</div>
+<div class="section" id="before-you-start-coding">
+<h2>Before You Start Coding<a class="headerlink" 
href="#before-you-start-coding" title="Permalink to this headline">¶</a></h2>
+<p>Although contributions are highly appreciated, we do not guarantee that 
each contribution will become a part of Cassandra. Therefor it&#8217;s 
generally a good idea to first get some feedback on the things you plan to work 
on, especially about any new features or major changes to the code base. You 
can reach out to other developers on the mailing list or IRC channel listed on 
our <a class="reference external" 
href="http://cassandra.apache.org/community/";>community page</a>.</p>
+<dl class="docutils">
+<dt>You should also</dt>
+<dd><ul class="first last simple">
+<li>Avoid redundant work by searching for already reported issues in <a 
class="reference external" 
href="https://issues.apache.org/jira/browse/CASSANDRA";>JIRA</a></li>
+<li>Create a new issue early in the process describing what you&#8217;re 
working on - not just after finishing your patch</li>
+<li>Link related JIRA issues with your own ticket to provide a better 
context</li>
+<li>Update your ticket from time to time by giving feedback on your progress 
and link a GitHub WIP branch with your current code</li>
+<li>Ping people who you actively like to ask for advice on JIRA by <a 
class="reference external" 
href="https://confluence.atlassian.com/conf54/confluence-user-s-guide/sharing-content/using-mentions";>mentioning
 users</a></li>
+</ul>
+</dd>
+<dt>There are also some fixed rules that you need to be aware:</dt>
+<dd><ul class="first last simple">
+<li>Patches will only be applied to branches by following the release 
model</li>
+<li>Code must be testable</li>
+<li>Code must follow the <a class="reference internal" 
href="code_style.html"><span class="doc">Code Style</span></a> convention</li>
+<li>Changes must not break compatibility between different Cassandra 
versions</li>
+<li>Contributions must be covered by the Apache License</li>
+</ul>
+</dd>
+</dl>
+<div class="section" id="choosing-the-right-branches-to-work-on">
+<h3>Choosing the Right Branches to Work on<a class="headerlink" 
href="#choosing-the-right-branches-to-work-on" title="Permalink to this 
headline">¶</a></h3>
+<p>There are currently multiple Cassandra versions maintained in individual 
branches:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="23%" />
+<col width="77%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Version</th>
+<th class="head">Policy</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>3.x</td>
+<td>Tick-tock (see below)</td>
+</tr>
+<tr class="row-odd"><td>3.0</td>
+<td>Bug fixes only</td>
+</tr>
+<tr class="row-even"><td>2.2</td>
+<td>Bug fixes only</td>
+</tr>
+<tr class="row-odd"><td>2.1</td>
+<td>Critical bug fixes only</td>
+</tr>
+</tbody>
+</table>
+<p>Corresponding branches in git are easy to recognize as they are named <code 
class="docutils literal"><span 
class="pre">cassandra-&lt;release&gt;</span></code> (e.g. <code class="docutils 
literal"><span class="pre">cassandra-3.0</span></code>). The <code 
class="docutils literal"><span class="pre">trunk</span></code> branch is an 
exception, as it contains the most recent commits from all other branches and 
is used for creating new branches for future tick-tock releases.</p>
+<div class="section" id="tick-tock-releases">
+<h4>Tick-Tock Releases<a class="headerlink" href="#tick-tock-releases" 
title="Permalink to this headline">¶</a></h4>
+<p>New releases created as part of the <a class="reference external" 
href="http://www.planetcassandra.org/blog/cassandra-2-2-3-0-and-beyond/";>tick-tock
 release process</a> will either focus on stability (odd version numbers) or 
introduce new features (even version numbers). Any code for new Cassandra 
features you should be based on the latest, unreleased 3.x branch with even 
version number or based on trunk.</p>
+</div>
+<div class="section" id="bug-fixes">
+<h4>Bug Fixes<a class="headerlink" href="#bug-fixes" title="Permalink to this 
headline">¶</a></h4>
+<p>Creating patches for bug fixes is a bit more complicated as this will 
depend on how many different versions of Cassandra are affected. In each case, 
the order for merging such changes will be <code class="docutils literal"><span 
class="pre">cassandra-2.1</span></code> -&gt; <code class="docutils 
literal"><span class="pre">cassandra-2.2</span></code> -&gt; <code 
class="docutils literal"><span class="pre">cassandra-3.0</span></code> -&gt; 
<code class="docutils literal"><span class="pre">cassandra-3.x</span></code> 
-&gt; <code class="docutils literal"><span class="pre">trunk</span></code>. But 
don&#8217;t worry, merging from 2.1 would be the worst case for bugs that 
affect all currently supported versions, which isn&#8217;t very common. As a 
contributor, you&#8217;re also not expected to provide a single patch for each 
version. What you need to do however is:</p>
+<blockquote>
+<div><ul class="simple">
+<li>Be clear about which versions you could verify to be affected by the 
bug</li>
+<li>For 2.x: ask if a bug qualifies to be fixed in this release line, as this 
may be handled on case by case bases</li>
+<li>If possible, create a patch against the lowest version in the branches 
listed above (e.g. if you found the bug in 3.9 you should try to fix it already 
in 3.0)</li>
+<li>Test if the patch can be merged cleanly across branches in the direction 
listed above</li>
+<li>Be clear which branches may need attention by the committer or even create 
custom patches for those if you can</li>
+</ul>
+</div></blockquote>
+</div>
+</div>
+</div>
+<div class="section" id="creating-a-patch">
+<h2>Creating a Patch<a class="headerlink" href="#creating-a-patch" 
title="Permalink to this headline">¶</a></h2>
+<p>So you&#8217;ve finished coding and the great moment arrives: it&#8217;s 
time to submit your patch!</p>
+<blockquote>
+<div><ol class="arabic simple">
+<li>Create a branch for your changes if you haven&#8217;t done already. Many 
contributors name their branches based on ticket number and Cassandra version, 
e.g. <code class="docutils literal"><span class="pre">git</span> <span 
class="pre">checkout</span> <span class="pre">-b</span> <span 
class="pre">12345-3.0</span></code></li>
+<li>Verify that you follow Cassandra&#8217;s <a class="reference internal" 
href="code_style.html"><span class="doc">Code Style</span></a></li>
+<li>Make sure all tests (including yours) pass using ant as described in <a 
class="reference internal" href="testing.html"><span 
class="doc">Testing</span></a>. If you suspect a test failure is unrelated to 
your change, it may be useful to check the test&#8217;s status by searching the 
issue tracker or looking at <a class="reference external" 
href="https://cassci.datastax.com/";>CI</a> results for the relevant upstream 
version.  Note that the full test suites take many hours to complete, so it is 
common to only run specific relevant tests locally before uploading a patch.  
Once a patch has been uploaded, the reviewer or committer can help setup CI 
jobs to run the full test suites.</li>
+<li>Consider going through the <a class="reference internal" 
href="how_to_review.html"><span class="doc">Review Checklist</span></a> for 
your code. This will help you to understand how others will consider your 
change for inclusion.</li>
+<li>Don’t make the committer squash commits for you in the root branch 
either. Multiple commits are fine - and often preferable - during review stage, 
especially for incremental review, but once +1d, do either:</li>
+</ol>
+<blockquote>
+<div><ol class="loweralpha simple">
+<li>Attach a patch to JIRA with a single squashed commit in it (per branch), 
or</li>
+<li>Squash the commits in-place in your branches into one</li>
+</ol>
+</div></blockquote>
+<ol class="arabic simple" start="6">
+<li>Include a CHANGES.txt entry (put it at the top of the list), and format 
the commit message appropriately in your patch ending with the following 
statement on the last line: <code class="docutils literal"><span 
class="pre">patch</span> <span class="pre">by</span> <span 
class="pre">X;</span> <span class="pre">reviewed</span> <span 
class="pre">by</span> <span class="pre">Y</span> <span class="pre">for</span> 
<span class="pre">CASSANDRA-ZZZZZ</span></code></li>
+<li>When you&#8217;re happy with the result, create a patch:</li>
+</ol>
+<blockquote>
+<div><div class="highlight-none"><div class="highlight"><pre><span></span>git 
add &lt;any new or modified file&gt;
+git commit -m &#39;&lt;message&gt;&#39;
+git format-patch HEAD~1
+mv &lt;patch-file&gt; &lt;ticket-branchname.txt&gt; (e.g. 12345-trunk.txt, 
12345-3.0.txt)
+</pre></div>
+</div>
+<p>Alternatively, many contributors prefer to make their branch available on 
GitHub. In this case, fork the Cassandra repository on GitHub and push your 
branch:</p>
+<div class="highlight-none"><div class="highlight"><pre><span></span>git push 
--set-upstream origin 12345-3.0
+</pre></div>
+</div>
+</div></blockquote>
+<ol class="arabic simple" start="8">
+<li>To make life easier for your reviewer/committer, you may want to make sure 
your patch applies cleanly to later branches and create additional 
patches/branches for later Cassandra versions to which your original patch does 
not apply cleanly. That said, this is not critical, and you will receive 
feedback on your patch regardless.</li>
+<li>Attach the newly generated patch to the ticket/add a link to your branch 
and click &#8220;Submit Patch&#8221; at the top of the ticket. This will move 
the ticket into &#8220;Patch Available&#8221; status, indicating that your 
submission is ready for review.</li>
+<li>Wait for other developers or committers to review it and hopefully +1 the 
ticket (see <a class="reference internal" href="how_to_review.html"><span 
class="doc">Review Checklist</span></a>). If your change does not receive a +1, 
do not be discouraged. If possible, the reviewer will give suggestions to 
improve your patch or explain why it is not suitable.</li>
+<li>If the reviewer has given feedback to improve the patch, make the 
necessary changes and move the ticket into &#8220;Patch Available&#8221; once 
again.</li>
+</ol>
+</div></blockquote>
+<p>Once the review process is complete, you will receive a +1. Wait for a 
committer to commit it. Do not delete your branches immediately after they’ve 
been committed - keep them on GitHub for a while. Alternatively, attach a patch 
to JIRA for historical record. It’s not that uncommon for a committer to mess 
up a merge. In case of that happening, access to the original code is required, 
or else you’ll have to redo some of the work.</p>
+</div>
+</div>
+
+
+
+          
+          <div class="doc-prev-next-links" role="navigation" 
aria-label="footer navigation">
+            
+            <a href="code_style.html" class="btn btn-default pull-right " 
role="button" title="Code Style" accesskey="n">Next <span class="glyphicon 
glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
+            
+            
+            <a href="testing.html" class="btn btn-default" role="button" 
title="Testing" accesskey="p"><span class="glyphicon 
glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
+            
+          </div>
+          
+        </div>
+      </div>
+    </div>
+    <div class="col-md-2">
+    </div>
+  </div>
+</div>
\ No newline at end of file

Added: cassandra/site/src/doc/3.10/development/testing.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/development/testing.html?rev=1757419&view=auto
==============================================================================
--- cassandra/site/src/doc/3.10/development/testing.html (added)
+++ cassandra/site/src/doc/3.10/development/testing.html Tue Aug 23 19:25:17 
2016
@@ -0,0 +1,169 @@
+---
+layout: docpage
+
+title: "Documentation"
+
+is_homepage: false
+is_sphinx_doc: true
+
+doc-parent: "Cassandra Development"
+
+doc-title: "Testing"
+doc-header-links: '
+  <link rel="top" title="Apache Cassandra Documentation v3.10" 
href="../index.html"/>
+      <link rel="up" title="Cassandra Development" href="index.html"/>
+      <link rel="next" title="Contributing Code Changes" href="patches.html"/>
+      <link rel="prev" title="Building and IDE Integration" href="ide.html"/>
+'
+doc-search-path: "../search.html"
+
+extra-footer: '
+<script type="text/javascript">
+    var DOCUMENTATION_OPTIONS = {
+      URL_ROOT:    "",
+      VERSION:     "",
+      COLLAPSE_INDEX: false,
+      FILE_SUFFIX: ".html",
+      HAS_SOURCE:  false,
+      SOURCELINK_SUFFIX: ""
+    };
+</script>
+'
+
+---
+<div class="container-fluid">
+  <div class="row">
+    <div class="col-md-2">
+      <div class="doc-navigation">
+        <div class="doc-menu" role="navigation">
+          <div class="navbar-header">
+            <button type="button" class="pull-left navbar-toggle" 
data-toggle="collapse" data-target=".sidebar-navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+          </div>
+          <div class="navbar-collapse collapse sidebar-navbar-collapse">
+            <form id="doc-search-form" class="navbar-form" 
action="../search.html" method="get" role="search">
+              <div class="form-group">
+                <input type="text" size="30" class="form-control input-sm" 
name="q" placeholder="Search docs">
+                <input type="hidden" name="check_keywords" value="yes" />
+                <input type="hidden" name="area" value="default" />
+              </div>
+            </form>
+            
+            
+            
+            <ul 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="../architecture/index.html">Architecture</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="../cql/index.html">The Cassandra Query Language (CQL)</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"><a class="reference internal" 
href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Cassandra Development</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="ide.html">Building 
and IDE Integration</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" 
href="#">Testing</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#unit-testing">Unit 
Testing</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#dtests">DTests</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#performance-testing">Performance Testing</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="patches.html">Contributing Code Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="code_style.html">Code Style</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_review.html">Review Checklist</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="how_to_commit.html">How-to Commit</a></li>
+</ul>
+</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>
+</ul>
+
+            
+            
+          </div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+    <div class="col-md-8">
+      <div class="content doc-content">
+        <div class="container">
+          
+  <div class="section" id="testing">
+<h1>Testing<a class="headerlink" href="#testing" title="Permalink to this 
headline">¶</a></h1>
+<p>Creating tests is one of the most important and also most difficult parts 
of developing Cassandra. There are different ways to test your code depending 
on what you&#8217;re working on.</p>
+<div class="section" id="unit-testing">
+<h2>Unit Testing<a class="headerlink" href="#unit-testing" title="Permalink to 
this headline">¶</a></h2>
+<p>The most simple way to test code in Cassandra is probably by writing a unit 
test. Cassandra uses JUnit as a testing framework and test cases can be found 
in the <code class="docutils literal"><span class="pre">test/unit</span></code> 
directory. Ideally you’d be able to create a unit test for your 
implementation that would exclusively cover the class you created (the unit 
under test). Unfortunately this is not always possible and Cassandra doesn’t 
have a very mock friendly code base. Often you’ll find yourself in a 
situation where you have to make use of an embedded Cassandra instance that 
you’ll be able to interact with in your test. If you want to make use of CQL 
in your test, you can simply extend CQLTester and use some of the convenient 
helper methods such as in the following example.</p>
+<div class="highlight-java"><div class="highlight"><pre><span></span><span 
class="nd">@Test</span>
+<span class="kd">public</span> <span class="kt">void</span> <span 
class="nf">testBatchAndList</span><span class="o">()</span> <span 
class="kd">throws</span> <span class="n">Throwable</span>
+<span class="o">{</span>
+   <span class="n">createTable</span><span class="o">(</span><span 
class="s">&quot;CREATE TABLE %s (k int PRIMARY KEY, l 
list&lt;int&gt;)&quot;</span><span class="o">);</span>
+   <span class="n">execute</span><span class="o">(</span><span 
class="s">&quot;BEGIN BATCH &quot;</span> <span class="o">+</span>
+           <span class="s">&quot;UPDATE %1$s SET l = l +[ 1 ] WHERE k = 0; 
&quot;</span> <span class="o">+</span>
+           <span class="s">&quot;UPDATE %1$s SET l = l + [ 2 ] WHERE k = 0; 
&quot;</span> <span class="o">+</span>
+           <span class="s">&quot;UPDATE %1$s SET l = l + [ 3 ] WHERE k = 0; 
&quot;</span> <span class="o">+</span>
+           <span class="s">&quot;APPLY BATCH&quot;</span><span 
class="o">);</span>
+
+   <span class="n">assertRows</span><span class="o">(</span><span 
class="n">execute</span><span class="o">(</span><span class="s">&quot;SELECT l 
FROM %s WHERE k = 0&quot;</span><span class="o">),</span>
+              <span class="n">row</span><span class="o">(</span><span 
class="n">list</span><span class="o">(</span><span class="mi">1</span><span 
class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span 
class="mi">3</span><span class="o">)));</span>
+<span class="o">}</span>
+</pre></div>
+</div>
+<p>Unit tests can be run from the command line using the <code class="docutils 
literal"><span class="pre">ant</span> <span class="pre">test</span></code> 
command, <code class="docutils literal"><span class="pre">ant</span> <span 
class="pre">test</span> <span 
class="pre">-Dtest.name=&lt;simple_classname&gt;</span></code> to execute a 
test suite or <code class="docutils literal"><span class="pre">ant</span> <span 
class="pre">testsome</span> <span class="pre">-Dtest.name=&lt;FQCN&gt;</span> 
<span 
class="pre">-Dtest.methods=&lt;testmethod1&gt;[,testmethod2]</span></code> for 
individual tests.  For example, to run all test methods in the <code 
class="docutils literal"><span 
class="pre">org.apache.cassandra.cql3.SimpleQueryTest</span></code> class, you 
would run:</p>
+<div class="highlight-none"><div class="highlight"><pre><span></span>ant test 
-Dtest.name=SimpleQueryTest
+</pre></div>
+</div>
+<p>To run only the <code class="docutils literal"><span 
class="pre">testStaticCompactTables()</span></code> test method from that 
class, you would run:</p>
+<div class="highlight-none"><div class="highlight"><pre><span></span>ant 
testsome -Dtest.name=org.apache.cassandra.cql3.SimpleQueryTest 
-Dtest.methods=testStaticCompactTables
+</pre></div>
+</div>
+<div class="section" id="long-running-tests">
+<h3>Long running tests<a class="headerlink" href="#long-running-tests" 
title="Permalink to this headline">¶</a></h3>
+<p>Test that consume a significant amount of time during execution can be 
found in the <code class="docutils literal"><span 
class="pre">test/long</span></code> directory and executed as a regular JUnit 
test or standalone program. Except for the execution time, there’s nothing 
really special about them. However, ant will execute tests under <code 
class="docutils literal"><span class="pre">test/long</span></code> only when 
using the <code class="docutils literal"><span class="pre">ant</span> <span 
class="pre">long-test</span></code> target.</p>
+</div>
+</div>
+<div class="section" id="dtests">
+<h2>DTests<a class="headerlink" href="#dtests" title="Permalink to this 
headline">¶</a></h2>
+<p>One way of doing integration or system testing at larger scale is by using 
<a class="reference external" 
href="https://github.com/riptano/cassandra-dtest";>dtest</a>, which stands for 
“Cassandra Distributed Tests”. The idea is to automatically setup Cassandra 
clusters using various configurations and simulate certain use cases you want 
to test. This is done using Python scripts and <code class="docutils 
literal"><span class="pre">ccmlib</span></code> from the <a class="reference 
external" href="https://github.com/pcmanus/ccm";>ccm</a> project. Dtests will 
setup clusters using this library just as you do running ad-hoc <code 
class="docutils literal"><span class="pre">ccm</span></code> commands on your 
local machine. Afterwards dtests will use the <a class="reference external" 
href="http://datastax.github.io/python-driver/installation.html";>Python 
driver</a> to interact with the nodes, manipulate the file system, analyze logs 
or mess with individual nodes.</p>
+<p>Using dtests helps us to prevent regression bugs by continually executing 
tests on the <a class="reference external" 
href="http://cassci.datastax.com/";>CI server</a> against new patches. For 
frequent contributors, this Jenkins is set up to build branches from their 
GitHub repositories. It is likely that your reviewer will use this Jenkins 
instance to run tests for your patch. Read more on the motivation behind the CI 
server <a class="reference external" 
href="http://www.datastax.com/dev/blog/cassandra-testing-improvements-for-developer-convenience-and-confidence";>here</a>.</p>
+<p>The best way to learn how to write dtests is probably by reading the 
introduction &#8220;<a class="reference external" 
href="http://www.datastax.com/dev/blog/how-to-write-a-dtest";>How to Write a 
Dtest</a>&#8221; and by looking at existing, recently updated tests in the 
project. New tests must follow certain <a class="reference external" 
href="https://github.com/riptano/cassandra-dtest/blob/master/CONTRIBUTING.md";>style
 conventions</a> that are being checked before accepting contributions. In 
contrast to Cassandra, dtest issues and pull-requests are managed on github, 
therefor you should make sure to link any created dtests in your Cassandra 
ticket and also refer to the ticket number in your dtest PR.</p>
+<p>Creating a good dtest can be tough, but it should not prevent you from 
submitting patches! Please ask in the corresponding JIRA ticket how to write a 
good dtest for the patch. In most cases a reviewer or committer will able to 
support you, and in some cases they may offer to write a dtest for you.</p>
+</div>
+<div class="section" id="performance-testing">
+<h2>Performance Testing<a class="headerlink" href="#performance-testing" 
title="Permalink to this headline">¶</a></h2>
+<p>Performance tests for Cassandra are a special breed of tests that are not 
part of the usual patch contribution process. In fact you can contribute tons 
of patches to Cassandra without ever running performance tests. They are 
important however when working on performance improvements, as such 
improvements must be measurable.</p>
+<div class="section" id="cassandra-stress-tool">
+<h3>Cassandra Stress Tool<a class="headerlink" href="#cassandra-stress-tool" 
title="Permalink to this headline">¶</a></h3>
+<p>TODO: <a class="reference external" 
href="https://issues.apache.org/jira/browse/CASSANDRA-12365";>CASSANDRA-12365</a></p>
+</div>
+<div class="section" id="cstar-perf">
+<h3>cstar_perf<a class="headerlink" href="#cstar-perf" title="Permalink to 
this headline">¶</a></h3>
+<p>Another tool available on github is <a class="reference external" 
href="https://github.com/datastax/cstar_perf";>cstar_perf</a> that can be used 
for intensive performance testing in large clusters or locally. Please refer to 
the project page on how to set it up and how to use it.</p>
+</div>
+</div>
+</div>
+
+
+
+          
+          <div class="doc-prev-next-links" role="navigation" 
aria-label="footer navigation">
+            
+            <a href="patches.html" class="btn btn-default pull-right " 
role="button" title="Contributing Code Changes" accesskey="n">Next <span 
class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
+            
+            
+            <a href="ide.html" class="btn btn-default" role="button" 
title="Building and IDE Integration" accesskey="p"><span class="glyphicon 
glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
+            
+          </div>
+          
+        </div>
+      </div>
+    </div>
+    <div class="col-md-2">
+    </div>
+  </div>
+</div>
\ No newline at end of file


Reply via email to