Liang Xie created HBASE-8892:
--------------------------------

             Summary: 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


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

Reply via email to