UNPKG

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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- 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:&nbsp;</li> <li>Nested&nbsp;|&nbsp;</li> <li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li> <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail:&nbsp;</li> <li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li> <li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</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">&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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">&nbsp;</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>&nbsp;desc, java.net.InetAddress&nbsp;initiator, int&nbsp;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>&nbsp;desc, java.net.InetAddress&nbsp;initiator, <a href="../../../../org/apache/cassandra/utils/MerkleTree.html" title="class in org.apache.cassandra.utils">MerkleTree</a>&nbsp;tree, int&nbsp;gcBefore)</code>&nbsp;</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">&nbsp;</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>&nbsp;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>&nbsp;</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>&nbsp;cfs)</code>&nbsp;</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&nbsp;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&nbsp;<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&nbsp;java.net.InetAddress initiator</pre> </li> </ul> <a name="tree"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>tree</h4> <pre>public final&nbsp;<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&nbsp;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&nbsp;Validator(<a href="../../../../org/apache/cassandra/repair/RepairJobDesc.html" title="class in org.apache.cassandra.repair">RepairJobDesc</a>&nbsp;desc, java.net.InetAddress&nbsp;initiator, int&nbsp;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&nbsp;Validator(<a href="../../../../org/apache/cassandra/repair/RepairJobDesc.html" title="class in org.apache.cassandra.repair">RepairJobDesc</a>&nbsp;desc, java.net.InetAddress&nbsp;initiator, <a href="../../../../org/apache/cassandra/utils/MerkleTree.html" title="class in org.apache.cassandra.utils">MerkleTree</a>&nbsp;tree, int&nbsp;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&nbsp;void&nbsp;prepare(<a href="../../../../org/apache/cassandra/db/ColumnFamilyStore.html" title="class in org.apache.cassandra.db">ColumnFamilyStore</a>&nbsp;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&nbsp;void&nbsp;add(<a href="../../../../org/apache/cassandra/db/compaction/AbstractCompactedRow.html" title="class in org.apache.cassandra.db.compaction">AbstractCompactedRow</a>&nbsp;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&nbsp;void&nbsp;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&nbsp;void&nbsp;completeTree()</pre> </li> </ul> <a name="fail()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>fail</h4> <pre>public&nbsp;void&nbsp;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&nbsp;void&nbsp;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>&nbsp;in interface&nbsp;<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:&nbsp;</li> <li>Nested&nbsp;|&nbsp;</li> <li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li> <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail:&nbsp;</li> <li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li> <li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</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 &copy; 2014 The Apache Software Foundation</small></p> </body> </html>