Class Validator

java.lang.Object
org.apache.cassandra.repair.Validator
All Implemented Interfaces:
Runnable

public class Validator extends Object implements Runnable
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.
  • Field Details

  • Constructor Details

  • Method Details

    • 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(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:
      run in interface Runnable
    • getPreviewKind

      public PreviewKind getPreviewKind()