[
https://issues.apache.org/jira/browse/HBASE-8892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13702845#comment-13702845
]
Liang Xie commented on HBASE-8892:
----------------------------------
and we should add more comments here also.
> 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