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.