http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html 
b/devapidocs/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html
index 556565c..248e48c 100644
--- a/devapidocs/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.1027">Canary.RegionServerMonitor</a>
+<pre>private static class <a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.1026">Canary.RegionServerMonitor</a>
 extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html" 
title="class in org.apache.hadoop.hbase.tool">Canary.Monitor</a></pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>allRegions</h4>
-<pre>private&nbsp;boolean <a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1029">allRegions</a></pre>
+<pre>private&nbsp;boolean <a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1028">allRegions</a></pre>
 </li>
 </ul>
 </li>
@@ -257,7 +257,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Canary.RegionServerMonitor</h4>
-<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1031">Canary.RegionServerMonitor</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Connection.html" 
title="interface in 
org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1030">Canary.RegionServerMonitor</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Connection.html" 
title="interface in 
org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                           <a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>[]&nbsp;monitorTargets,
                           boolean&nbsp;useRegExp,
                           <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.ExtendedSink.html" 
title="interface in 
org.apache.hadoop.hbase.tool">Canary.ExtendedSink</a>&nbsp;sink,
@@ -280,7 +280,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSink</h4>
-<pre>private&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.ExtendedSink.html" 
title="interface in 
org.apache.hadoop.hbase.tool">Canary.ExtendedSink</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1038">getSink</a>()</pre>
+<pre>private&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.ExtendedSink.html" 
title="interface in 
org.apache.hadoop.hbase.tool">Canary.ExtendedSink</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1037">getSink</a>()</pre>
 </li>
 </ul>
 <a name="run()">
@@ -289,7 +289,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1043">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1042">run</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()"
 title="class or interface in java.lang">run</a></code>&nbsp;in 
interface&nbsp;<code><a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true";
 title="class or interface in java.lang">Runnable</a></code></dd>
@@ -304,7 +304,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkNoTableNames</h4>
-<pre>private&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1052">checkNoTableNames</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1051">checkNoTableNames</a>()</pre>
 </li>
 </ul>
 <a name="monitorRegionServers(java.util.Map)">
@@ -313,7 +313,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockList">
 <li class="blockList">
 <h4>monitorRegionServers</h4>
-<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1085">monitorRegionServers</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;rsAndRMap)</pre>
+<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1084">monitorRegionServers</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;rsAndRMap)</pre>
 </li>
 </ul>
 <a name="filterRegionServerByName()">
@@ -322,7 +322,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRegionServerByName</h4>
-<pre>private&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1133">filterRegionServerByName</a>()</pre>
+<pre>private&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1132">filterRegionServerByName</a>()</pre>
 </li>
 </ul>
 <a name="getAllRegionServerByName()">
@@ -331,7 +331,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllRegionServerByName</h4>
-<pre>private&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1139">getAllRegionServerByName</a>()</pre>
+<pre>private&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1138">getAllRegionServerByName</a>()</pre>
 </li>
 </ul>
 <a name="doFilterRegionServerByName(java.util.Map)">
@@ -340,7 +340,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doFilterRegionServerByName</h4>
-<pre>private&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1186">doFilterRegionServerByName</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a href="
 http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true"; 
title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;fullRsAndRMap)</pre>
+<pre>private&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#line.1185">doFilterRegionServerByName</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true";
 title="class or interface in java.util">Map</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>,<a href="
 http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true"; 
title="class or interface in java.util">List</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in 
org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;fullRsAndRMap)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/org/apache/hadoop/hbase/tool/Canary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tool/Canary.html 
b/devapidocs/org/apache/hadoop/hbase/tool/Canary.html
index cb21083..28f082a 100644
--- a/devapidocs/org/apache/hadoop/hbase/tool/Canary.html
+++ b/devapidocs/org/apache/hadoop/hbase/tool/Canary.html
@@ -693,7 +693,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>printUsageAndExit</h4>
-<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.647">printUsageAndExit</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.646">printUsageAndExit</a>()</pre>
 </li>
 </ul>
 <a name="newMonitor(org.apache.hadoop.hbase.client.Connection, int, 
java.lang.String[])">
@@ -702,7 +702,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>newMonitor</h4>
-<pre>public&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html" 
title="class in org.apache.hadoop.hbase.tool">Canary.Monitor</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.680">newMonitor</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Connection.html" 
title="interface in 
org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>public&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html" 
title="class in org.apache.hadoop.hbase.tool">Canary.Monitor</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.679">newMonitor</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Connection.html" 
title="interface in 
org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                         int&nbsp;index,
                         <a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
 <div class="block">A Factory method for <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Monitor.html" 
title="class in org.apache.hadoop.hbase.tool"><code>Canary.Monitor</code></a>.
@@ -717,7 +717,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>sniff</h4>
-<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.962">sniff</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Admin.html" 
title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
+<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.961">sniff</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Admin.html" 
title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
          <a href="../../../../../org/apache/hadoop/hbase/TableName.html" 
title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                   throws <a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Canary entry point for specified table.</div>
@@ -731,7 +731,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>sniff</h4>
-<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.971">sniff</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Admin.html" 
title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
+<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.970">sniff</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Admin.html" 
title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
          <a href="../../../../../org/apache/hadoop/hbase/TableName.html" 
title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
          <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.RegionTask.TaskType.html"
 title="enum in 
org.apache.hadoop.hbase.tool">Canary.RegionTask.TaskType</a>&nbsp;taskType)
                   throws <a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
@@ -746,7 +746,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>sniff</h4>
-<pre>private static&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true";
 title="class or interface in java.util.concurrent">Future</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true";
 title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.985">sniff</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Admin.html" 
title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
+<pre>private static&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true";
 title="class or interface in java.util.concurrent">Future</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true";
 title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.984">sniff</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Admin.html" 
title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
                        <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Sink.html" 
title="interface in org.apache.hadoop.hbase.tool">Canary.Sink</a>&nbsp;sink,
                        <a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;tableName,
                        <a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true";
 title="class or interface in 
java.util.concurrent">ExecutorService</a>&nbsp;executor,
@@ -763,7 +763,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>sniff</h4>
-<pre>private static&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true";
 title="class or interface in java.util.concurrent">Future</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true";
 title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.1003">sniff</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Admin.html" 
title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
+<pre>private static&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true";
 title="class or interface in java.util">List</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true";
 title="class or interface in java.util.concurrent">Future</a>&lt;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true";
 title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.1002">sniff</a>(<a
 href="../../../../../org/apache/hadoop/hbase/client/Admin.html" 
title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
                        <a 
href="../../../../../org/apache/hadoop/hbase/tool/Canary.Sink.html" 
title="interface in org.apache.hadoop.hbase.tool">Canary.Sink</a>&nbsp;sink,
                        <a 
href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" 
title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;tableDesc,
                        <a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true";
 title="class or interface in 
java.util.concurrent">ExecutorService</a>&nbsp;executor,
@@ -779,7 +779,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.1225">main</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/tool/Canary.html#line.1224">main</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html 
b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index c529262..13d300e 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -461,9 +461,9 @@
 <ul>
 <li type="circle">java.lang.<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true";
 title="class or interface in java.lang"><span 
class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true";
 title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a 
href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true";
 title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="strong">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> 
(implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="strong">ChecksumType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="strong">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="strong">ChecksumType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="strong">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> 
(implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="strong">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="strong">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> 
(implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in 
org.apache.hadoop.hbase.util"><span class="strong">Order</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html 
b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index 515651f..f00a837 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -148,9 +148,9 @@
 <ul>
 <li type="circle">java.lang.<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true";
 title="class or interface in java.lang"><span 
class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true";
 title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a 
href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true";
 title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="strong">WALKey.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html"
 title="enum in org.apache.hadoop.hbase.wal"><span 
class="strong">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="strong">WALFactory.Providers</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="strong">WALKey.Version</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/ClusterConnection.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ClusterConnection.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ClusterConnection.html
index d77598a..1670cae 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/ClusterConnection.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/ClusterConnection.html
@@ -311,7 +311,12 @@
 <span class="sourceLineNo">303</span>   */<a name="line.303"></a>
 <span class="sourceLineNo">304</span>  public MetricsConnection 
getConnectionMetrics();<a name="line.304"></a>
 <span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>}<a name="line.306"></a>
+<span class="sourceLineNo">306</span>  /**<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @return true when this connection 
uses a {@link org.apache.hadoop.hbase.codec.Codec} and so<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   *         supports cell blocks.<a 
name="line.308"></a>
+<span class="sourceLineNo">309</span>   */<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  boolean hasCellBlockSupport();<a 
name="line.310"></a>
+<span class="sourceLineNo">311</span>}<a name="line.311"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceState.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceState.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceState.html
index 16f504e..00013eb 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceState.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceState.html
@@ -2263,7 +2263,12 @@
 <span class="sourceLineNo">2255</span>    return RpcRetryingCallerFactory<a 
name="line.2255"></a>
 <span class="sourceLineNo">2256</span>        .instantiate(conf, 
this.interceptor, this.getStatisticsTracker());<a name="line.2256"></a>
 <span class="sourceLineNo">2257</span>  }<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>}<a name="line.2258"></a>
+<span class="sourceLineNo">2258</span><a name="line.2258"></a>
+<span class="sourceLineNo">2259</span>  @Override<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span>  public boolean hasCellBlockSupport() 
{<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span>    return 
this.rpcClient.hasCellBlockSupport();<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span>  }<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span>}<a name="line.2263"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceStubMaker.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceStubMaker.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceStubMaker.html
index 16f504e..00013eb 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceStubMaker.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.MasterServiceStubMaker.html
@@ -2263,7 +2263,12 @@
 <span class="sourceLineNo">2255</span>    return RpcRetryingCallerFactory<a 
name="line.2255"></a>
 <span class="sourceLineNo">2256</span>        .instantiate(conf, 
this.interceptor, this.getStatisticsTracker());<a name="line.2256"></a>
 <span class="sourceLineNo">2257</span>  }<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>}<a name="line.2258"></a>
+<span class="sourceLineNo">2258</span><a name="line.2258"></a>
+<span class="sourceLineNo">2259</span>  @Override<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span>  public boolean hasCellBlockSupport() 
{<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span>    return 
this.rpcClient.hasCellBlockSupport();<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span>  }<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span>}<a name="line.2263"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.NoNonceGenerator.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.NoNonceGenerator.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.NoNonceGenerator.html
index 16f504e..00013eb 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.NoNonceGenerator.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.NoNonceGenerator.html
@@ -2263,7 +2263,12 @@
 <span class="sourceLineNo">2255</span>    return RpcRetryingCallerFactory<a 
name="line.2255"></a>
 <span class="sourceLineNo">2256</span>        .instantiate(conf, 
this.interceptor, this.getStatisticsTracker());<a name="line.2256"></a>
 <span class="sourceLineNo">2257</span>  }<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>}<a name="line.2258"></a>
+<span class="sourceLineNo">2258</span><a name="line.2258"></a>
+<span class="sourceLineNo">2259</span>  @Override<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span>  public boolean hasCellBlockSupport() 
{<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span>    return 
this.rpcClient.hasCellBlockSupport();<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span>  }<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span>}<a name="line.2263"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.ServerErrors.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.ServerErrors.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.ServerErrors.html
index 16f504e..00013eb 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.ServerErrors.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.ServerErrors.html
@@ -2263,7 +2263,12 @@
 <span class="sourceLineNo">2255</span>    return RpcRetryingCallerFactory<a 
name="line.2255"></a>
 <span class="sourceLineNo">2256</span>        .instantiate(conf, 
this.interceptor, this.getStatisticsTracker());<a name="line.2256"></a>
 <span class="sourceLineNo">2257</span>  }<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>}<a name="line.2258"></a>
+<span class="sourceLineNo">2258</span><a name="line.2258"></a>
+<span class="sourceLineNo">2259</span>  @Override<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span>  public boolean hasCellBlockSupport() 
{<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span>    return 
this.rpcClient.hasCellBlockSupport();<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span>  }<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span>}<a name="line.2263"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.html
index 16f504e..00013eb 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.ServerErrorTracker.html
@@ -2263,7 +2263,12 @@
 <span class="sourceLineNo">2255</span>    return RpcRetryingCallerFactory<a 
name="line.2255"></a>
 <span class="sourceLineNo">2256</span>        .instantiate(conf, 
this.interceptor, this.getStatisticsTracker());<a name="line.2256"></a>
 <span class="sourceLineNo">2257</span>  }<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>}<a name="line.2258"></a>
+<span class="sourceLineNo">2258</span><a name="line.2258"></a>
+<span class="sourceLineNo">2259</span>  @Override<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span>  public boolean hasCellBlockSupport() 
{<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span>    return 
this.rpcClient.hasCellBlockSupport();<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span>  }<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span>}<a name="line.2263"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.StubMaker.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.StubMaker.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.StubMaker.html
index 16f504e..00013eb 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.StubMaker.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.StubMaker.html
@@ -2263,7 +2263,12 @@
 <span class="sourceLineNo">2255</span>    return RpcRetryingCallerFactory<a 
name="line.2255"></a>
 <span class="sourceLineNo">2256</span>        .instantiate(conf, 
this.interceptor, this.getStatisticsTracker());<a name="line.2256"></a>
 <span class="sourceLineNo">2257</span>  }<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>}<a name="line.2258"></a>
+<span class="sourceLineNo">2258</span><a name="line.2258"></a>
+<span class="sourceLineNo">2259</span>  @Override<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span>  public boolean hasCellBlockSupport() 
{<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span>    return 
this.rpcClient.hasCellBlockSupport();<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span>  }<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span>}<a name="line.2263"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.html
index 16f504e..00013eb 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/ConnectionImplementation.html
@@ -2263,7 +2263,12 @@
 <span class="sourceLineNo">2255</span>    return RpcRetryingCallerFactory<a 
name="line.2255"></a>
 <span class="sourceLineNo">2256</span>        .instantiate(conf, 
this.interceptor, this.getStatisticsTracker());<a name="line.2256"></a>
 <span class="sourceLineNo">2257</span>  }<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>}<a name="line.2258"></a>
+<span class="sourceLineNo">2258</span><a name="line.2258"></a>
+<span class="sourceLineNo">2259</span>  @Override<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span>  public boolean hasCellBlockSupport() 
{<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span>    return 
this.rpcClient.hasCellBlockSupport();<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span>  }<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span>}<a name="line.2263"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/8bb348c6/devapidocs/src-html/org/apache/hadoop/hbase/client/MultiServerCallable.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/MultiServerCallable.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/MultiServerCallable.html
index 6c830ef..ef58399 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/client/MultiServerCallable.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/client/MultiServerCallable.html
@@ -30,154 +30,150 @@
 <span class="sourceLineNo">022</span>import java.util.List;<a 
name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.Map;<a 
name="line.23"></a>
 <span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import 
org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import 
org.apache.hadoop.hbase.CellScannable;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import 
org.apache.hadoop.hbase.CellUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import 
org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import 
org.apache.hadoop.hbase.HConstants;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import 
org.apache.hadoop.hbase.HRegionInfo;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import 
org.apache.hadoop.hbase.HRegionLocation;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import 
org.apache.hadoop.hbase.ServerName;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import 
org.apache.hadoop.hbase.TableName;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import 
org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import 
org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import 
org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import 
org.apache.hadoop.hbase.protobuf.RequestConverter;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import 
org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a 
name="line.40"></a>
-<span class="sourceLineNo">041</span>import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a 
name="line.41"></a>
-<span class="sourceLineNo">042</span>import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a 
name="line.42"></a>
-<span class="sourceLineNo">043</span>import 
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>import 
com.google.common.annotations.VisibleForTesting;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import 
com.google.protobuf.ServiceException;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>/**<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * Callable that handles the 
&lt;code&gt;multi&lt;/code&gt; method call going against a single<a 
name="line.49"></a>
-<span class="sourceLineNo">050</span> * regionserver; i.e. A {@link 
RegionServerCallable} for the multi call (It is not a<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * {@link RegionServerCallable} that goes 
against multiple regions.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * @param &lt;R&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>class MultiServerCallable&lt;R&gt; 
extends RegionServerCallable&lt;MultiResponse&gt; implements Cancellable {<a 
name="line.54"></a>
-<span class="sourceLineNo">055</span>  private final MultiAction&lt;R&gt; 
multiAction;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private final boolean cellBlock;<a 
name="line.56"></a>
-<span class="sourceLineNo">057</span>  private final 
PayloadCarryingRpcController controller;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  MultiServerCallable(final 
ClusterConnection connection, final TableName tableName,<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      final ServerName location, 
RpcControllerFactory rpcFactory, final MultiAction&lt;R&gt; multi) {<a 
name="line.60"></a>
-<span class="sourceLineNo">061</span>    super(connection, tableName, null);<a 
name="line.61"></a>
-<span class="sourceLineNo">062</span>    this.multiAction = multi;<a 
name="line.62"></a>
-<span class="sourceLineNo">063</span>    // RegionServerCallable has 
HRegionLocation field, but this is a multi-region request.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    // Using region info from parent 
HRegionLocation would be a mistake for this class; so<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    // we will store the server here, and 
throw if someone tries to obtain location/regioninfo.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    this.location = new 
HRegionLocation(null, location);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    this.cellBlock = isCellBlock();<a 
name="line.67"></a>
-<span class="sourceLineNo">068</span>    controller = 
rpcFactory.newController();<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  @Override<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  protected HRegionLocation getLocation() 
{<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    throw new RuntimeException("Cannot 
get region location for multi-region request");<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  @Override<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public HRegionInfo getHRegionInfo() {<a 
name="line.77"></a>
-<span class="sourceLineNo">078</span>    throw new RuntimeException("Cannot 
get region info for multi-region request");<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  MultiAction&lt;R&gt; getMulti() {<a 
name="line.81"></a>
-<span class="sourceLineNo">082</span>    return this.multiAction;<a 
name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  @Override<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public MultiResponse call(int 
callTimeout) throws IOException {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    int countOfActions = 
this.multiAction.size();<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    if (countOfActions &lt;= 0) throw new 
DoNotRetryIOException("No Actions");<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    MultiRequest.Builder 
multiRequestBuilder = MultiRequest.newBuilder();<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    RegionAction.Builder 
regionActionBuilder = RegionAction.newBuilder();<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    ClientProtos.Action.Builder 
actionBuilder = ClientProtos.Action.newBuilder();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    MutationProto.Builder mutationBuilder 
= MutationProto.newBuilder();<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    List&lt;CellScannable&gt; cells = 
null;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    // The multi object is a list of 
Actions by region.  Iterate by region.<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    long nonceGroup = 
multiAction.getNonceGroup();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    if (nonceGroup != 
HConstants.NO_NONCE) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      
multiRequestBuilder.setNonceGroup(nonceGroup);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    for (Map.Entry&lt;byte[], 
List&lt;Action&lt;R&gt;&gt;&gt; e: this.multiAction.actions.entrySet()) {<a 
name="line.99"></a>
-<span class="sourceLineNo">100</span>      final byte [] regionName = 
e.getKey();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      final List&lt;Action&lt;R&gt;&gt; 
actions = e.getValue();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      regionActionBuilder.clear();<a 
name="line.102"></a>
-<span class="sourceLineNo">103</span>      
regionActionBuilder.setRegion(RequestConverter.buildRegionSpecifier(<a 
name="line.103"></a>
-<span class="sourceLineNo">104</span>          
HBaseProtos.RegionSpecifier.RegionSpecifierType.REGION_NAME, regionName));<a 
name="line.104"></a>
+<span class="sourceLineNo">025</span>import 
org.apache.hadoop.hbase.CellScannable;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import 
org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import 
org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import 
org.apache.hadoop.hbase.HConstants;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import 
org.apache.hadoop.hbase.HRegionInfo;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import 
org.apache.hadoop.hbase.HRegionLocation;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import 
org.apache.hadoop.hbase.ServerName;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import 
org.apache.hadoop.hbase.TableName;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import 
org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import 
org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import 
org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import 
org.apache.hadoop.hbase.protobuf.RequestConverter;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import 
org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span>import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a 
name="line.40"></a>
+<span class="sourceLineNo">041</span>import 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a 
name="line.41"></a>
+<span class="sourceLineNo">042</span>import 
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>import 
com.google.common.annotations.VisibleForTesting;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import 
com.google.protobuf.ServiceException;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>/**<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * Callable that handles the 
&lt;code&gt;multi&lt;/code&gt; method call going against a single<a 
name="line.48"></a>
+<span class="sourceLineNo">049</span> * regionserver; i.e. A {@link 
RegionServerCallable} for the multi call (It is not a<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * {@link RegionServerCallable} that goes 
against multiple regions.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * @param &lt;R&gt;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> */<a name="line.52"></a>
+<span class="sourceLineNo">053</span>class MultiServerCallable&lt;R&gt; 
extends RegionServerCallable&lt;MultiResponse&gt; implements Cancellable {<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span>  private final MultiAction&lt;R&gt; 
multiAction;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private final boolean cellBlock;<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span>  private final 
PayloadCarryingRpcController controller;<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  MultiServerCallable(final 
ClusterConnection connection, final TableName tableName,<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      final ServerName location, 
RpcControllerFactory rpcFactory, final MultiAction&lt;R&gt; multi) {<a 
name="line.59"></a>
+<span class="sourceLineNo">060</span>    super(connection, tableName, null);<a 
name="line.60"></a>
+<span class="sourceLineNo">061</span>    this.multiAction = multi;<a 
name="line.61"></a>
+<span class="sourceLineNo">062</span>    // RegionServerCallable has 
HRegionLocation field, but this is a multi-region request.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    // Using region info from parent 
HRegionLocation would be a mistake for this class; so<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    // we will store the server here, and 
throw if someone tries to obtain location/regioninfo.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    this.location = new 
HRegionLocation(null, location);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    this.cellBlock = isCellBlock();<a 
name="line.66"></a>
+<span class="sourceLineNo">067</span>    controller = 
rpcFactory.newController();<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @Override<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  protected HRegionLocation getLocation() 
{<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    throw new RuntimeException("Cannot 
get region location for multi-region request");<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  }<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public HRegionInfo getHRegionInfo() {<a 
name="line.76"></a>
+<span class="sourceLineNo">077</span>    throw new RuntimeException("Cannot 
get region info for multi-region request");<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  MultiAction&lt;R&gt; getMulti() {<a 
name="line.80"></a>
+<span class="sourceLineNo">081</span>    return this.multiAction;<a 
name="line.81"></a>
+<span class="sourceLineNo">082</span>  }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>  @Override<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  public MultiResponse call(int 
callTimeout) throws IOException {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    int countOfActions = 
this.multiAction.size();<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    if (countOfActions &lt;= 0) throw new 
DoNotRetryIOException("No Actions");<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    MultiRequest.Builder 
multiRequestBuilder = MultiRequest.newBuilder();<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    RegionAction.Builder 
regionActionBuilder = RegionAction.newBuilder();<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    ClientProtos.Action.Builder 
actionBuilder = ClientProtos.Action.newBuilder();<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    MutationProto.Builder mutationBuilder 
= MutationProto.newBuilder();<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    List&lt;CellScannable&gt; cells = 
null;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    // The multi object is a list of 
Actions by region.  Iterate by region.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    long nonceGroup = 
multiAction.getNonceGroup();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (nonceGroup != 
HConstants.NO_NONCE) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      
multiRequestBuilder.setNonceGroup(nonceGroup);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    }<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    for (Map.Entry&lt;byte[], 
List&lt;Action&lt;R&gt;&gt;&gt; e: this.multiAction.actions.entrySet()) {<a 
name="line.98"></a>
+<span class="sourceLineNo">099</span>      final byte [] regionName = 
e.getKey();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      final List&lt;Action&lt;R&gt;&gt; 
actions = e.getValue();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      regionActionBuilder.clear();<a 
name="line.101"></a>
+<span class="sourceLineNo">102</span>      
regionActionBuilder.setRegion(RequestConverter.buildRegionSpecifier(<a 
name="line.102"></a>
+<span class="sourceLineNo">103</span>          
HBaseProtos.RegionSpecifier.RegionSpecifierType.REGION_NAME, regionName));<a 
name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
 <span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>      if (this.cellBlock) {<a 
name="line.107"></a>
-<span class="sourceLineNo">108</span>        // Presize.  Presume at least a 
KV per Action.  There are likely more.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        if (cells == null) cells = new 
ArrayList&lt;CellScannable&gt;(countOfActions);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        // Send data in cellblocks. The 
call to buildNoDataMultiRequest will skip RowMutations.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        // They have already been handled 
above. Guess at count of cells<a name="line.111"></a>
-<span class="sourceLineNo">112</span>        regionActionBuilder = 
RequestConverter.buildNoDataRegionAction(regionName, actions, cells,<a 
name="line.112"></a>
-<span class="sourceLineNo">113</span>          regionActionBuilder, 
actionBuilder, mutationBuilder);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      } else {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>        regionActionBuilder = 
RequestConverter.buildRegionAction(regionName, actions,<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          regionActionBuilder, 
actionBuilder, mutationBuilder);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      
multiRequestBuilder.addRegionAction(regionActionBuilder.build());<a 
name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>    // Controller optionally carries cell 
data over the proxy/service boundary and also<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    // optionally ferries cell response 
data back out again.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    if (cells != null) 
controller.setCellScanner(CellUtil.createCellScanner(cells));<a 
name="line.123"></a>
-<span class="sourceLineNo">124</span>    
controller.setPriority(getTableName());<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    
controller.setCallTimeout(callTimeout);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    ClientProtos.MultiResponse 
responseProto;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    ClientProtos.MultiRequest 
requestProto = multiRequestBuilder.build();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    try {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      responseProto = 
getStub().multi(controller, requestProto);<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    } catch (ServiceException e) {<a 
name="line.130"></a>
-<span class="sourceLineNo">131</span>      throw 
ProtobufUtil.getRemoteException(e);<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    if (responseProto == null) return 
null; // Occurs on cancel<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return 
ResponseConverter.getResults(requestProto, responseProto, 
controller.cellScanner());<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  @Override<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  public void cancel() {<a 
name="line.138"></a>
-<span class="sourceLineNo">139</span>    controller.startCancel();<a 
name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  @Override<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public boolean isCancelled() {<a 
name="line.143"></a>
-<span class="sourceLineNo">144</span>    return controller.isCanceled();<a 
name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  /**<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   * @return True if we should send data 
in cellblocks.  This is an expensive call.  Cache the<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * result if you can rather than call 
each time.<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   */<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private boolean isCellBlock() {<a 
name="line.151"></a>
-<span class="sourceLineNo">152</span>    // This is not exact -- the 
configuration could have changed on us after connection was set up<a 
name="line.152"></a>
-<span class="sourceLineNo">153</span>    // but it will do for now.<a 
name="line.153"></a>
-<span class="sourceLineNo">154</span>    HConnection connection = 
getConnection();<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    if (connection == null) return true; 
// Default is to do cellblocks.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    Configuration configuration = 
connection.getConfiguration();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    if (configuration == null) return 
true;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    String codec = 
configuration.get(HConstants.RPC_CODEC_CONF_KEY, "");<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    return codec != null &amp;&amp; 
codec.length() &gt; 0;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public void prepare(boolean reload) 
throws IOException {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // Use the location we were given in 
the constructor rather than go look it up.<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    
setStub(getConnection().getClient(this.location.getServerName()));<a 
name="line.165"></a>
-<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  @VisibleForTesting<a 
name="line.168"></a>
-<span class="sourceLineNo">169</span>  ServerName getServerName() {<a 
name="line.169"></a>
-<span class="sourceLineNo">170</span>    return location.getServerName();<a 
name="line.170"></a>
-<span class="sourceLineNo">171</span>  }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>}<a name="line.172"></a>
+<span class="sourceLineNo">106</span>      if (this.cellBlock) {<a 
name="line.106"></a>
+<span class="sourceLineNo">107</span>        // Presize.  Presume at least a 
KV per Action.  There are likely more.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        if (cells == null) cells = new 
ArrayList&lt;CellScannable&gt;(countOfActions);<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        // Send data in cellblocks. The 
call to buildNoDataMultiRequest will skip RowMutations.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        // They have already been handled 
above. Guess at count of cells<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        regionActionBuilder = 
RequestConverter.buildNoDataRegionAction(regionName, actions, cells,<a 
name="line.111"></a>
+<span class="sourceLineNo">112</span>          regionActionBuilder, 
actionBuilder, mutationBuilder);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      } else {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>        regionActionBuilder = 
RequestConverter.buildRegionAction(regionName, actions,<a name="line.114"></a>
+<span class="sourceLineNo">115</span>          regionActionBuilder, 
actionBuilder, mutationBuilder);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      
multiRequestBuilder.addRegionAction(regionActionBuilder.build());<a 
name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>    // Controller optionally carries cell 
data over the proxy/service boundary and also<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    // optionally ferries cell response 
data back out again.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    if (cells != null) 
controller.setCellScanner(CellUtil.createCellScanner(cells));<a 
name="line.122"></a>
+<span class="sourceLineNo">123</span>    
controller.setPriority(getTableName());<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    
controller.setCallTimeout(callTimeout);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    ClientProtos.MultiResponse 
responseProto;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    ClientProtos.MultiRequest 
requestProto = multiRequestBuilder.build();<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    try {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      responseProto = 
getStub().multi(controller, requestProto);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    } catch (ServiceException e) {<a 
name="line.129"></a>
+<span class="sourceLineNo">130</span>      throw 
ProtobufUtil.getRemoteException(e);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    if (responseProto == null) return 
null; // Occurs on cancel<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return 
ResponseConverter.getResults(requestProto, responseProto, 
controller.cellScanner());<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @Override<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public void cancel() {<a 
name="line.137"></a>
+<span class="sourceLineNo">138</span>    controller.startCancel();<a 
name="line.138"></a>
+<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  public boolean isCancelled() {<a 
name="line.142"></a>
+<span class="sourceLineNo">143</span>    return controller.isCanceled();<a 
name="line.143"></a>
+<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @return True if we should send data 
in cellblocks.  This is an expensive call.  Cache the<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * result if you can rather than call 
each time.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  private boolean isCellBlock() {<a 
name="line.150"></a>
+<span class="sourceLineNo">151</span>    // This is not exact -- the 
configuration could have changed on us after connection was set up<a 
name="line.151"></a>
+<span class="sourceLineNo">152</span>    // but it will do for now.<a 
name="line.152"></a>
+<span class="sourceLineNo">153</span>    HConnection connection = 
getConnection();<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    if (!(connection instanceof 
ClusterConnection)) return true; // Default is to do cellblocks.<a 
name="line.154"></a>
+<span class="sourceLineNo">155</span>    return ((ClusterConnection) 
connection).hasCellBlockSupport();<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  @Override<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public void prepare(boolean reload) 
throws IOException {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    // Use the location we were given in 
the constructor rather than go look it up.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    
setStub(getConnection().getClient(this.location.getServerName()));<a 
name="line.161"></a>
+<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  @VisibleForTesting<a 
name="line.164"></a>
+<span class="sourceLineNo">165</span>  ServerName getServerName() {<a 
name="line.165"></a>
+<span class="sourceLineNo">166</span>    return location.getServerName();<a 
name="line.166"></a>
+<span class="sourceLineNo">167</span>  }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>}<a name="line.168"></a>
 
 
 

Reply via email to