You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jd...@apache.org on 2011/12/13 22:56:32 UTC

svn commit: r1213951 - in /hbase/branches/0.92: ./ src/main/java/org/apache/hadoop/hbase/ src/main/java/org/apache/hadoop/hbase/io/hfile/ src/main/java/org/apache/hadoop/hbase/regionserver/ src/main/resources/

Author: jdcryans
Date: Tue Dec 13 21:56:32 2011
New Revision: 1213951

URL: http://svn.apache.org/viewvc?rev=1213951&view=rev
Log:
HBASE-5017  Bump the default hfile.block.cache.size because of HFileV2

Modified:
    hbase/branches/0.92/CHANGES.txt
    hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java
    hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HConstants.java
    hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
    hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
    hbase/branches/0.92/src/main/resources/hbase-default.xml

Modified: hbase/branches/0.92/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/CHANGES.txt?rev=1213951&r1=1213950&r2=1213951&view=diff
==============================================================================
--- hbase/branches/0.92/CHANGES.txt (original)
+++ hbase/branches/0.92/CHANGES.txt Tue Dec 13 21:56:32 2011
@@ -28,6 +28,7 @@ Release 0.92.0 - Unreleased
    HBASE-4715  Remove stale broke .rb scripts from bin dir
    HBASE-3433  Remove the KV copy of every KV in Scan; introduced by HBASE-3232 (Lars H)
    HBASE-5006  Move hbase 0.92RC1 on to hadoop 1.0.0RC2
+   HBASE-5017  Bump the default hfile.block.cache.size because of HFileV2
 
   BUG FIXES
    HBASE-3280  YouAreDeadException being swallowed in HRS getMaster

Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java?rev=1213951&r1=1213950&r2=1213951&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java Tue Dec 13 21:56:32 2011
@@ -74,7 +74,9 @@ public class HBaseConfiguration extends 
   private static void checkForClusterFreeMemoryLimit(Configuration conf) {
       float globalMemstoreLimit = conf.getFloat("hbase.regionserver.global.memstore.upperLimit", 0.4f);
       int gml = (int)(globalMemstoreLimit * CONVERT_TO_PERCENTAGE);
-      float blockCacheUpperLimit = conf.getFloat("hfile.block.cache.size", 0.2f);
+      float blockCacheUpperLimit =
+        conf.getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY,
+          HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT);
       int bcul = (int)(blockCacheUpperLimit * CONVERT_TO_PERCENTAGE);
       if (CONVERT_TO_PERCENTAGE - (gml + bcul)
               < (int)(CONVERT_TO_PERCENTAGE * 

Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HConstants.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HConstants.java?rev=1213951&r1=1213950&r2=1213951&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HConstants.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/HConstants.java Tue Dec 13 21:56:32 2011
@@ -495,6 +495,14 @@ public final class HConstants {
   public static final String HBASE_REGION_SPLIT_POLICY_KEY =
     "hbase.regionserver.region.split.policy";
 
+  /**
+   * Configuration key for the size of the block cache
+   */
+  public static final String HFILE_BLOCK_CACHE_SIZE_KEY =
+    "hfile.block.cache.size";
+
+  public static final float HFILE_BLOCK_CACHE_SIZE_DEFAULT = 0.25f;
+
   /*
     * Minimum percentage of free heap necessary for a successful cluster startup.
     */

Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java?rev=1213951&r1=1213950&r2=1213951&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java Tue Dec 13 21:56:32 2011
@@ -24,6 +24,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HColumnDescriptor;
+import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.regionserver.StoreFile;
 import org.apache.hadoop.hbase.util.DirectMemoryUtils;
 import org.apache.hadoop.util.StringUtils;
@@ -35,12 +36,6 @@ public class CacheConfig {
   private static final Log LOG = LogFactory.getLog(CacheConfig.class.getName());
 
   /**
-   * Configuration key for the size of the block cache, in bytes.
-   */
-  public static final String HFILE_BLOCK_CACHE_SIZE_KEY =
-    "hfile.block.cache.size";
-
-  /**
    * Configuration key to cache data blocks on write. There are separate
    * switches for bloom blocks and non-root index blocks.
    */
@@ -312,13 +307,14 @@ public class CacheConfig {
     if (globalBlockCache != null) return globalBlockCache;
     if (blockCacheDisabled) return null;
 
-    float cachePercentage = conf.getFloat(HFILE_BLOCK_CACHE_SIZE_KEY, 0.2f);
+    float cachePercentage = conf.getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY,
+      HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT);
     if (cachePercentage == 0L) {
       blockCacheDisabled = true;
       return null;
     }
     if (cachePercentage > 1.0) {
-      throw new IllegalArgumentException(HFILE_BLOCK_CACHE_SIZE_KEY +
+      throw new IllegalArgumentException(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY +
         " must be between 0.0 and 1.0, not > 1.0");
     }
 

Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java?rev=1213951&r1=1213950&r2=1213951&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java Tue Dec 13 21:56:32 2011
@@ -81,8 +81,6 @@ import com.google.common.collect.Orderin
 public class StoreFile {
   static final Log LOG = LogFactory.getLog(StoreFile.class.getName());
 
-  static final String HFILE_BLOCK_CACHE_SIZE_KEY = "hfile.block.cache.size";
-
   public static enum BloomType {
     /**
      * Bloomfilters disabled

Modified: hbase/branches/0.92/src/main/resources/hbase-default.xml
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/resources/hbase-default.xml?rev=1213951&r1=1213950&r2=1213951&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/resources/hbase-default.xml (original)
+++ hbase/branches/0.92/src/main/resources/hbase-default.xml Tue Dec 13 21:56:32 2011
@@ -445,13 +445,13 @@
     </description>
   </property>
   <property>
-      <name>hfile.block.cache.size</name>
-      <value>0.2</value>
-      <description>
-          Percentage of maximum heap (-Xmx setting) to allocate to block cache
-          used by HFile/StoreFile. Default of 0.2 means allocate 20%.
-          Set to 0 to disable.
-      </description>
+    <name>hfile.block.cache.size</name>
+    <value>0.25</value>
+    <description>
+        Percentage of maximum heap (-Xmx setting) to allocate to block cache
+        used by HFile/StoreFile. Default of 0.25 means allocate 25%.
+        Set to 0 to disable but it's not recommended.
+    </description>
   </property>
   <property>
     <name>hbase.hash.type</name>