Class DropDeletesCompactionScanQueryMatcher

All Implemented Interfaces:
ShipperListener
Direct Known Subclasses:
MajorCompactionScanQueryMatcher, StripeCompactionScanQueryMatcher

A query matcher for compaction which can drop delete markers.
  • Field Details

    • timeToPurgeDeletes

      protected final long 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

      protected final long 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

  • Method Details