You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2015/09/25 04:26:18 UTC
hbase git commit: HBASE-14469 Fix comment, validation and logging in
HeapMemorySizeUtil.getGlobalMemStoreLowerMark
Repository: hbase
Updated Branches:
refs/heads/branch-1.2 5d3f78284 -> beefd6ea7
HBASE-14469 Fix comment, validation and logging in HeapMemorySizeUtil.getGlobalMemStoreLowerMark
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/beefd6ea
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/beefd6ea
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/beefd6ea
Branch: refs/heads/branch-1.2
Commit: beefd6ea77c22cabf48970b8a3b65925155d90ac
Parents: 5d3f782
Author: Apekshit(Appy) Sharma <ap...@cloudera.com>
Authored: Wed Sep 23 01:17:50 2015 -0700
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Thu Sep 24 19:25:53 2015 -0700
----------------------------------------------------------------------
.../hbase/io/util/HeapMemorySizeUtil.java | 25 +++++++++++++-------
1 file changed, 16 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/beefd6ea/hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/HeapMemorySizeUtil.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/HeapMemorySizeUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/HeapMemorySizeUtil.java
index 1381a21..f1c0750 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/HeapMemorySizeUtil.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/HeapMemorySizeUtil.java
@@ -90,24 +90,31 @@ public class HeapMemorySizeUtil {
}
/**
- * Retrieve configured size for global memstore lower water mark as percentage of total heap.
- * @param c
- * @param globalMemStorePercent
+ * Retrieve configured size for global memstore lower water mark as fraction of global memstore
+ * size.
*/
- public static float getGlobalMemStoreLowerMark(final Configuration c, float globalMemStorePercent) {
- String lowMarkPercentStr = c.get(MEMSTORE_SIZE_LOWER_LIMIT_KEY);
+ public static float getGlobalMemStoreLowerMark(final Configuration conf, float globalMemStorePercent) {
+ String lowMarkPercentStr = conf.get(MEMSTORE_SIZE_LOWER_LIMIT_KEY);
if (lowMarkPercentStr != null) {
- return Float.parseFloat(lowMarkPercentStr);
+ float lowMarkPercent = Float.parseFloat(lowMarkPercentStr);
+ if (lowMarkPercent > 1.0f) {
+ LOG.error("Bad configuration value for " + MEMSTORE_SIZE_LOWER_LIMIT_KEY + ": " +
+ lowMarkPercent + ". Using 1.0f instead.");
+ lowMarkPercent = 1.0f;
+ }
+ return lowMarkPercent;
}
- String lowerWaterMarkOldValStr = c.get(MEMSTORE_SIZE_LOWER_LIMIT_OLD_KEY);
+ String lowerWaterMarkOldValStr = conf.get(MEMSTORE_SIZE_LOWER_LIMIT_OLD_KEY);
if (lowerWaterMarkOldValStr != null) {
LOG.warn(MEMSTORE_SIZE_LOWER_LIMIT_OLD_KEY + " is deprecated. Instead use "
+ MEMSTORE_SIZE_LOWER_LIMIT_KEY);
float lowerWaterMarkOldVal = Float.parseFloat(lowerWaterMarkOldValStr);
if (lowerWaterMarkOldVal > globalMemStorePercent) {
lowerWaterMarkOldVal = globalMemStorePercent;
- LOG.info("Setting globalMemStoreLimitLowMark == globalMemStoreLimit " + "because supplied "
- + MEMSTORE_SIZE_LOWER_LIMIT_OLD_KEY + " was > " + MEMSTORE_SIZE_OLD_KEY);
+ LOG.error("Value of " + MEMSTORE_SIZE_LOWER_LIMIT_OLD_KEY + " (" + lowerWaterMarkOldVal
+ + ") is greater than global memstore limit (" + globalMemStorePercent + ") set by "
+ + MEMSTORE_SIZE_KEY + "/" + MEMSTORE_SIZE_OLD_KEY + ". Setting memstore lower limit "
+ + "to " + globalMemStorePercent);
}
return lowerWaterMarkOldVal / globalMemStorePercent;
}