[ 
https://issues.apache.org/jira/browse/HBASE-14409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Kyle Purtell resolved HBASE-14409.
-----------------------------------------
      Assignee:     (was: Michael Stack)
    Resolution: Incomplete

> 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)

Reply via email to