Class RTBoundCloser
- java.lang.Object
-
- org.apache.cassandra.db.transform.Transformation<UnfilteredRowIterator>
-
- org.apache.cassandra.db.transform.RTBoundCloser
-
public final class RTBoundCloser extends Transformation<UnfilteredRowIterator>
A transformation that appends an RT bound marker to row iterators in case they don't have one. This used to happen, for example, inReadCommand.executeLocally(ReadExecutionController)
ifDataLimits
stopped the iterator on a live row that was enclosed in an older RT. If we don't do this, and send a response without the closing bound, we can break read/short read protection read isolation, and potentially cause data loss. See CASSANDRA-14515 for context.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description UnfilteredRowIterator
applyToPartition(UnfilteredRowIterator partition)
Applied to any rows iterator (partition) we encounter in a partitions iteratorstatic UnfilteredPartitionIterator
close(UnfilteredPartitionIterator partitions)
static UnfilteredRowIterator
close(UnfilteredRowIterator partition)
-
Methods inherited from class org.apache.cassandra.db.transform.Transformation
apply, apply, apply, apply, applyToDeletion, applyToMarker, applyToPartitionColumns, applyToPartitionKey, applyToRow, applyToStatic, onClose, onPartitionClose
-
-
-
-
Method Detail
-
close
public static UnfilteredPartitionIterator close(UnfilteredPartitionIterator partitions)
-
close
public static UnfilteredRowIterator close(UnfilteredRowIterator partition)
-
applyToPartition
public UnfilteredRowIterator applyToPartition(UnfilteredRowIterator partition)
Description copied from class:Transformation
Applied to any rows iterator (partition) we encounter in a partitions iterator- Overrides:
applyToPartition
in classTransformation<UnfilteredRowIterator>
-
-