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

Nicolas Liochon commented on HBASE-9467:
----------------------------------------

Yes. But I can't say how much we would gain.
Ideally, we should have one thread, and any i/o would put be put on the queue 
list. And we would not use the queue if there is no i/o.

We have Reader -> queue -> ThreadPool execution the 'Call'. It's not ideal to 
have a queue if there is no i/o.

But I've just tested that (removing this queue, Reader calling 'Call', after 
having removed all the synchronization), and the difference in performances was 
minimal. May be 5%.  So it's not our bottleneck today.

This said, I hope it will become our bottleneck a day, hence this idea of doing 
a 50% between what we do w/o thinking and what we put in a priority list.


                
> write can be totally blocked temporarily by a write-heavy region
> ----------------------------------------------------------------
>
>                 Key: HBASE-9467
>                 URL: https://issues.apache.org/jira/browse/HBASE-9467
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Feng Honghua
>            Priority: Minor
>
> Write to a region can be blocked temporarily if the memstore of that region 
> reaches the threshold(hbase.hregion.memstore.block.multiplier * 
> hbase.hregion.flush.size) until the memstore of that region is flushed.
> For a write-heavy region, if its write requests saturates all the handler 
> threads of that RS when write blocking for that region occurs, requests of 
> other regions/tables to that RS also can't be served due to no available 
> handler threads...until the pending writes of that write-heavy region are 
> served after the flush is done. Hence during this time period, from the RS 
> perspective it can't serve any request from any table/region just due to a 
> single write-heavy region.
> This sounds not very reasonable, right? Maybe write requests from a region 
> can only be served by a sub-set of the handler threads, and then write 
> blocking of any single region can't lead to the scenario mentioned above?
> Comment?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to