You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Vladimir Rodionov (JIRA)" <ji...@apache.org> on 2015/09/09 02:09:46 UTC
[jira] [Created] (HBASE-14383) Compaction improvements
Vladimir Rodionov created HBASE-14383:
-----------------------------------------
Summary: Compaction improvements
Key: HBASE-14383
URL: https://issues.apache.org/jira/browse/HBASE-14383
Project: HBase
Issue Type: Improvement
Reporter: Vladimir Rodionov
Assignee: Vladimir Rodionov
Fix For: 2.0.0
Still major issue in many production environments. The general recommendation - disabling region splitting and major compactions to reduce unpredictable IO/CPU spikes, especially during peak times and running them manually during off peak times. Still do not resolve the issues completely.
h3. Flush storms
* rolling WAL events across cluster can be highly correlated, hence flushing memstores, hence triggering minor compactions, that can be promoted to major ones.
* the same is true for memstore flushing due to periodic memstore flusher operation. These events are highly correlated in time if there is a balanced write-load on the regions in a table.
Both above may produce *flush storms* which are as bad as *compaction storms*.
What can be done here. We can spread these events over time by randomizing (with jitter) several config options:
# hbase.regionserver.optionalcacheflushinterval
# hbase.regionserver.flush.per.changes
# hbase.regionserver.maxlogs
h3. ExploringCompactionPolicy max compaction size
One more optimization can be added to ExploringCompactionPolicy. To limit size of a compaction there is a config parameter one could use hbase.hstore.compaction.max.size. It would be nice to have two separate limits: for peak and off peak hours.
h3. ExploringCompactionPolicy selection evaluation algorithm
Just seems too simple: selection with more files always wins, selection of smaller size wins if number of files is the same.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)