[ https://issues.apache.org/jira/browse/HBASE-14969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15101226#comment-15101226 ]
Yu Li commented on HBASE-14969: ------------------------------- {quote} Does the field have to be volatile ? I don't see synchronization around access to the field. {quote} It was marked as volatile and I didn't change this during the refactoring. I guess this just follows other Stopable implementation like HRegionServer to make the field volatile. However, based on current logic, I don't think stop method of ThroughputController will be called in parallel. I'm hesitating whether to leave it as is or remove the volatile qualifier. What's your opinion [~tedyu]? Regarding synchronization, the findbugs warning was in HRegion class not this NoLimitThroughputController, and I don't think we need synchronization on this volatile since there's no operation like increment which needs additional atomic bq. 'is tune' -> 'is tuned' This is also a copy-paste line... will fix it in the next patch, after got the confirmation on how to deal with the above volatile filed. > 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 > > > 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)