[ https://issues.apache.org/jira/browse/HBASE-14272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14731789#comment-14731789 ]
Lars Hofhansl commented on HBASE-14272: --------------------------------------- I suppose we already collect a bunch of information during a compaction (earliest Put, average KV size, etc), could keep a flag when there are any delete markers. If true and KEEP_DELETED_CELLS is OFF, we can definitely get rid of some delete markers. Now, dealing with TTL is harder, since it is moving target. I supposed when MIN_VERSIONS is not set and TTL is set we will get rid of some each time. I think we missed all these issues when we added logic to avoid the time based major compaction when there is (ostensibly) nothing to collect. > Enforce major compaction on stores with KEEP_DELETED_CELLS=true > --------------------------------------------------------------- > > Key: HBASE-14272 > URL: https://issues.apache.org/jira/browse/HBASE-14272 > Project: HBase > Issue Type: Bug > Reporter: Vladimir Rodionov > Assignee: Vladimir Rodionov > Fix For: 2.0.0 > > Attachments: HBASE-14272-v2.patch, HBASE-14272.patch > > > Currently, if store has one (major compacted) file, the only case when major > compaction will be triggered for this file again - when locality is below > threshold, defined by *hbase.hstore.min.locality.to.skip.major.compact* or > TTL expired some cells. If file has locality greater than this threshold it > will never be major compacted until Store's TTL kicks in. For CF with > KEEP_DELETED_CELLS on, compaction must be enabled always (even for single > file), regardless of locality, when deleted cells are expired > (*hbase.hstore.time.to.purge.deletes*) -- This message was sent by Atlassian JIRA (v6.3.4#6332)