cassandra-server
Version:
A thin Javascript wrapper around Apache Cassandra to provide out of the box server support
454 lines (452 loc) • 17.1 kB
HTML
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Sun Sep 07 15:29:30 CEST 2014 -->
<title>Validator (apache-cassandra API)</title>
<meta name="date" content="2014-09-07">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Validator (apache-cassandra API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Validator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cassandra/repair/TreeResponse.html" title="class in org.apache.cassandra.repair"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cassandra/repair/Validator.html" target="_top">Frames</a></li>
<li><a href="Validator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.cassandra.repair</div>
<h2 title="Class Validator" class="title">Class Validator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.cassandra.repair.Validator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.lang.Runnable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">Validator</span>
extends java.lang.Object
implements java.lang.Runnable</pre>
<div class="block">Handles the building of a merkle tree for a column family.
Lifecycle:
1. prepare() - Initialize tree with samples.
2. add() - 0 or more times, to add hashes to the tree.
3. complete() - Enqueues any operations that were blocked waiting for a valid tree.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cassandra/repair/RepairJobDesc.html" title="class in org.apache.cassandra.repair">RepairJobDesc</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#desc">desc</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#gcBefore">gcBefore</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.net.InetAddress</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#initiator">initiator</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/cassandra/utils/MerkleTree.html" title="class in org.apache.cassandra.utils">MerkleTree</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#tree">tree</a></strong></code> </td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#Validator(org.apache.cassandra.repair.RepairJobDesc,%20java.net.InetAddress,%20int)">Validator</a></strong>(<a href="../../../../org/apache/cassandra/repair/RepairJobDesc.html" title="class in org.apache.cassandra.repair">RepairJobDesc</a> desc,
java.net.InetAddress initiator,
int gcBefore)</code>
<div class="block">Create Validator with default size of initial Merkle Tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#Validator(org.apache.cassandra.repair.RepairJobDesc,%20java.net.InetAddress,%20org.apache.cassandra.utils.MerkleTree,%20int)">Validator</a></strong>(<a href="../../../../org/apache/cassandra/repair/RepairJobDesc.html" title="class in org.apache.cassandra.repair">RepairJobDesc</a> desc,
java.net.InetAddress initiator,
<a href="../../../../org/apache/cassandra/utils/MerkleTree.html" title="class in org.apache.cassandra.utils">MerkleTree</a> tree,
int gcBefore)</code> </td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#add(org.apache.cassandra.db.compaction.AbstractCompactedRow)">add</a></strong>(<a href="../../../../org/apache/cassandra/db/compaction/AbstractCompactedRow.html" title="class in org.apache.cassandra.db.compaction">AbstractCompactedRow</a> row)</code>
<div class="block">Called (in order) for every row present in the CF.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#complete()">complete</a></strong>()</code>
<div class="block">Registers the newly created tree for rendezvous in Stage.ANTIENTROPY.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#completeTree()">completeTree</a></strong>()</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#fail()">fail</a></strong>()</code>
<div class="block">Called when some error during the validation happened.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#prepare(org.apache.cassandra.db.ColumnFamilyStore)">prepare</a></strong>(<a href="../../../../org/apache/cassandra/db/ColumnFamilyStore.html" title="class in org.apache.cassandra.db">ColumnFamilyStore</a> cfs)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/repair/Validator.html#run()">run</a></strong>()</code>
<div class="block">Called after the validation lifecycle to respond with the now valid tree.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="desc">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>desc</h4>
<pre>public final <a href="../../../../org/apache/cassandra/repair/RepairJobDesc.html" title="class in org.apache.cassandra.repair">RepairJobDesc</a> desc</pre>
</li>
</ul>
<a name="initiator">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initiator</h4>
<pre>public final java.net.InetAddress initiator</pre>
</li>
</ul>
<a name="tree">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tree</h4>
<pre>public final <a href="../../../../org/apache/cassandra/utils/MerkleTree.html" title="class in org.apache.cassandra.utils">MerkleTree</a> tree</pre>
</li>
</ul>
<a name="gcBefore">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>gcBefore</h4>
<pre>public final int gcBefore</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Validator(org.apache.cassandra.repair.RepairJobDesc, java.net.InetAddress, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Validator</h4>
<pre>public Validator(<a href="../../../../org/apache/cassandra/repair/RepairJobDesc.html" title="class in org.apache.cassandra.repair">RepairJobDesc</a> desc,
java.net.InetAddress initiator,
int gcBefore)</pre>
<div class="block">Create Validator with default size of initial Merkle Tree.</div>
</li>
</ul>
<a name="Validator(org.apache.cassandra.repair.RepairJobDesc, java.net.InetAddress, org.apache.cassandra.utils.MerkleTree, int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Validator</h4>
<pre>public Validator(<a href="../../../../org/apache/cassandra/repair/RepairJobDesc.html" title="class in org.apache.cassandra.repair">RepairJobDesc</a> desc,
java.net.InetAddress initiator,
<a href="../../../../org/apache/cassandra/utils/MerkleTree.html" title="class in org.apache.cassandra.utils">MerkleTree</a> tree,
int gcBefore)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="prepare(org.apache.cassandra.db.ColumnFamilyStore)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepare</h4>
<pre>public void prepare(<a href="../../../../org/apache/cassandra/db/ColumnFamilyStore.html" title="class in org.apache.cassandra.db">ColumnFamilyStore</a> cfs)</pre>
</li>
</ul>
<a name="add(org.apache.cassandra.db.compaction.AbstractCompactedRow)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public void add(<a href="../../../../org/apache/cassandra/db/compaction/AbstractCompactedRow.html" title="class in org.apache.cassandra.db.compaction">AbstractCompactedRow</a> row)</pre>
<div class="block">Called (in order) for every row present in the CF.
Hashes the row, and adds it to the tree being built.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row to add hash</dd></dl>
</li>
</ul>
<a name="complete()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>complete</h4>
<pre>public void complete()</pre>
<div class="block">Registers the newly created tree for rendezvous in Stage.ANTIENTROPY.</div>
</li>
</ul>
<a name="completeTree()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>completeTree</h4>
<pre>public void completeTree()</pre>
</li>
</ul>
<a name="fail()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fail</h4>
<pre>public void fail()</pre>
<div class="block">Called when some error during the validation happened.
This sends RepairStatus to inform the initiator that the validation has failed.
The actual reason for failure should be looked up in the log of the host calling this function.</div>
</li>
</ul>
<a name="run()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
<pre>public void run()</pre>
<div class="block">Called after the validation lifecycle to respond with the now valid tree. Runs in Stage.ANTIENTROPY.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>run</code> in interface <code>java.lang.Runnable</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Validator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cassandra/repair/TreeResponse.html" title="class in org.apache.cassandra.repair"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cassandra/repair/Validator.html" target="_top">Frames</a></li>
<li><a href="Validator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © 2014 The Apache Software Foundation</small></p>
</body>
</html>