[ 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