[ https://issues.apache.org/jira/browse/HBASE-14272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14731737#comment-14731737 ]
Andrew Purtell commented on HBASE-14272: ---------------------------------------- It is an interesting problem. Cells with expired ttls will be ignored but if there are many of them performance is unduly affected. I suppose we could, if we can determine the approximate % of expired cells - and at this point we are scanning the hfile and might as well be compacting? - we could trigger compaction if above a threshold. I suppose a scan is still cheaper than rewriting the file. > 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)