hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas Liochon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9467) write can be totally blocked temporarily by a write-heavy region
Date Mon, 09 Sep 2013 17:06:53 GMT

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

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

It's not fully a duplicate, as this one is about ensuring that a workload of a region does
not impact the others. HBASE-8836 concentrates the writers, freeing resources for the reader.
But an heavy write on a region would block the others.
In any case, if you have a fixed number of worker thread, the activity of someone in the system
can block the others (vs. only slowing them). 

There is no definitive solutions for this (if it's slow and you add queries it will become
slower: like it or not, the regionserver shares its resources between all clients, and the
load of a region impacts the others).  I tend to think that priorities are the best option.
                
> 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

Mime
View raw message