hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Liang Xie (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8892) should pick the files as older as possible also while hasReferences
Date Mon, 08 Jul 2013 07:53:49 GMT

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

Liang Xie commented on HBASE-8892:
----------------------------------

older  ---->  newer
f1 f2 f3 ... f10 f11 f12

let's say maxFilesToCompact=10, per current code, it'll pick [f3,f12], right? then generate
a bigger/newer file,say f13, now it becomes:

older -----> newer
f1 f2 f13

then f1 and f2 will be hard to be picked up in later minor compaction based on currently ratio
policy.
                
> should pick the files as older as possible also while hasReferences
> -------------------------------------------------------------------
>
>                 Key: HBASE-8892
>                 URL: https://issues.apache.org/jira/browse/HBASE-8892
>             Project: HBase
>          Issue Type: Bug
>          Components: Compaction
>    Affects Versions: 0.94.9
>            Reporter: Liang Xie
>            Assignee: Liang Xie
>            Priority: Minor
>         Attachments: HBase-8892-0.94.txt
>
>
> Currently, while hasReferences for compactSelection, and if compactSelection.getFilesToCompact()
has more than maxFilesToCompact files, we clear the files from beginning, it's different with
the normal minor compaction ratio based policy, which tries to do compactSelection from older
to newer ones as possible.
> {code}
>       } else if (compactSelection.getFilesToCompact().size() > this.maxFilesToCompact)
{
>         // all files included in this compaction, up to max
>         int pastMax = compactSelection.getFilesToCompact().size() - this.maxFilesToCompact;
>         compactSelection.getFilesToCompact().subList(0, pastMax).clear();
> {code}
> It makes the beginning files more difficult to be picked up in future's minor compaction
stage.
> IMHO, it should be like this:
> {code}
>         compactSelection.getFilesToCompact()
>             .subList(this.maxFilesToCompact, compactSelection.getFilesToCompact().size())
>             .clear();
> {code}
> It's not a big issue, since occurs while hasReferences returns true only.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message