[
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