[ https://issues.apache.org/jira/browse/HBASE-14409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Kyle Purtell closed HBASE-14409. --------------------------------------- > Clarify use of hbase.hstore.compaction.max.size in ExploringCompactionPolicy > ---------------------------------------------------------------------------- > > Key: HBASE-14409 > URL: https://issues.apache.org/jira/browse/HBASE-14409 > Project: HBase > Issue Type: Bug > Components: Compaction > Affects Versions: 1.0.2, 1.1.2 > Reporter: Lars George > Priority: Critical > > As discussed in https://issues.apache.org/jira/browse/HBASE-7842: > Why is the {{ExploringCompactionPolicy}} overloading the > {{hbase.hstore.compaction.max.size}} parameter, which is used in the original > ratio-based policy _just_ to exclude store files that are larger than this > threshold. The ECP does the same, but later on uses the same threshold (if > set) to drop a possible selection when the sum of all store files in the > selection exceeds this limit. Why? > Here the code: > {code} > if (size > comConf.getMaxCompactSize()) { > continue; > } > {code} > The ref guide says this: > {noformat} > * Do size-based sanity checks against each StoreFile in this set of > StoreFiles. > ** If the size of this StoreFile is larger than > `hbase.hstore.compaction.max.size`, take it out of consideration. > ** If the size is greater than or equal to > `hbase.hstore.compaction.min.size`, sanity-check it against the file-based > ratio to see whether it is too large to be considered. > {noformat} > This seems wrong, no? It does not do this by each store file, but by the > current selection candidate. It still speaks of the max size key, but here in > the traditional sense, i.e. eliminate single store files that exceed the > limit. But that is not what the code does at this spot. > We should either remove that check, since larger files are already removed in > {{selectCompaction()}} of the base class, or we should see what was meant to > happen here and clarify/fix the code and/or description. -- This message was sent by Atlassian Jira (v8.20.10#820010)