[ 
https://issues.apache.org/jira/browse/HBASE-14969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15202854#comment-15202854
 ] 

Gary Helmling commented on HBASE-14969:
---------------------------------------

[~carp84], the part I'm looking at is in {{CompactSplitThread}}, where the 
{{CompactionThroughputControllerFactory}} used changed:

{code}
-import 
org.apache.hadoop.hbase.regionserver.compactions.CompactionThroughputController;
-import 
org.apache.hadoop.hbase.regionserver.compactions.CompactionThroughputControllerFactory;
+import 
org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;
+import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;
{code}

The snippet you pulled is from 
o.a.h.h.regionserver.compactions.CompactionThroughputController.

I don't know why we have two {{CompactionThroughputControllerFactory}} classes, 
but the o.a.h.h.regionserver.throttle one defaults to 
{{PressureAwareCompactionThroughputController}} while the 
o.a.h.h.regionserver.compactions one (previously used) defaults to 
{{NoLimitCompactionThroughputController}}.

If the change wasn't intentional, maybe we should do a small follow up issue to 
change the default back.  Even better if we remove the duplicate class and just 
use one.

> Add throughput controller for flush
> -----------------------------------
>
>                 Key: HBASE-14969
>                 URL: https://issues.apache.org/jira/browse/HBASE-14969
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 2.0.0, 1.3.0
>            Reporter: Yu Li
>            Assignee: Yu Li
>             Fix For: 2.0.0, 1.3.0
>
>         Attachments: HBASE-14969-addendum-branch-1.patch, 
> HBASE-14969.branch-1.patch, HBASE-14969.patch, HBASE-14969_v10.patch, 
> HBASE-14969_v2.patch, HBASE-14969_v3.patch, HBASE-14969_v4.patch, 
> HBASE-14969_v5.patch, HBASE-14969_v6.patch, HBASE-14969_v9.patch, 
> fd78628_9909808_compat_report.html, load-nothrottling.log, load-throttling.log
>
>
> In HBASE-8329 we added a throughput controller for compaction, to avoid spike 
> caused by huge IO pressure like network/disk overflow. However, even with 
> this control on, we are still observing disk utils near 100%, and by analysis 
> we think this is caused by flush, especially when we increase the setting of 
> {{hbase.hstore.flusher.count}}
> In this JIRA, we propose to add throughput control feature for flush, as a 
> supplement of HBASE-8329 to better control IO pressure.



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

Reply via email to