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

zhangduo updated HBASE-8329:
----------------------------
    Release Note: 
Adds compaction throughput limit mechanism(the word "throttle" is already used 
when choosing compaction thread pool, so use a different word here to avoid 
ambiguity). Default is 
org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactionThroughputController,
 will limit throughput as follow:
1. In off peak hours, use a fixed limitation 
"hbase.hstore.compaction.throughput.offpeak" (default is Long.MAX_VALUE which 
means no limitation).
2. In normal hours, the limitation is tuned between 
"hbase.hstore.compaction.throughput.lower.bound"(default 20MB/sec) and 
"hbase.hstore.compaction.throughput.higher.bound"(default 10MB/sec), using the 
formula "lower + (higer - lower) * param" where param is in range [0.0, 1.0] 
and calculate based on store files count on this regionserver.
3. If some stores have too many store files(storefilesCount > 
blockingFileCount), then there is no limitation no matter peak or off peak.
You can set "hbase.regionserver.throughput.controller" to 
org.apache.hadoop.hbase.regionserver.compactions.NoLimitCompactionThroughputController
 to disable throughput controlling.
And we have implemented ConfigurationObserver which means you can change all 
configurations above and do not need to restart cluster.

  was:
Adds compaction throughput limit mechanism(the word "throttle" is already used 
when choosing compaction thread pool, so use a different word here to avoid 
ambiguity). Default is 
org.apache.hadoop.hbase.regionserver.compactions.DefaultThroughputController, 
will limit throughput as follow:
1. In off peak hours, use a fixed limitation 
"hbase.hstore.compaction.throughput.offpeak" (default is Long.MAX_VALUE which 
means no limitation).
2. In normal hours, the limitation is tuned between 
"hbase.hstore.compaction.throughput.lower.bound"(default 20MB/sec) and 
"hbase.hstore.compaction.throughput.higher.bound"(default 10MB/sec), using the 
formula "lower + (higer - lower) * param" where param is in range [0.0, 1.0] 
and calculate based on store files count on this regionserver.
3. If some stores have too many store files(storefilesCount > 
blockingFileCount), then there is no limitation no matter peak or off peak.
You can set "hbase.regionserver.throughput.controller" to 
org.apache.hadoop.hbase.regionserver.compactions.NoLimitThroughputController to 
disable throughput controlling.
And we have implemented ConfigurationObserver which means you can change all 
configurations above and do not need to restart cluster.


> Limit compaction speed
> ----------------------
>
>                 Key: HBASE-8329
>                 URL: https://issues.apache.org/jira/browse/HBASE-8329
>             Project: HBase
>          Issue Type: Improvement
>          Components: Compaction
>            Reporter: binlijin
>            Assignee: zhangduo
>             Fix For: 2.0.0, 1.1.0
>
>         Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, 
> HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, 
> HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, 
> HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, 
> HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, 
> HBASE-8329_15.patch, HBASE-8329_16.patch
>
>
> There is no speed or resource limit for compaction,I think we should add this 
> feature especially when request burst.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to