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.