Author: slebresne
Date: Wed Aug 31 13:51:55 2016
New Revision: 1758606
URL: http://svn.apache.org/viewvc?rev=1758606&view=rev
Log:
Pushes more missing things
Added:
cassandra/site/publish/doc/3.7/_images/
cassandra/site/publish/doc/3.7/_images/eclipse_debug0.png (with props)
cassandra/site/publish/doc/3.7/_images/eclipse_debug1.png (with props)
cassandra/site/publish/doc/3.7/_images/eclipse_debug2.png (with props)
cassandra/site/publish/doc/3.7/_images/eclipse_debug3.png (with props)
cassandra/site/publish/doc/3.7/_images/eclipse_debug4.png (with props)
cassandra/site/publish/doc/3.7/_images/eclipse_debug5.png (with props)
cassandra/site/publish/doc/3.7/_images/eclipse_debug6.png (with props)
cassandra/site/publish/doc/3.7/development/
cassandra/site/publish/doc/3.7/development/code_style.html
cassandra/site/publish/doc/3.7/development/how_to_commit.html
cassandra/site/publish/doc/3.7/development/how_to_review.html
cassandra/site/publish/doc/3.7/development/ide.html
cassandra/site/publish/doc/3.7/development/index.html
cassandra/site/publish/doc/3.7/development/patches.html
cassandra/site/publish/doc/3.7/development/testing.html
cassandra/site/publish/doc/latest/_images/
cassandra/site/publish/doc/latest/_images/eclipse_debug0.png (with props)
cassandra/site/publish/doc/latest/_images/eclipse_debug1.png (with props)
cassandra/site/publish/doc/latest/_images/eclipse_debug2.png (with props)
cassandra/site/publish/doc/latest/_images/eclipse_debug3.png (with props)
cassandra/site/publish/doc/latest/_images/eclipse_debug4.png (with props)
cassandra/site/publish/doc/latest/_images/eclipse_debug5.png (with props)
cassandra/site/publish/doc/latest/_images/eclipse_debug6.png (with props)
Added: cassandra/site/publish/doc/3.7/_images/eclipse_debug0.png
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/_images/eclipse_debug0.png?rev=1758606&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cassandra/site/publish/doc/3.7/_images/eclipse_debug0.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cassandra/site/publish/doc/3.7/_images/eclipse_debug1.png
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/_images/eclipse_debug1.png?rev=1758606&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cassandra/site/publish/doc/3.7/_images/eclipse_debug1.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cassandra/site/publish/doc/3.7/_images/eclipse_debug2.png
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/_images/eclipse_debug2.png?rev=1758606&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cassandra/site/publish/doc/3.7/_images/eclipse_debug2.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cassandra/site/publish/doc/3.7/_images/eclipse_debug3.png
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/_images/eclipse_debug3.png?rev=1758606&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cassandra/site/publish/doc/3.7/_images/eclipse_debug3.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cassandra/site/publish/doc/3.7/_images/eclipse_debug4.png
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/_images/eclipse_debug4.png?rev=1758606&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cassandra/site/publish/doc/3.7/_images/eclipse_debug4.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cassandra/site/publish/doc/3.7/_images/eclipse_debug5.png
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/_images/eclipse_debug5.png?rev=1758606&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cassandra/site/publish/doc/3.7/_images/eclipse_debug5.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cassandra/site/publish/doc/3.7/_images/eclipse_debug6.png
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/_images/eclipse_debug6.png?rev=1758606&view=auto
==============================================================================
Binary file - no diff available.
Propchange: cassandra/site/publish/doc/3.7/_images/eclipse_debug6.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: cassandra/site/publish/doc/3.7/development/code_style.html
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/development/code_style.html?rev=1758606&view=auto
==============================================================================
--- cassandra/site/publish/doc/3.7/development/code_style.html (added)
+++ cassandra/site/publish/doc/3.7/development/code_style.html Wed Aug 31
13:51:55 2016
@@ -0,0 +1,354 @@
+<!DOCTYPE html>
+<html>
+
+
+
+
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="The Apache Cassandra database is the right
choice when you need scalability and high availability without compromising
performance. Linear scalability and proven fault-tolerance on commodity
hardware or cloud infrastructure make it the perfect platform for
mission-critical data. Cassandra's support for replicating across multiple
datacenters is best-in-class, providing lower latency for your users and the
peace of mind of knowing that you can survive regional outages.
+">
+ <meta name="keywords" content="cassandra, apache, apache cassandra,
distributed storage, key value store, scalability, bigtable, dynamo" />
+ <meta name="robots" content="index,follow" />
+ <meta name="language" content="en" />
+
+ <title>Documentation</title>
+
+ <link rel="canonical"
href="http://cassandra.apache.org/doc/3.7/development/code_style.html">
+
+ <link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
crossorigin="anonymous">
+ <link rel="stylesheet" href="./../../../css/style.css">
+
+ <link rel="stylesheet" href="./../../../css/sphinx.css">
+
+
+ <link rel="top" title="Apache Cassandra Documentation v3.7"
href="../index.html"/> <link rel="up" title="Cassandra Development"
href="index.html"/> <link rel="next" title="Review Checklist"
href="how_to_review.html"/> <link rel="prev" title="Contributing Code Changes"
href="patches.html"/>
+</head>
+
+ <body>
+ <!-- breadcrumbs -->
+<div class="topnav">
+ <div class="container breadcrumb-container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <img class="asf-logo" src="./../../../img/asf_feather.png" />
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span
class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a
href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+
+ <li><a href="./../../../">Apache Cassandra</a></li>
+
+
+
+
+ <li><a href="./../../../doc">Documentation</a></li>
+
+
+
+
+ <li><a href="./">Cassandra Development</a></li>
+
+
+
+ <li>Code Style</li>
+
+ </ul>
+ </div>
+
+ <!-- navbar -->
+ <nav class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="./../../../"><img
src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
+ </div><!-- /.navbar-header -->
+
+ <div id="cassandra-menu" class="collapse navbar-collapse">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="./../../../">Home</a></li>
+ <li><a href="./../../../download/">Download</a></li>
+ <li><a href="./../../../doc/">Documentation</a></li>
+ <li><a href="./../../../community/">Community</a></li>
+ </ul>
+ </div><!-- /#cassandra-menu -->
+
+
+ </div>
+ </nav><!-- /.navbar -->
+</div><!-- /.topnav -->
+
+ <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 current"><a class="current reference internal"
href="#">Code Style</a><ul>
+<li class="toctree-l3"><a class="reference internal"
href="#general-code-conventions">General Code Conventions</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="#exception-handling">Exception handling</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="#boilerplate">Boilerplate</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="#multiline-statements">Multiline statements</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="#whitespace">Whitespace</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="#imports">Imports</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="#format-files-for-ides">Format files for IDEs</a></li>
+</ul>
+</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="code-style">
+<h1>Code Style<a class="headerlink" href="#code-style" title="Permalink to
this headline">¶</a></h1>
+<div class="section" id="general-code-conventions">
+<h2>General Code Conventions<a class="headerlink"
href="#general-code-conventions" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+<div><ul class="simple">
+<li>The Cassandra project follows <a class="reference external"
href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">Sun’s
Java coding conventions</a> with an important exception: <code class="docutils
literal"><span class="pre">{</span></code> and <code class="docutils
literal"><span class="pre">}</span></code> are always placed on a new line</li>
+</ul>
+</div></blockquote>
+</div>
+<div class="section" id="exception-handling">
+<h2>Exception handling<a class="headerlink" href="#exception-handling"
title="Permalink to this headline">¶</a></h2>
+<blockquote>
+<div><ul class="simple">
+<li>Never ever write <code class="docutils literal"><span
class="pre">catch</span> <span class="pre">(...)</span> <span
class="pre">{}</span></code> or <code class="docutils literal"><span
class="pre">catch</span> <span class="pre">(...)</span> <span
class="pre">{</span> <span class="pre">logger.error()</span> <span
class="pre">}</span></code> merely to satisfy Java’s compile-time
exception checking. Always propagate the exception up or throw <code
class="docutils literal"><span class="pre">RuntimeException</span></code> (or,
if it “can’t happen,” <code class="docutils literal"><span
class="pre">AssertionError</span></code>). This makes the exceptions visible to
automated tests.</li>
+<li>Avoid propagating up checked exceptions that no caller handles. Rethrow as
<code class="docutils literal"><span class="pre">RuntimeException</span></code>
(or <code class="docutils literal"><span class="pre">IOError</span></code>, if
that is more applicable).</li>
+<li>Similarly, logger.warn() is often a cop-out: is this an error or not? If
it is don’t hide it behind a warn; if it isn’t, no need for the
warning.</li>
+<li>If you genuinely know an exception indicates an expected condition,
it’s okay to ignore it BUT this must be explicitly explained in a
comment.</li>
+</ul>
+</div></blockquote>
+</div>
+<div class="section" id="boilerplate">
+<h2>Boilerplate<a class="headerlink" href="#boilerplate" title="Permalink to
this headline">¶</a></h2>
+<blockquote>
+<div><ul class="simple">
+<li>Avoid redundant <code class="docutils literal"><span
class="pre">@Override</span></code> annotations when implementing abstract
or interface methods.</li>
+<li>Do not implement equals or hashcode methods unless they are actually
needed.</li>
+<li>Prefer public final fields to private fields with getters. (But prefer
encapsulating behavior in “real” methods to either.)</li>
+<li>Prefer requiring initialization in the constructor to setters.</li>
+<li>Avoid redundant <code class="docutils literal"><span
class="pre">this</span></code> references to member fields or methods.</li>
+<li>Do not extract interfaces (or abstract classes) unless you actually need
multiple implementations of it.</li>
+<li>Always include braces for nested levels of conditionals and loops. Only
avoid braces for single level.</li>
+</ul>
+</div></blockquote>
+</div>
+<div class="section" id="multiline-statements">
+<h2>Multiline statements<a class="headerlink" href="#multiline-statements"
title="Permalink to this headline">¶</a></h2>
+<blockquote>
+<div><ul class="simple">
+<li>Try to keep lines under 120 characters, but use good judgement –
it’s better to exceed 120 by a little, than split a line that has no
natural splitting points.</li>
+<li>When splitting inside a method call, use one line per parameter and align
them, like this:</li>
+</ul>
+<div class="highlight-none"><div
class="highlight"><pre><span></span>SSTableWriter writer = new
SSTableWriter(cfs.getTempSSTablePath(),
+ columnFamilies.size(),
+ StorageService.getPartitioner());
+</pre></div>
+</div>
+<ul class="simple">
+<li>When splitting a ternary, use one line per clause, carry the operator, and
align like this:</li>
+</ul>
+<div class="highlight-none"><div class="highlight"><pre><span></span>var = bar
== null
+ ? doFoo()
+ : doBar();
+</pre></div>
+</div>
+</div></blockquote>
+</div>
+<div class="section" id="whitespace">
+<h2>Whitespace<a class="headerlink" href="#whitespace" title="Permalink to
this headline">¶</a></h2>
+<blockquote>
+<div><ul class="simple">
+<li>Please make sure to use 4 spaces instead of the tab character for all your
indentation.</li>
+<li>Many lines in many files have a bunch of trailing whitespace... Please
either clean these up in a separate patch, or leave them alone, so that
reviewers now and anyone reading code history later doesn’t have to pay
attention to whitespace diffs.</li>
+</ul>
+</div></blockquote>
+</div>
+<div class="section" id="imports">
+<h2>Imports<a class="headerlink" href="#imports" title="Permalink to this
headline">¶</a></h2>
+<p>Please observe the following order for your imports:</p>
+<div class="highlight-none"><div class="highlight"><pre><span></span>java
+[blank line]
+com.google.common
+org.apache.commons
+org.junit
+org.slf4j
+[blank line]
+everything else alphabetically
+</pre></div>
+</div>
+</div>
+<div class="section" id="format-files-for-ides">
+<h2>Format files for IDEs<a class="headerlink" href="#format-files-for-ides"
title="Permalink to this headline">¶</a></h2>
+<blockquote>
+<div><ul class="simple">
+<li>IntelliJ: <a class="reference external"
href="https://wiki.apache.org/cassandra/CodeStyle?action=AttachFile&do=view&target=intellij-codestyle.jar">intellij-codestyle.jar</a></li>
+<li>IntelliJ 13: <a class="reference external"
href="https://gist.github.com/jdsumsion/9ab750a05c2a567c6afc">gist for IntelliJ
13</a> (this is a work in progress, still working on javadoc, ternary style,
line continuations, etc)</li>
+<li>Eclipse (<a class="reference external"
href="https://github.com/tjake/cassandra-style-eclipse">https://github.com/tjake/cassandra-style-eclipse</a>)</li>
+</ul>
+</div></blockquote>
+</div>
+</div>
+
+
+
+
+ <div class="doc-prev-next-links" role="navigation"
aria-label="footer navigation">
+
+ <a href="how_to_review.html" class="btn btn-default pull-right "
role="button" title="Review Checklist" accesskey="n">Next <span
class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
+
+
+ <a href="patches.html" class="btn btn-default" role="button"
title="Contributing Code Changes" 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>
+
+ <footer>
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/cassandra"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheCassandra">Tweet #cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2016 <a href="http://apache.org">The Apache Software
Foundation</a>.
+ Apache, the Apache feather logo, and Apache Cassandra are trademarks of
The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+</footer>
+
+<!-- Javascript. Placed here so pages load faster -->
+<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="./../../../js/underscore-min.js"></script>
+<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
crossorigin="anonymous"></script>
+
+
+<script src="./../../../js/doctools.js"></script>
+<script src="./../../../js/searchtools.js"></script>
+
+ <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:
"", VERSION: "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:
false, SOURCELINK_SUFFIX: "" }; </script>
+
+<script type="text/javascript">
+$(function() {
+ // Stick the #nav to the top of the window
+ var nav = $('.doc-navigation');
+ var navHomeY = nav.offset().top;
+ var isFixed = false;
+ var $w = $(window);
+ $w.scroll(function() {
+ var scrollTop = $w.scrollTop();
+ var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10;
+ if (shouldBeFixed && !isFixed) {
+ nav.css({
+ position: 'fixed',
+ top: 0,
+ left: nav.offset().left,
+ width: nav.width(),
+ });
+ nav.addClass('fixed-navigation');
+ isFixed = true;
+ }
+ else if (!shouldBeFixed && isFixed)
+ {
+ nav.css({
+ position: 'static'
+ });
+ nav.removeClass('fixed-navigation');
+ isFixed = false;
+ }
+ });
+});
+</script>
+
+
+<script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+
+ try {
+ var pageTracker = _gat._getTracker("UA-11583863-1");
+ pageTracker._trackPageview();
+ } catch(err) {}
+</script>
+
+
+ </body>
+</html>
Added: cassandra/site/publish/doc/3.7/development/how_to_commit.html
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/development/how_to_commit.html?rev=1758606&view=auto
==============================================================================
--- cassandra/site/publish/doc/3.7/development/how_to_commit.html (added)
+++ cassandra/site/publish/doc/3.7/development/how_to_commit.html Wed Aug 31
13:51:55 2016
@@ -0,0 +1,326 @@
+<!DOCTYPE html>
+<html>
+
+
+
+
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="The Apache Cassandra database is the right
choice when you need scalability and high availability without compromising
performance. Linear scalability and proven fault-tolerance on commodity
hardware or cloud infrastructure make it the perfect platform for
mission-critical data. Cassandra's support for replicating across multiple
datacenters is best-in-class, providing lower latency for your users and the
peace of mind of knowing that you can survive regional outages.
+">
+ <meta name="keywords" content="cassandra, apache, apache cassandra,
distributed storage, key value store, scalability, bigtable, dynamo" />
+ <meta name="robots" content="index,follow" />
+ <meta name="language" content="en" />
+
+ <title>Documentation</title>
+
+ <link rel="canonical"
href="http://cassandra.apache.org/doc/3.7/development/how_to_commit.html">
+
+ <link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
crossorigin="anonymous">
+ <link rel="stylesheet" href="./../../../css/style.css">
+
+ <link rel="stylesheet" href="./../../../css/sphinx.css">
+
+
+ <link rel="top" title="Apache Cassandra Documentation v3.7"
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"/>
+</head>
+
+ <body>
+ <!-- breadcrumbs -->
+<div class="topnav">
+ <div class="container breadcrumb-container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <img class="asf-logo" src="./../../../img/asf_feather.png" />
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span
class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a
href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+
+ <li><a href="./../../../">Apache Cassandra</a></li>
+
+
+
+
+ <li><a href="./../../../doc">Documentation</a></li>
+
+
+
+
+ <li><a href="./">Cassandra Development</a></li>
+
+
+
+ <li>How-to Commit</li>
+
+ </ul>
+ </div>
+
+ <!-- navbar -->
+ <nav class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="./../../../"><img
src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
+ </div><!-- /.navbar-header -->
+
+ <div id="cassandra-menu" class="collapse navbar-collapse">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="./../../../">Home</a></li>
+ <li><a href="./../../../download/">Download</a></li>
+ <li><a href="./../../../doc/">Documentation</a></li>
+ <li><a href="./../../../community/">Community</a></li>
+ </ul>
+ </div><!-- /#cassandra-menu -->
+
+
+ </div>
+ </nav><!-- /.navbar -->
+</div><!-- /.topnav -->
+
+ <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"><sha-of-3.0-commit></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"><sha-of-3.3-commit></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"><sha-of-3.3-commit>.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"><sha-of-trunk-commit></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"><sha-of-trunk-commit>.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>
+
+ <footer>
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/cassandra"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheCassandra">Tweet #cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2016 <a href="http://apache.org">The Apache Software
Foundation</a>.
+ Apache, the Apache feather logo, and Apache Cassandra are trademarks of
The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+</footer>
+
+<!-- Javascript. Placed here so pages load faster -->
+<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="./../../../js/underscore-min.js"></script>
+<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
crossorigin="anonymous"></script>
+
+
+<script src="./../../../js/doctools.js"></script>
+<script src="./../../../js/searchtools.js"></script>
+
+ <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:
"", VERSION: "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:
false, SOURCELINK_SUFFIX: "" }; </script>
+
+<script type="text/javascript">
+$(function() {
+ // Stick the #nav to the top of the window
+ var nav = $('.doc-navigation');
+ var navHomeY = nav.offset().top;
+ var isFixed = false;
+ var $w = $(window);
+ $w.scroll(function() {
+ var scrollTop = $w.scrollTop();
+ var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10;
+ if (shouldBeFixed && !isFixed) {
+ nav.css({
+ position: 'fixed',
+ top: 0,
+ left: nav.offset().left,
+ width: nav.width(),
+ });
+ nav.addClass('fixed-navigation');
+ isFixed = true;
+ }
+ else if (!shouldBeFixed && isFixed)
+ {
+ nav.css({
+ position: 'static'
+ });
+ nav.removeClass('fixed-navigation');
+ isFixed = false;
+ }
+ });
+});
+</script>
+
+
+<script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+
+ try {
+ var pageTracker = _gat._getTracker("UA-11583863-1");
+ pageTracker._trackPageview();
+ } catch(err) {}
+</script>
+
+
+ </body>
+</html>
Added: cassandra/site/publish/doc/3.7/development/how_to_review.html
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/development/how_to_review.html?rev=1758606&view=auto
==============================================================================
--- cassandra/site/publish/doc/3.7/development/how_to_review.html (added)
+++ cassandra/site/publish/doc/3.7/development/how_to_review.html Wed Aug 31
13:51:55 2016
@@ -0,0 +1,318 @@
+<!DOCTYPE html>
+<html>
+
+
+
+
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="The Apache Cassandra database is the right
choice when you need scalability and high availability without compromising
performance. Linear scalability and proven fault-tolerance on commodity
hardware or cloud infrastructure make it the perfect platform for
mission-critical data. Cassandra's support for replicating across multiple
datacenters is best-in-class, providing lower latency for your users and the
peace of mind of knowing that you can survive regional outages.
+">
+ <meta name="keywords" content="cassandra, apache, apache cassandra,
distributed storage, key value store, scalability, bigtable, dynamo" />
+ <meta name="robots" content="index,follow" />
+ <meta name="language" content="en" />
+
+ <title>Documentation</title>
+
+ <link rel="canonical"
href="http://cassandra.apache.org/doc/3.7/development/how_to_review.html">
+
+ <link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
crossorigin="anonymous">
+ <link rel="stylesheet" href="./../../../css/style.css">
+
+ <link rel="stylesheet" href="./../../../css/sphinx.css">
+
+
+ <link rel="top" title="Apache Cassandra Documentation v3.7"
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"/>
+</head>
+
+ <body>
+ <!-- breadcrumbs -->
+<div class="topnav">
+ <div class="container breadcrumb-container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <img class="asf-logo" src="./../../../img/asf_feather.png" />
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span
class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a
href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+
+ <li><a href="./../../../">Apache Cassandra</a></li>
+
+
+
+
+ <li><a href="./../../../doc">Documentation</a></li>
+
+
+
+
+ <li><a href="./">Cassandra Development</a></li>
+
+
+
+ <li>Review Checklist</li>
+
+ </ul>
+ </div>
+
+ <!-- navbar -->
+ <nav class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="./../../../"><img
src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
+ </div><!-- /.navbar-header -->
+
+ <div id="cassandra-menu" class="collapse navbar-collapse">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="./../../../">Home</a></li>
+ <li><a href="./../../../download/">Download</a></li>
+ <li><a href="./../../../doc/">Documentation</a></li>
+ <li><a href="./../../../community/">Community</a></li>
+ </ul>
+ </div><!-- /#cassandra-menu -->
+
+
+ </div>
+ </nav><!-- /.navbar -->
+</div><!-- /.topnav -->
+
+ <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
“why”, not the “how”)?</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 “client-impacting” and
“doc-impacting”, 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>
+
+ <footer>
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/cassandra"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheCassandra">Tweet #cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2016 <a href="http://apache.org">The Apache Software
Foundation</a>.
+ Apache, the Apache feather logo, and Apache Cassandra are trademarks of
The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+</footer>
+
+<!-- Javascript. Placed here so pages load faster -->
+<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="./../../../js/underscore-min.js"></script>
+<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
crossorigin="anonymous"></script>
+
+
+<script src="./../../../js/doctools.js"></script>
+<script src="./../../../js/searchtools.js"></script>
+
+ <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:
"", VERSION: "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:
false, SOURCELINK_SUFFIX: "" }; </script>
+
+<script type="text/javascript">
+$(function() {
+ // Stick the #nav to the top of the window
+ var nav = $('.doc-navigation');
+ var navHomeY = nav.offset().top;
+ var isFixed = false;
+ var $w = $(window);
+ $w.scroll(function() {
+ var scrollTop = $w.scrollTop();
+ var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10;
+ if (shouldBeFixed && !isFixed) {
+ nav.css({
+ position: 'fixed',
+ top: 0,
+ left: nav.offset().left,
+ width: nav.width(),
+ });
+ nav.addClass('fixed-navigation');
+ isFixed = true;
+ }
+ else if (!shouldBeFixed && isFixed)
+ {
+ nav.css({
+ position: 'static'
+ });
+ nav.removeClass('fixed-navigation');
+ isFixed = false;
+ }
+ });
+});
+</script>
+
+
+<script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+
+ try {
+ var pageTracker = _gat._getTracker("UA-11583863-1");
+ pageTracker._trackPageview();
+ } catch(err) {}
+</script>
+
+
+ </body>
+</html>
Added: cassandra/site/publish/doc/3.7/development/ide.html
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.7/development/ide.html?rev=1758606&view=auto
==============================================================================
--- cassandra/site/publish/doc/3.7/development/ide.html (added)
+++ cassandra/site/publish/doc/3.7/development/ide.html Wed Aug 31 13:51:55 2016
@@ -0,0 +1,376 @@
+<!DOCTYPE html>
+<html>
+
+
+
+
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="The Apache Cassandra database is the right
choice when you need scalability and high availability without compromising
performance. Linear scalability and proven fault-tolerance on commodity
hardware or cloud infrastructure make it the perfect platform for
mission-critical data. Cassandra's support for replicating across multiple
datacenters is best-in-class, providing lower latency for your users and the
peace of mind of knowing that you can survive regional outages.
+">
+ <meta name="keywords" content="cassandra, apache, apache cassandra,
distributed storage, key value store, scalability, bigtable, dynamo" />
+ <meta name="robots" content="index,follow" />
+ <meta name="language" content="en" />
+
+ <title>Documentation</title>
+
+ <link rel="canonical"
href="http://cassandra.apache.org/doc/3.7/development/ide.html">
+
+ <link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
crossorigin="anonymous">
+ <link rel="stylesheet" href="./../../../css/style.css">
+
+ <link rel="stylesheet" href="./../../../css/sphinx.css">
+
+
+ <link rel="top" title="Apache Cassandra Documentation v3.7"
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"/>
+</head>
+
+ <body>
+ <!-- breadcrumbs -->
+<div class="topnav">
+ <div class="container breadcrumb-container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <img class="asf-logo" src="./../../../img/asf_feather.png" />
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span
class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a
href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+
+ <li><a href="./../../../">Apache Cassandra</a></li>
+
+
+
+
+ <li><a href="./../../../doc">Documentation</a></li>
+
+
+
+
+ <li><a href="./">Cassandra Development</a></li>
+
+
+
+ <li>Building and IDE Integration</li>
+
+ </ul>
+ </div>
+
+ <!-- navbar -->
+ <nav class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="./../../../"><img
src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
+ </div><!-- /.navbar-header -->
+
+ <div id="cassandra-menu" class="collapse navbar-collapse">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="./../../../">Home</a></li>
+ <li><a href="./../../../download/">Download</a></li>
+ <li><a href="./../../../doc/">Documentation</a></li>
+ <li><a href="./../../../community/">Community</a></li>
+ </ul>
+ </div><!-- /#cassandra-menu -->
+
+
+ </div>
+ </nav><!-- /.navbar -->
+</div><!-- /.topnav -->
+
+ <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’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 “Eclipse IDE for Java
Developers”.</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->Import->Existing</span> <span
class="pre">Projects</span> <span class="pre">into</span> <span
class="pre">Workspace->Select</span> <span class="pre">git</span> <span
class="pre">directory</span></code>.</li>
+<li>Make sure “cassandra-trunk” is recognized and selected as a
project (assuming you checked the code out into the folder cassandra-trunk as
described above).</li>
+<li>Confirm “Finish” to have your project imported.</li>
+</ul>
+</div></blockquote>
+<p>You should now be able to find the project as part of the “Package
Explorer” or “Project Explorer” 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->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->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="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414"</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->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 “Debug” 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’t want
to use the command line.</p>
+<p>From the menu, select <code class="docutils literal"><span
class="pre">Run->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 “Debug” 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>
+
+ <footer>
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/cassandra"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheCassandra">Tweet #cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2016 <a href="http://apache.org">The Apache Software
Foundation</a>.
+ Apache, the Apache feather logo, and Apache Cassandra are trademarks of
The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+</footer>
+
+<!-- Javascript. Placed here so pages load faster -->
+<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="./../../../js/underscore-min.js"></script>
+<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
crossorigin="anonymous"></script>
+
+
+<script src="./../../../js/doctools.js"></script>
+<script src="./../../../js/searchtools.js"></script>
+
+ <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:
"", VERSION: "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:
false, SOURCELINK_SUFFIX: "" }; </script>
+
+<script type="text/javascript">
+$(function() {
+ // Stick the #nav to the top of the window
+ var nav = $('.doc-navigation');
+ var navHomeY = nav.offset().top;
+ var isFixed = false;
+ var $w = $(window);
+ $w.scroll(function() {
+ var scrollTop = $w.scrollTop();
+ var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10;
+ if (shouldBeFixed && !isFixed) {
+ nav.css({
+ position: 'fixed',
+ top: 0,
+ left: nav.offset().left,
+ width: nav.width(),
+ });
+ nav.addClass('fixed-navigation');
+ isFixed = true;
+ }
+ else if (!shouldBeFixed && isFixed)
+ {
+ nav.css({
+ position: 'static'
+ });
+ nav.removeClass('fixed-navigation');
+ isFixed = false;
+ }
+ });
+});
+</script>
+
+
+<script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+
+ try {
+ var pageTracker = _gat._getTracker("UA-11583863-1");
+ pageTracker._trackPageview();
+ } catch(err) {}
+</script>
+
+
+ </body>
+</html>