You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by nd...@apache.org on 2014/08/20 21:08:11 UTC

git commit: Document blockcache prefetch option (Misty Stanley-Jones)

Repository: hbase
Updated Branches:
  refs/heads/master c308c37b2 -> 7f5678300


Document blockcache prefetch option (Misty Stanley-Jones)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7f567830
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7f567830
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7f567830

Branch: refs/heads/master
Commit: 7f567830032f6dac027a6e0075987400c93c58f3
Parents: c308c37
Author: Nick Dimiduk <nd...@apache.org>
Authored: Wed Aug 20 11:23:46 2014 -0700
Committer: Nick Dimiduk <nd...@apache.org>
Committed: Wed Aug 20 11:23:46 2014 -0700

----------------------------------------------------------------------
 src/main/docbkx/book.xml        | 14 ++++++++------
 src/main/docbkx/performance.xml | 31 +++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/7f567830/src/main/docbkx/book.xml
----------------------------------------------------------------------
diff --git a/src/main/docbkx/book.xml b/src/main/docbkx/book.xml
index 3a4ff60..be0a65b 100644
--- a/src/main/docbkx/book.xml
+++ b/src/main/docbkx/book.xml
@@ -2139,12 +2139,14 @@ rs.close();
 
         <section xml:id="cache.configurations">
             <title>General Cache Configurations</title>
-            <para>Apart from the cache implementaiton itself, you can set some general
-                configuration options to control how the cache performs.
-               See <link
-                xlink:href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html" />.
-              After setting any of these options, restart or rolling restart your cluster for the
-              configuration to take effect. Check logs for errors or unexpected behavior.</para>
+          <para>Apart from the cache implementaiton itself, you can set some general configuration
+            options to control how the cache performs. See <link
+              xlink:href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html"
+            />. After setting any of these options, restart or rolling restart your cluster for the
+            configuration to take effect. Check logs for errors or unexpected behavior.</para>
+          <para>See also <xref linkend="blockcache.prefetch"/>, which discusses a new option
+            introduced in <link xlink:href="https://issues.apache.org/jira/browse/HBASE-9857"
+              >HBASE-9857</link>.</para>
       </section>
 
         <section

http://git-wip-us.apache.org/repos/asf/hbase/blob/7f567830/src/main/docbkx/performance.xml
----------------------------------------------------------------------
diff --git a/src/main/docbkx/performance.xml b/src/main/docbkx/performance.xml
index 941ecb7..1940663 100644
--- a/src/main/docbkx/performance.xml
+++ b/src/main/docbkx/performance.xml
@@ -219,6 +219,37 @@
         A memory setting for the RegionServer process.
         </para>
     </section>
+    <section xml:id="blockcache.prefetch">
+      <title>Prefetch Option for Blockcache</title>
+      <para><link xlink:href="https://issues.apache.org/jira/browse/HBASE-9857">HBASE-9857</link>
+        adds a new option to prefetch HFile contents when opening the blockcache, if a columnfamily
+        or regionserver property is set. This option is available for HBase 0.98.3 and later. The
+        purpose is to warm the blockcache as rapidly as possible after the cache is opened, using
+        in-memory table data, and not counting the prefetching as cache misses. This is great for
+        fast reads, but is not a good idea if the data to be preloaded will not fit into the
+        blockcache. It is useful for tuning the IO impact of prefetching versus the time before all
+        data blocks are in cache. </para>
+      <para>To enable prefetching on a given column family, you can use HBase Shell or use the
+        API.</para>
+      <example>
+        <title>Enable Prefetch Using HBase Shell</title>
+        <screen>hbase> create 'MyTable', { NAME => 'myCF', PREFETCH_BLOCKS_ON_OPEN => 'true' }</screen>
+      </example>
+      <example>
+        <title>Enable Prefetch Using the API</title>
+        <programlisting language="java">
+// ...
+HTableDescriptor tableDesc = new HTableDescriptor("myTable");
+HColumnDescriptor cfDesc = new HColumnDescriptor("myCF");
+cfDesc.setPrefetchBlocksOnOpen(true);
+tableDesc.addFamily(cfDesc);
+// ...        
+        </programlisting>
+      </example>
+      <para>See the API documentation for <link
+          xlink:href="https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html"
+          >CacheConfig</link>.</para>
+    </section>
     <section xml:id="perf.rs.memstore.size">
         <title><varname>hbase.regionserver.global.memstore.size</varname></title>
         <para>See <xref linkend="hbase.regionserver.global.memstore.size"/>.