public class RowIteratorMergeListener<E extends Endpoints<E>> extends java.lang.Object implements UnfilteredRowIterators.MergeListener
NOOP
Constructor and Description |
---|
RowIteratorMergeListener(DecoratedKey partitionKey,
RegularAndStaticColumns columns,
boolean isReversed,
ReplicaPlan.ForRead<E> replicaPlan,
ReadCommand command,
ReadRepair readRepair) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
onMergedPartitionLevelDeletion(DeletionTime mergedDeletion,
DeletionTime[] versions)
Called once for the merged partition.
|
void |
onMergedRangeTombstoneMarkers(RangeTombstoneMarker merged,
RangeTombstoneMarker[] versions)
Called once for every range tombstone marker participating in the merge.
|
void |
onMergedRows(Row merged,
Row[] versions)
Called once for every row participating in the merge.
|
public RowIteratorMergeListener(DecoratedKey partitionKey, RegularAndStaticColumns columns, boolean isReversed, ReplicaPlan.ForRead<E> replicaPlan, ReadCommand command, ReadRepair readRepair)
public void onMergedPartitionLevelDeletion(DeletionTime mergedDeletion, DeletionTime[] versions)
UnfilteredRowIterators.MergeListener
onMergedPartitionLevelDeletion
in interface UnfilteredRowIterators.MergeListener
mergedDeletion
- the partition level deletion for the merged partition. Implementors can test if the
merged partition actually has a partition level deletion or not by calling mergedDeletion.isLive()
.versions
- the partition level deletion for the sources of the merge. Elements of the array will never
be null, but be "live".public void onMergedRows(Row merged, Row[] versions)
UnfilteredRowIterators.MergeListener
Note that this is called for every clustering where at least one of the source merged has a row. In particular, this may be called in cases where there is no row in the merged output (if a source has a row that is shadowed by another source range tombstone or partition level deletion).
onMergedRows
in interface UnfilteredRowIterators.MergeListener
merged
- the result of the merge. This cannot be null
but can be empty, in which case this is a
placeholder for when at least one source has a row, but that row is shadowed in the merged output.versions
- for each source, the row in that source corresponding to merged
. This can be
null
for some sources if the source has not such row.public void onMergedRangeTombstoneMarkers(RangeTombstoneMarker merged, RangeTombstoneMarker[] versions)
UnfilteredRowIterators.MergeListener
Note that this is called for every "clustering position" where at least one of the source merged has a range tombstone marker.
onMergedRangeTombstoneMarkers
in interface UnfilteredRowIterators.MergeListener
merged
- the marker in the merged output. This can be null
if there is no such marker, which
means that at least one source has a marker in versions
but the merged out has nothing corresponding
(this basically mean the merged output has a currently open deletion that shadows whatever marker the source
had).versions
- the marker for each source merged. This can be null
for some source if that source
has not such marker.public void close()
close
in interface UnfilteredRowIterators.MergeListener
Copyright © 2009-2019 The Apache Software Foundation