You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2011/01/27 03:20:44 UTC

[jira] Updated: (HBASE-3483) No soft flush trigger on global memstore limit

     [ https://issues.apache.org/jira/browse/HBASE-3483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Todd Lipcon updated HBASE-3483:
-------------------------------

    Attachment: hbase-3483.txt

Here's a patch which may or may not work (tested something like this and it fixed a lot of the blocking behavior, but this isn't exactly the same patch). Will keep working on it.

> No soft flush trigger on global memstore limit
> ----------------------------------------------
>
>                 Key: HBASE-3483
>                 URL: https://issues.apache.org/jira/browse/HBASE-3483
>             Project: HBase
>          Issue Type: Bug
>          Components: performance, regionserver
>    Affects Versions: 0.90.0
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Critical
>             Fix For: 0.90.1
>
>         Attachments: hbase-3483.txt
>
>
> I think this is the reason people see long blocking periods under write load.
> Currently when we hit the global memstore limit, we call reclaimMemStoreMemory() which is synchronized - thus everyone has to wait until the memory has flushed down to the low water mark. This causes every writer to block for 10-15 seconds on a large heap.
> Instead we should start triggering flushes (in another thread) whenever we're above the low water mark. Then only block writers when we're above the high water mark.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.