You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org> on 2010/01/20 20:38:54 UTC

[jira] Created: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too high

hbase.regionserver.global.memstore.lowerLimit is too high
---------------------------------------------------------

                 Key: HBASE-2149
                 URL: https://issues.apache.org/jira/browse/HBASE-2149
             Project: Hadoop HBase
          Issue Type: Bug
            Reporter: Jean-Daniel Cryans
            Assignee: Jean-Daniel Cryans
             Fix For: 0.20.4, 0.21.0


The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.

I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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


[jira] Updated: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too low

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-2149:
-------------------------

    Attachment: 2149.patch

Here is a patch making change to 0.35 from 0.25.  We can open another issue to do Ryans' suggestion (we should be more 'live' about taking on writes as he suggets).

> hbase.regionserver.global.memstore.lowerLimit is too low
> --------------------------------------------------------
>
>                 Key: HBASE-2149
>                 URL: https://issues.apache.org/jira/browse/HBASE-2149
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.20.4, 0.21.0
>
>         Attachments: 2149.patch
>
>
> The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.
> I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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


[jira] Commented: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too low

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12803801#action_12803801 ] 

stack commented on HBASE-2149:
------------------------------

For RC3, do we just want to change the hbase-default lower limit?

> hbase.regionserver.global.memstore.lowerLimit is too low
> --------------------------------------------------------
>
>                 Key: HBASE-2149
>                 URL: https://issues.apache.org/jira/browse/HBASE-2149
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.20.4, 0.21.0
>
>
> The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.
> I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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


[jira] Commented: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too low

Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12802970#action_12802970 ] 

ryan rawson commented on HBASE-2149:
------------------------------------

putting the lower bound to high just means we take more pauses to do smaller flushes. maybe this might be an easy-to-get improvement...

maybe a better solution might be to have a soft limit where we start background flushing until we reach the lower limit. if we outrun that and hit the hard limit, the protection kicks in and pauses all inserts.

> hbase.regionserver.global.memstore.lowerLimit is too low
> --------------------------------------------------------
>
>                 Key: HBASE-2149
>                 URL: https://issues.apache.org/jira/browse/HBASE-2149
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.20.4, 0.21.0
>
>
> The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.
> I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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


[jira] Commented: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too low

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12802957#action_12802957 ] 

stack commented on HBASE-2149:
------------------------------

Chatting w/ J-D, it was set by me -- I think -- at 0.4 and 0.25 because of PE-itis, a condition that comes of loading only using the PE tool.  Symptoms are inability at being able to comprehend any other type of loading pattern.  This issue is prompted by a fella loading hbase with UUID keys would likely spread writes nice and evenly across the cluster requiring the flushing of many regions to go from 0.4 to 0.25.  0.4/.38?  We could try it.  Or 0.4 and 0.35?

> hbase.regionserver.global.memstore.lowerLimit is too low
> --------------------------------------------------------
>
>                 Key: HBASE-2149
>                 URL: https://issues.apache.org/jira/browse/HBASE-2149
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.20.4, 0.21.0
>
>
> The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.
> I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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


[jira] Commented: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too low

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12802977#action_12802977 ] 

Jean-Daniel Cryans commented on HBASE-2149:
-------------------------------------------

I agree with Ryan. Could the MemStoreFlusher also check the state of the global size (if higher than the lower bound) when it doesn't have any region to flush?

> hbase.regionserver.global.memstore.lowerLimit is too low
> --------------------------------------------------------
>
>                 Key: HBASE-2149
>                 URL: https://issues.apache.org/jira/browse/HBASE-2149
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.20.4, 0.21.0
>
>
> The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.
> I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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


[jira] Updated: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too low

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Daniel Cryans updated HBASE-2149:
--------------------------------------

    Summary: hbase.regionserver.global.memstore.lowerLimit is too low  (was: hbase.regionserver.global.memstore.lowerLimit is too high)

> hbase.regionserver.global.memstore.lowerLimit is too low
> --------------------------------------------------------
>
>                 Key: HBASE-2149
>                 URL: https://issues.apache.org/jira/browse/HBASE-2149
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.20.4, 0.21.0
>
>
> The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.
> I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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


[jira] Commented: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too low

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12803806#action_12803806 ] 

Jean-Daniel Cryans commented on HBASE-2149:
-------------------------------------------

Good idea, I vote for a conservative value of 0.35 like you commented.

> hbase.regionserver.global.memstore.lowerLimit is too low
> --------------------------------------------------------
>
>                 Key: HBASE-2149
>                 URL: https://issues.apache.org/jira/browse/HBASE-2149
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.20.4, 0.21.0
>
>
> The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.
> I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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


[jira] Resolved: (HBASE-2149) hbase.regionserver.global.memstore.lowerLimit is too low

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack resolved HBASE-2149.
--------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 0.20.4)
                   0.20.3
         Assignee: stack  (was: Jean-Daniel Cryans)
     Hadoop Flags: [Reviewed]

Committed branch and trunk the change of low limit from 0.25 to 0.35.  Opened HBASE-2158 to implement Ryans' suggestion.

> hbase.regionserver.global.memstore.lowerLimit is too low
> --------------------------------------------------------
>
>                 Key: HBASE-2149
>                 URL: https://issues.apache.org/jira/browse/HBASE-2149
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: stack
>             Fix For: 0.20.3, 0.21.0
>
>         Attachments: 2149.patch
>
>
> The default value of hbase.regionserver.global.memstore.lowerLimit of 25% is very wrong and in almost all cases was problematic (I've seen this in at least 3 occurrences). The cost of flushing a memstore is fairly high and when the global size reaches 40% then ALL inserts are blocked. This means that with a heap of 1GB you could be flushing for 10-20 seconds or worse.
> I suggest a default setting of 38% or even 40% so that only a region or two will be flushed (the biggest ones) for maximum availability.

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