You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2011/06/09 05:38:58 UTC

[jira] [Commented] (HBASE-3723) Major compact should be done when there is only one storefile and some keyvalue is outdated.

    [ https://issues.apache.org/jira/browse/HBASE-3723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13046320#comment-13046320 ] 

stack commented on HBASE-3723:
------------------------------

Committed to branch.

> Major compact should be done when there is only one storefile and some keyvalue is outdated.
> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-3723
>                 URL: https://issues.apache.org/jira/browse/HBASE-3723
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.0, 0.90.1
>            Reporter: zhoushuaifeng
>             Fix For: 0.90.2
>
>         Attachments: hbase-3723.txt
>
>
> In the function store.isMajorCompaction:
>       if (filesToCompact.size() == 1) {
>         // Single file
>         StoreFile sf = filesToCompact.get(0);
>         long oldest =
>             (sf.getReader().timeRangeTracker == null) ?
>                 Long.MIN_VALUE :
>                 now - sf.getReader().timeRangeTracker.minimumTimestamp;
>         if (sf.isMajorCompaction() &&
>             (this.ttl == HConstants.FOREVER || oldest < this.ttl)) {
>           if (LOG.isDebugEnabled()) {
>             LOG.debug("Skipping major compaction of " + this.storeNameStr +
>                 " because one (major) compacted file only and oldestTime " +
>                 oldest + "ms is < ttl=" + this.ttl);
>           }
>         }
>       } else {
> When there is only one storefile in the store, and some keyvalues' TTL are overtime, the majorcompactchecker should send this region to the compactquene and run a majorcompact to clean these outdated data. But according to the code in 0.90.1, it will do nothing. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira