[
https://issues.apache.org/jira/browse/HBASE-14263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Rodionov resolved HBASE-14263.
---------------------------------------
Resolution: Invalid
Invalid. I will open doc JIRA instead.
> ExploringCompactionPolicy logic around file selection is broken
> ---------------------------------------------------------------
>
> Key: HBASE-14263
> URL: https://issues.apache.org/jira/browse/HBASE-14263
> Project: HBase
> Issue Type: Bug
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Fix For: 2.0.0
>
> Attachments: HBASE-14263.patch
>
>
> It seems that logic around selection of store file candidates is broken:
> {code}
> // Compute the total size of files that will
> // have to be read if this set of files is compacted.
> long size = getTotalStoreSize(potentialMatchFiles);
> // Store the smallest set of files. This stored set of files will be
> used
> // if it looks like the algorithm is stuck.
> if (mightBeStuck && size < smallestSize) {
> smallest = potentialMatchFiles;
> smallestSize = size;
> }
> if (size > comConf.getMaxCompactSize()) {
> continue;
> }
> ++opts;
> if (size >= comConf.getMinCompactSize()
> && !filesInRatio(potentialMatchFiles, currentRatio)) {
> continue;
> }
> {code}
> This is from applyCompactionPolicy method. As you can see, both min
> compaction size and max compaction size are applied to a *selection* of files
> and not to individual files. It mostly works as expected only because nobody
> seems using non-default hbase.hstore.compaction.max.size, which is
> Long.MAX_VALUE and it is not that easy to figure out what is going
> on on an opposite side (why small files do not get included?)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)