@InterfaceAudience.Private public abstract class DropDeletesCompactionScanQueryMatcher extends CompactionScanQueryMatcher
ScanQueryMatcher.MatchCode| Modifier and Type | Field and Description | 
|---|---|
| protected long | earliestPutTsOldest 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 long | timeToPurgeDeletesBy default, when hbase.hstore.time.to.purge.deletes is 0ms, a delete marker is always removed
 during a major compaction. | 
deletes, keepDeletedCells, maxReadPointToTrackVersionscolumns, currentRow, now, oldestUnexpiredTS, rowComparator, startKey| Modifier | Constructor and Description | 
|---|---|
| protected  | DropDeletesCompactionScanQueryMatcher(ScanInfo scanInfo,
                                     DeleteTracker deletes,
                                     ColumnTracker columns,
                                     long readPointToUse,
                                     long earliestPutTs,
                                     long oldestUnexpiredTS,
                                     long now) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected ScanQueryMatcher.MatchCode | tryDropDelete(Cell cell) | 
beforeShipped, create, getFilter, getNextKeyHint, hasNullColumnInQuery, isUserScan, moreRowsMayExistAfter, reset, trackDeletecheckColumn, checkDeleted, clearCurrentRow, compareKeyForNextColumn, compareKeyForNextRow, createStartKeyFromRow, currentRow, getKeyForNextColumn, getStartKey, getTrackers, match, preCheck, setToNewRowprotected final long timeToPurgeDeletes
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.
protected final long earliestPutTs
protected DropDeletesCompactionScanQueryMatcher(ScanInfo scanInfo, DeleteTracker deletes, ColumnTracker columns, long readPointToUse, long earliestPutTs, long oldestUnexpiredTS, long now)
protected final ScanQueryMatcher.MatchCode tryDropDelete(Cell cell)
Copyright © 2007–2021 The Apache Software Foundation. All rights reserved.