Package org.apache.cassandra.db.repair
Class CassandraTableRepairManager
- java.lang.Object
-
- org.apache.cassandra.db.repair.CassandraTableRepairManager
-
- All Implemented Interfaces:
TableRepairManager
public class CassandraTableRepairManager extends java.lang.Object implements TableRepairManager
-
-
Constructor Summary
Constructors Constructor Description CassandraTableRepairManager(ColumnFamilyStore cfs)
CassandraTableRepairManager(ColumnFamilyStore cfs, SharedContext ctx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ValidationPartitionIterator
getValidationIterator(java.util.Collection<Range<Token>> ranges, TimeUUID parentId, TimeUUID sessionID, boolean isIncremental, long nowInSec, TopPartitionTracker.Collector topPartitionCollector)
Return a validation iterator for the given parameters.void
incrementalSessionCompleted(TimeUUID sessionID)
Called when the given incremental session has completed.void
snapshot(java.lang.String name, java.util.Collection<Range<Token>> ranges, boolean force)
For snapshot repairs.java.util.concurrent.Future<?>
submitValidation(java.util.concurrent.Callable<java.lang.Object> validation)
Begin execution of the given validation callable.
-
-
-
Constructor Detail
-
CassandraTableRepairManager
public CassandraTableRepairManager(ColumnFamilyStore cfs)
-
CassandraTableRepairManager
public CassandraTableRepairManager(ColumnFamilyStore cfs, SharedContext ctx)
-
-
Method Detail
-
getValidationIterator
public ValidationPartitionIterator getValidationIterator(java.util.Collection<Range<Token>> ranges, TimeUUID parentId, TimeUUID sessionID, boolean isIncremental, long nowInSec, TopPartitionTracker.Collector topPartitionCollector) throws java.io.IOException, NoSuchRepairSessionException
Description copied from interface:TableRepairManager
Return a validation iterator for the given parameters. If isIncremental is true, the iterator must only include data previously isolated for repair with the given parentId. nowInSec should determine whether tombstones should be purged or not.- Specified by:
getValidationIterator
in interfaceTableRepairManager
- Throws:
java.io.IOException
NoSuchRepairSessionException
-
submitValidation
public java.util.concurrent.Future<?> submitValidation(java.util.concurrent.Callable<java.lang.Object> validation)
Description copied from interface:TableRepairManager
Begin execution of the given validation callable. Which thread pool a validation should run in is an implementation detail.- Specified by:
submitValidation
in interfaceTableRepairManager
-
incrementalSessionCompleted
public void incrementalSessionCompleted(TimeUUID sessionID)
Description copied from interface:TableRepairManager
Called when the given incremental session has completed. Because of race and failure conditions, implementors should not rely only on receiving calls from this method to determine when a session has ended. Implementors can determine if a session has finished by calling ActiveRepairService.instance.consistent.local.isSessionInProgress. Just because a session has completed doesn't mean it's completed succesfully. So implementors need to consult the repair service at ActiveRepairService.instance.consistent.local.getFinalSessionRepairedAt to get the repairedAt time. If the repairedAt time is zero, the data for the given session should be demoted back to unrepaired. Otherwise, it should be promoted to repaired with the given repaired time.- Specified by:
incrementalSessionCompleted
in interfaceTableRepairManager
-
snapshot
public void snapshot(java.lang.String name, java.util.Collection<Range<Token>> ranges, boolean force)
Description copied from interface:TableRepairManager
For snapshot repairs. A snapshot of the current data for the given ranges should be taken with the given name. If force is true, a snapshot should be taken even if one already exists with that name.- Specified by:
snapshot
in interfaceTableRepairManager
-
-