[
https://issues.apache.org/jira/browse/HBASE-14969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15102910#comment-15102910
]
Duo Zhang commented on HBASE-14969:
-----------------------------------
In general, since we have a new package 'controller' and flush related
controller classes are put in that package, I suggest we also move compaction
related controller classes into that package. And I think the package name
should be ‘throttle’? The reason I chose the name 'ThroughputController' is
that there is already a 'throttle' when selecting thread pool when doing
compaction. But 'controller' usually leads people to the scope of MVC, so I
think we should use 'throttle' here.
And do we need two different {{NoLimitThroughputController}} for flush and
compaction? I do not think it is worth introducing two classes with only
different {{toString}} methods...
The whole patch looks good to me, no big concerns.
Thanks.
> Add throughput controller for flush
> -----------------------------------
>
> Key: HBASE-14969
> URL: https://issues.apache.org/jira/browse/HBASE-14969
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 2.0.0
> Reporter: Yu Li
> Assignee: Yu Li
> Fix For: 2.0.0, 1.3.0
>
> Attachments: HBASE-14969.patch, HBASE-14969_v2.patch,
> HBASE-14969_v3.patch, HBASE-14969_v4.patch, HBASE-14969_v5.patch,
> HBASE-14969_v6.patch, 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)