http://git-wip-us.apache.org/repos/asf/hbase-site/blob/cd7ae54c/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks 
b/apache_hbase_reference_guide.pdfmarks
index 0e5ca79..97924a4 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
   /Author (Apache HBase Team)
   /Subject ()
   /Keywords ()
-  /ModDate (D:20170615145009)
-  /CreationDate (D:20170615145009)
+  /ModDate (D:20170616144948)
+  /CreationDate (D:20170616144948)
   /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
   /Producer ()
   /DOCINFO pdfmark

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/cd7ae54c/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 8a529e9..b60b371 100644
--- a/book.html
+++ b/book.html
@@ -13176,7 +13176,59 @@ Please use <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/clie
 </div>
 </div>
 <div class="sect2">
-<h3 id="client.external"><a class="anchor" href="#client.external"></a>66.3. 
External Clients</h3>
+<h3 id="async.client"><a class="anchor" href="#async.client"></a>66.3. 
Asynchronous Client</h3>
+<div class="paragraph">
+<p>It is a new API introduced in HBase 2.0 which aims to provide the ability 
to access HBase asynchronously.</p>
+</div>
+<div class="paragraph">
+<p>You can obtain an <code>AsyncConnection</code> from 
<code>ConnectionFactory</code>, and then get a asynchronous table instance from 
it to access HBase. When done, close the <code>AsyncConnection</code> 
instance(usually when your program exits).</p>
+</div>
+<div class="paragraph">
+<p>For the asynchronous table, most methods have the same meaning with the old 
<code>Table</code> interface, expect that the return value is wrapped with a 
CompletableFuture usually. We do not have any buffer here so there is no close 
method for asynchronous table, you do not need to close it. And it is thread 
safe.</p>
+</div>
+<div class="paragraph">
+<p>There are several differences for scan:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>There is still a <code>getScanner</code> method which returns a 
<code>ResultScanner</code>. You can use it in the old way and it works like the 
old <code>ClientAsyncPrefetchScanner</code>.</p>
+</li>
+<li>
+<p>There is a <code>scanAll</code> method which will return all the results at 
once. It aims to provide a simpler way for small scans which you want to get 
the whole results at once usually.</p>
+</li>
+<li>
+<p>The Observer Pattern. There is a scan method which accepts a 
<code>ScanResultConsumer</code> as a parameter. It will pass the results to the 
consumer.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Notice that there are two types of asynchronous table, one is 
<code>AsyncTable</code> and the other is <code>RawAsyncTable</code>.</p>
+</div>
+<div class="paragraph">
+<p>For <code>AsyncTable</code>, you need to provide a thread pool when getting 
it. The callbacks registered to the returned CompletableFuture will be executed 
in that thread pool. It is designed for normal users. You are free to do 
anything in the callbacks.</p>
+</div>
+<div class="paragraph">
+<p>For <code>RawAsyncTable</code>, all the callbacks are executed inside the 
framework thread so it is not allowed to do time consuming works in the 
callbacks otherwise you may block the framework thread and cause very bad 
performance impact. It is designed for advanced users who want to write high 
performance code. You can see the 
<code>org.apache.hadoop.hbase.client.example.HttpProxyExample</code> to see how 
to write fully asynchronous code with <code>RawAsyncTable</code>. And 
coprocessor related methods are only in <code>RawAsyncTable</code>.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+<div class="title">On <code>AsyncAdmin</code></div>
+<div class="paragraph">
+<p><code>AsyncAdmin</code> is still under development and marked as 
IA.Private. Use it with caution as we may change the API without any 
announcement.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="client.external"><a class="anchor" href="#client.external"></a>66.4. 
External Clients</h3>
 <div class="paragraph">
 <p>Information on non-Java clients and custom protocols is covered in <a 
href="#external_apis">Apache HBase External APIs</a></p>
 </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/cd7ae54c/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index e16c4bc..86b56de 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170615" />
+    <meta name="Date-Revision-yyyymmdd" content="20170616" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -311,7 +311,7 @@ under the License. -->
                         <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2017-06-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2017-06-16</li>
             </p>
                 </div>
 

Reply via email to