Author: tedyu
Date: Tue Feb  7 21:41:45 2012
New Revision: 1241644

URL: http://svn.apache.org/viewvc?rev=1241644&view=rev
Log:
HBASE-5267  Add a configuration to disable the slab cache by default (Li Pi)

Modified:
    hbase/trunk/conf/hbase-env.sh
    hbase/trunk/src/docbkx/upgrading.xml
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
    hbase/trunk/src/main/resources/hbase-default.xml

Modified: hbase/trunk/conf/hbase-env.sh
URL: 
http://svn.apache.org/viewvc/hbase/trunk/conf/hbase-env.sh?rev=1241644&r1=1241643&r2=1241644&view=diff
==============================================================================
--- hbase/trunk/conf/hbase-env.sh (original)
+++ hbase/trunk/conf/hbase-env.sh Tue Feb  7 21:41:45 2012
@@ -45,7 +45,7 @@ export HBASE_OPTS="-XX:+UseConcMarkSweep
 
 # Uncomment below if you intend to use the EXPERIMENTAL off heap cache.
 # export HBASE_OPTS="$HBASE_OPTS -XX:MaxDirectMemorySize="
-# Set hbase.offheapcachesize in hbase-site.xml
+# Set hbase.offheapcache.percentage in hbase-site.xml to a nonzero value.
 
 
 # Uncomment and adjust to enable JMX exporting

Modified: hbase/trunk/src/docbkx/upgrading.xml
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/docbkx/upgrading.xml?rev=1241644&r1=1241643&r2=1241644&view=diff
==============================================================================
--- hbase/trunk/src/docbkx/upgrading.xml (original)
+++ hbase/trunk/src/docbkx/upgrading.xml Tue Feb  7 21:41:45 2012
@@ -171,7 +171,7 @@ The block size default size has been cha
 </title>
 <para>
 A new cache was contributed to 0.92.0 to act as a solution between using the 
“on-heap” cache which is the current LRU cache the region servers have and 
the operating system cache which is out of our control. 
-To enable, set “-XX:MaxDirectMemorySize” in hbase-env.sh to the value that 
you want to dedicate to that cache. This should only be set for servers and not 
for clients; in fact, if you already had to add that configuration on for any 
reason and still use it today it’s going to enable this feature. Use at your 
own risk.
+To enable, set “-XX:MaxDirectMemorySize” in hbase-env.sh to the value for 
maximum direct memory size and specify hbase.offheapcache.percentage in 
hbase-site.xml with the percentage that you want to dedicate to off-heap cache. 
This should only be set for servers and not for clients. Use at your own risk.
 See this blog post for additional information on this new experimental 
feature: http://www.cloudera.com/blog/2012/01/caching-in-hbase-slabcache/
 </para>
 </section>

Modified: 
hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java?rev=1241644&r1=1241643&r2=1241644&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java 
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java 
Tue Feb  7 21:41:45 2012
@@ -329,7 +329,7 @@ public class CacheConfig {
     }
     if (cachePercentage > 1.0) {
       throw new IllegalArgumentException(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY 
+
-        " must be between 0.0 and 1.0, not > 1.0");
+        " must be between 0.0 and 1.0, and not > 1.0");
     }
 
     // Calculate the amount of heap to give the heap.
@@ -338,7 +338,7 @@ public class CacheConfig {
     int blockSize = conf.getInt("hbase.offheapcache.minblocksize",
         HFile.DEFAULT_BLOCKSIZE);
     long offHeapCacheSize =
-      (long) (conf.getFloat("hbase.offheapcache.percentage", (float) 0.95) *
+      (long) (conf.getFloat("hbase.offheapcache.percentage", (float) 0) *
           DirectMemoryUtils.getDirectMemorySize());
     LOG.info("Allocating LruBlockCache with maximum size " +
       StringUtils.humanReadableInt(cacheSize));

Modified: hbase/trunk/src/main/resources/hbase-default.xml
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/main/resources/hbase-default.xml?rev=1241644&r1=1241643&r2=1241644&view=diff
==============================================================================
--- hbase/trunk/src/main/resources/hbase-default.xml (original)
+++ hbase/trunk/src/main/resources/hbase-default.xml Tue Feb  7 21:41:45 2012
@@ -851,4 +851,13 @@
      hbase.thrift.maxQueuedRequests threads.
      </description>
    </property>
+     <property>
+     <name>hbase.offheapcache.percentage</name>
+     <value>0</value>
+     <description>
+     The amount of off heap space to be allocated towards the experimental
+     off heap cache. If you desire the cache to be disabled, simply set this
+     value to 0.
+     </description>
+   </property>
 </configuration>


Reply via email to