Package org.apache.cassandra.repair
Class Validator
- java.lang.Object
-
- org.apache.cassandra.repair.Validator
-
- All Implemented Interfaces:
java.lang.Runnable
public class Validator extends java.lang.Object implements java.lang.RunnableHandles 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.
-
-
Field Summary
Fields Modifier and Type Field Description RepairJobDescdescInetAddressAndPortinitiatorbooleanisIncrementalintnowInSecValidationStatestateTopPartitionTracker.CollectortopPartitionCollector
-
Constructor Summary
Constructors Constructor Description Validator(ValidationState state, int nowInSec, boolean evenTreeDistribution, boolean isIncremental, PreviewKind previewKind)Validator(ValidationState state, int nowInSec, boolean isIncremental, PreviewKind previewKind)Validator(ValidationState state, int nowInSec, PreviewKind previewKind)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(UnfilteredRowIterator partition)Called (in order) for every row present in the CF.voidcomplete()Registers the newly created tree for rendezvous in Stage.ANTIENTROPY.voidfail(java.lang.Throwable e)Called when some error during the validation happened.booleanfindCorrectRange(Token t)PreviewKindgetPreviewKind()voidprepare(ColumnFamilyStore cfs, MerkleTrees trees, TopPartitionTracker.Collector topPartitionCollector)voidrun()Called after the validation lifecycle to respond with the now valid tree.
-
-
-
Field Detail
-
desc
public final RepairJobDesc desc
-
initiator
public final InetAddressAndPort initiator
-
nowInSec
public final int nowInSec
-
isIncremental
public final boolean isIncremental
-
state
public final ValidationState state
-
topPartitionCollector
public TopPartitionTracker.Collector topPartitionCollector
-
-
Constructor Detail
-
Validator
public Validator(ValidationState state, int nowInSec, PreviewKind previewKind)
-
Validator
public Validator(ValidationState state, int nowInSec, boolean isIncremental, PreviewKind previewKind)
-
Validator
public Validator(ValidationState state, int nowInSec, boolean evenTreeDistribution, boolean isIncremental, PreviewKind previewKind)
-
-
Method Detail
-
prepare
public void prepare(ColumnFamilyStore cfs, MerkleTrees trees, TopPartitionTracker.Collector topPartitionCollector)
-
add
public void add(UnfilteredRowIterator partition)
Called (in order) for every row present in the CF. Hashes the row, and adds it to the tree being built.- Parameters:
partition- Partition to add hash
-
findCorrectRange
public boolean findCorrectRange(Token t)
-
complete
public void complete()
Registers the newly created tree for rendezvous in Stage.ANTIENTROPY.
-
fail
public void fail(java.lang.Throwable e)
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.
-
run
public void run()
Called after the validation lifecycle to respond with the now valid tree. Runs in Stage.ANTIENTROPY.- Specified by:
runin interfacejava.lang.Runnable
-
getPreviewKind
public PreviewKind getPreviewKind()
-
-