Class DropDeletesCompactionScanQueryMatcher
java.lang.Object
org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher
org.apache.hadoop.hbase.regionserver.querymatcher.CompactionScanQueryMatcher
org.apache.hadoop.hbase.regionserver.querymatcher.DropDeletesCompactionScanQueryMatcher
- All Implemented Interfaces:
ShipperListener
- Direct Known Subclasses:
MajorCompactionScanQueryMatcher
,StripeCompactionScanQueryMatcher
@Private
public abstract class DropDeletesCompactionScanQueryMatcher
extends CompactionScanQueryMatcher
A query matcher for compaction which can drop delete markers.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher
ScanQueryMatcher.MatchCode
-
Field Summary
Modifier and TypeFieldDescriptionprotected final long
Oldest put in any of the involved store files Used to decide whether it is ok to delete family delete marker of this store keeps deleted KVs.protected final long
By default, when hbase.hstore.time.to.purge.deletes is 0ms, a delete marker is always removed during a major compaction.Fields inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.CompactionScanQueryMatcher
deletes, keepDeletedCells, maxReadPointToTrackVersions
Fields inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher
columns, currentRow, now, oldestUnexpiredTS, rowComparator, startKey
-
Constructor Summary
ModifierConstructorDescriptionprotected
DropDeletesCompactionScanQueryMatcher
(ScanInfo scanInfo, DeleteTracker deletes, ColumnTracker columns, long readPointToUse, long earliestPutTs, long oldestUnexpiredTS, long now) -
Method Summary
Modifier and TypeMethodDescriptionprotected final ScanQueryMatcher.MatchCode
tryDropDelete
(Cell cell) Methods inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.CompactionScanQueryMatcher
beforeShipped, create, getFilter, getNextKeyHint, hasNullColumnInQuery, isUserScan, moreRowsMayExistAfter, reset, trackDelete
Methods inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher
checkColumn, checkDeleted, clearCurrentRow, compareKeyForNextColumn, compareKeyForNextRow, createStartKeyFromRow, currentRow, getKeyForNextColumn, getStartKey, getTrackers, match, preCheck, setToNewRow
-
Field Details
-
timeToPurgeDeletes
By default, when hbase.hstore.time.to.purge.deletes is 0ms, a delete marker is always removed during a major compaction. If set to non-zero value then major compaction will try to keep a delete marker around for the given number of milliseconds. We want to keep the delete markers around a bit longer because old puts might appear out-of-order. For example, during log replication between two clusters.If the delete marker has lived longer than its column-family's TTL then the delete marker will be removed even if time.to.purge.deletes has not passed. This is because all the Puts that this delete marker can influence would have also expired. (Removing of delete markers on col family TTL will not happen if min-versions is set to non-zero)
But, if time.to.purge.deletes has not expired then a delete marker will not be removed just because there are no Puts that it is currently influencing. This is because Puts, that this delete can influence. may appear out of order.
-
earliestPutTs
Oldest put in any of the involved store files Used to decide whether it is ok to delete family delete marker of this store keeps deleted KVs.
-
-
Constructor Details
-
DropDeletesCompactionScanQueryMatcher
protected DropDeletesCompactionScanQueryMatcher(ScanInfo scanInfo, DeleteTracker deletes, ColumnTracker columns, long readPointToUse, long earliestPutTs, long oldestUnexpiredTS, long now)
-
-
Method Details
-
tryDropDelete
-