You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2019/02/16 14:47:42 UTC

[hbase-site] branch asf-site updated: Published site at dedab71381e14d96da61485f859e0792d8ebc3f9.

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 04aa2df  Published site at dedab71381e14d96da61485f859e0792d8ebc3f9.
04aa2df is described below

commit 04aa2dfaca100179beca8dd78bb4dda9ea70ac0a
Author: jenkins <bu...@apache.org>
AuthorDate: Sat Feb 16 14:47:31 2019 +0000

    Published site at dedab71381e14d96da61485f859e0792d8ebc3f9.
---
 acid-semantics.html                                |    4 +-
 apache_hbase_reference_guide.pdf                   |    4 +-
 apidocs/constant-values.html                       |   14 -
 apidocs/deprecated-list.html                       |  391 ++-
 apidocs/index-all.html                             |   24 +-
 .../hbase/client/AsyncBufferedMutatorBuilder.html  |   36 +-
 .../apache/hadoop/hbase/client/Scan.ReadType.html  |   12 +-
 apidocs/org/apache/hadoop/hbase/client/Scan.html   |  364 +--
 .../class-use/AsyncBufferedMutatorBuilder.html     |   20 +-
 .../hbase/client/AsyncBufferedMutatorBuilder.html  |   15 +-
 .../apache/hadoop/hbase/client/Scan.ReadType.html  | 2320 ++++++++-------
 .../org/apache/hadoop/hbase/client/Scan.html       | 2320 ++++++++-------
 book.html                                          |    2 +-
 bulk-loads.html                                    |    4 +-
 checkstyle-aggregate.html                          |  222 +-
 checkstyle.rss                                     |    6 +-
 coc.html                                           |    4 +-
 dependencies.html                                  |    4 +-
 dependency-convergence.html                        |    4 +-
 dependency-info.html                               |    4 +-
 dependency-management.html                         |    4 +-
 devapidocs/constant-values.html                    |   15 +-
 devapidocs/deprecated-list.html                    |  535 ++--
 devapidocs/index-all.html                          |   46 +-
 .../apache/hadoop/hbase/backup/package-tree.html   |    2 +-
 .../hbase/client/AsyncBufferedMutatorBuilder.html  |   36 +-
 .../client/AsyncBufferedMutatorBuilderImpl.html    |   76 +-
 .../hbase/client/AsyncBufferedMutatorImpl.html     |   71 +-
 .../hbase/client/AsyncConnectionConfiguration.html |  168 +-
 .../hbase/client/ClientAsyncPrefetchScanner.html   |    4 +-
 .../apache/hadoop/hbase/client/ClientScanner.html  |  146 +-
 .../hadoop/hbase/client/ClientSimpleScanner.html   |    4 +-
 .../hadoop/hbase/client/ConnectionUtils.html       |   24 +-
 .../client/HTable.CheckAndMutateBuilderImpl.html   |   32 +-
 .../org/apache/hadoop/hbase/client/HTable.html     |  202 +-
 ...awAsyncTableImpl.CheckAndMutateBuilderImpl.html |   32 +-
 .../hbase/client/RawAsyncTableImpl.Converter.html  |    4 +-
 ...yncTableImpl.CoprocessorServiceBuilderImpl.html |   24 +-
 .../client/RawAsyncTableImpl.NoncedConverter.html  |    4 +-
 .../hbase/client/RawAsyncTableImpl.RpcCall.html    |    4 +-
 .../hadoop/hbase/client/RawAsyncTableImpl.html     |  108 +-
 .../hadoop/hbase/client/ReversedClientScanner.html |    4 +-
 .../apache/hadoop/hbase/client/Scan.ReadType.html  |   12 +-
 .../org/apache/hadoop/hbase/client/Scan.html       |  423 ++-
 .../class-use/AsyncBufferedMutatorBuilder.html     |   12 +
 .../hadoop/hbase/client/class-use/AsyncTable.html  |    5 +-
 .../apache/hadoop/hbase/client/class-use/Put.html  |    6 +-
 .../client/metrics/class-use/ScanMetrics.html      |   14 +-
 .../apache/hadoop/hbase/client/package-tree.html   |   24 +-
 .../apache/hadoop/hbase/executor/package-tree.html |    2 +-
 .../apache/hadoop/hbase/filter/package-tree.html   |   10 +-
 .../apache/hadoop/hbase/io/hfile/package-tree.html |    6 +-
 .../org/apache/hadoop/hbase/ipc/package-tree.html  |    2 +-
 .../hadoop/hbase/mapreduce/package-tree.html       |    4 +-
 .../apache/hadoop/hbase/master/package-tree.html   |    4 +-
 .../hbase/master/procedure/package-tree.html       |    4 +-
 .../hadoop/hbase/monitoring/package-tree.html      |    2 +-
 .../org/apache/hadoop/hbase/package-tree.html      |   12 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    6 +-
 .../apache/hadoop/hbase/quotas/package-tree.html   |    8 +-
 .../hadoop/hbase/regionserver/InternalScan.html    |    4 +-
 .../hadoop/hbase/regionserver/package-tree.html    |   18 +-
 .../regionserver/querymatcher/package-tree.html    |    4 +-
 .../hbase/regionserver/wal/package-tree.html       |    2 +-
 .../hadoop/hbase/replication/package-tree.html     |    2 +-
 .../hadoop/hbase/rest/model/package-tree.html      |    2 +-
 .../hadoop/hbase/security/access/package-tree.html |    6 +-
 .../apache/hadoop/hbase/security/package-tree.html |    2 +-
 .../apache/hadoop/hbase/thrift/package-tree.html   |    2 +-
 .../org/apache/hadoop/hbase/util/package-tree.html |    8 +-
 .../src-html/org/apache/hadoop/hbase/Version.html  |    4 +-
 .../hbase/client/AsyncBufferedMutatorBuilder.html  |   15 +-
 .../client/AsyncBufferedMutatorBuilderImpl.html    |  127 +-
 .../hbase/client/AsyncBufferedMutatorImpl.html     |  298 +-
 .../hbase/client/AsyncConnectionConfiguration.html |  333 +--
 .../client/BufferedMutatorImpl.QueueRowAccess.html |    2 +-
 .../hadoop/hbase/client/BufferedMutatorImpl.html   |    2 +-
 .../apache/hadoop/hbase/client/ClientScanner.html  | 1053 ++++---
 .../ConnectionUtils.MasterlessConnection.html      |   18 +-
 ...tionUtils.ShortCircuitingClusterConnection.html |   18 +-
 .../hadoop/hbase/client/ConnectionUtils.html       |   18 +-
 .../client/HTable.CheckAndMutateBuilderImpl.html   | 2424 ++++++++--------
 .../org/apache/hadoop/hbase/client/HTable.html     | 2424 ++++++++--------
 ...awAsyncTableImpl.CheckAndMutateBuilderImpl.html | 1252 +++++----
 .../hbase/client/RawAsyncTableImpl.Converter.html  | 1252 +++++----
 ...yncTableImpl.CoprocessorServiceBuilderImpl.html | 1252 +++++----
 .../client/RawAsyncTableImpl.NoncedConverter.html  | 1252 +++++----
 .../hbase/client/RawAsyncTableImpl.RpcCall.html    | 1252 +++++----
 .../hadoop/hbase/client/RawAsyncTableImpl.html     | 1252 +++++----
 .../apache/hadoop/hbase/client/Scan.ReadType.html  | 2320 ++++++++-------
 .../org/apache/hadoop/hbase/client/Scan.html       | 2320 ++++++++-------
 downloads.html                                     |    4 +-
 export_control.html                                |    4 +-
 index.html                                         |    4 +-
 integration.html                                   |    4 +-
 issue-tracking.html                                |    4 +-
 license.html                                       |    4 +-
 mail-lists.html                                    |    4 +-
 metrics.html                                       |    4 +-
 old_news.html                                      |    4 +-
 plugin-management.html                             |    4 +-
 plugins.html                                       |    4 +-
 poweredbyhbase.html                                |    4 +-
 project-info.html                                  |    4 +-
 project-reports.html                               |    4 +-
 project-summary.html                               |    4 +-
 pseudo-distributed.html                            |    4 +-
 replication.html                                   |    4 +-
 resources.html                                     |    4 +-
 source-repository.html                             |    4 +-
 sponsors.html                                      |    4 +-
 supportingprojects.html                            |    4 +-
 team-list.html                                     |    4 +-
 testdevapidocs/index-all.html                      |    4 +-
 ...yncBufferMutator.AsyncBufferMutatorForTest.html |   10 +-
 .../TestClientScanner.MockClientScanner.html       |    4 +-
 .../hadoop/hbase/client/TestFromClientSide.html    |  326 +--
 .../org/apache/hadoop/hbase/package-tree.html      |   10 +-
 .../hadoop/hbase/procedure/package-tree.html       |    8 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    2 +-
 .../hadoop/hbase/regionserver/package-tree.html    |    2 +-
 .../org/apache/hadoop/hbase/test/package-tree.html |    4 +-
 .../org/apache/hadoop/hbase/wal/package-tree.html  |    2 +-
 .../hbase/ScanPerformanceEvaluation.MyMapper.html  |    2 +-
 .../ScanPerformanceEvaluation.ScanCounter.html     |    2 +-
 .../hadoop/hbase/ScanPerformanceEvaluation.html    |    2 +-
 ...yncBufferMutator.AsyncBufferMutatorForTest.html |    6 +-
 .../hbase/client/TestAsyncBufferMutator.html       |    6 +-
 .../hadoop/hbase/client/TestFromClientSide.html    | 2961 ++++++++++----------
 129 files changed, 15007 insertions(+), 15245 deletions(-)

diff --git a/acid-semantics.html b/acid-semantics.html
index 7dd71f6..c218955 100644
--- a/acid-semantics.html
+++ b/acid-semantics.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="20190215" />
+    <meta name="Date-Revision-yyyymmdd" content="20190216" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -611,7 +611,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: 2019-02-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2019-02-16</li>
             </p>
                 </div>
 
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 09c7ac5..5b5d744 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20190215170156+00'00')
-/CreationDate (D:20190215171540+00'00')
+/ModDate (D:20190216142940+00'00')
+/CreationDate (D:20190216144356+00'00')
 >>
 endobj
 2 0 obj
diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html
index 1246ffe..1de7808 100644
--- a/apidocs/constant-values.html
+++ b/apidocs/constant-values.html
@@ -3194,20 +3194,6 @@
 <td class="colLast"><code>"hbase.client.scanner.async.prefetch"</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_DATA">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_DATA">SCAN_ATTRIBUTES_METRICS_DATA</a></code></td>
-<td class="colLast"><code>"scan.attributes.metrics.data"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_ENABLE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_ENABLE">SCAN_ATTRIBUTES_METRICS_ENABLE</a></code></td>
-<td class="colLast"><code>"scan.attributes.metrics.enable"</code></td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_TABLE_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
diff --git a/apidocs/deprecated-list.html b/apidocs/deprecated-list.html
index 0c6c74e..81504d3 100644
--- a/apidocs/deprecated-list.html
+++ b/apidocs/deprecated-list.html
@@ -298,14 +298,6 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_DATA">org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_DATA</a></td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_ENABLE">org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_ENABLE</a>
-<div class="block"><span class="deprecationComment">since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled-boolean-"><code>Scan.setScanMetricsEnabled(boolean)</code></a></span></div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html#START">org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner.START</a></td>
 </tr>
 </tbody>
@@ -1391,889 +1383,882 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">org.apache.hadoop.hbase.client.Scan.getScanMetrics()</a>
-<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
-             use this method and <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
-             will be messed up.</span></div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getSequenceId--">org.apache.hadoop.hbase.Cell.getSequenceId()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerName-java.lang.String-long-">org.apache.hadoop.hbase.ServerName.getServerName(String, long)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-long-"><code>ServerName.valueOf(String, long)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerNameLessStartCode-java.lang.String-">org.apache.hadoop.hbase.ServerName.getServerNameLessStartCode(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#getAddress--"><code>ServerName.getAddress()</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getServers--">org.apache.hadoop.hbase.ClusterStatus.getServers()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ClusterStatus.html#getLiveServerMetrics--"><code>ClusterStatus.getLiveServerMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getServersSize--">org.apache.hadoop.hbase.ClusterStatus.getServersSize()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ClusterStatus.html#getLiveServerMetrics--"><code>ClusterStatus.getLiveServerMetrics()</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerStartcodeFromServerName-java.lang.String-">org.apache.hadoop.hbase.ServerName.getServerStartcodeFromServerName(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use instance of ServerName to pull out start code.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getShortNameToLog-org.apache.hadoop.hbase.HRegionInfo...-">org.apache.hadoop.hbase.HRegionInfo.getShortNameToLog(HRegionInfo...)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#getShortNameToLog-org.apache.hadoop.hbase.client.RegionInfo...-"><code>RegionInfo.getShortNameToLog(RegionInfo...)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getShortNameToLog-java.util.List-">org.apache.hadoop.hbase.HRegionInfo.getShortNameToLog(List&lt;HRegionInfo&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#getShortNameToLog-java.util.List-"><code>RegionInfo.getShortNameToLog(List)</code></a>)}.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#getSize--">org.apache.hadoop.hbase.util.Bytes.getSize()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/util/Bytes.html#getLength--"><code>Bytes.getLength()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getSize--">org.apache.hadoop.hbase.io.ImmutableBytesWritable.getSize()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getLength--"><code>ImmutableBytesWritable.getLength()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getStartKey-byte:A-">org.apache.hadoop.hbase.HRegionInfo.getStartKey(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#getStartKey-byte:A-"><code>RegionInfo.getStartKey(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getStartKeyForDisplay-org.apache.hadoop.hbase.HRegionInfo-org.apache.hadoop.conf.Configuration-">org.apache.hadoop.hbase.HRegionInfo.getStartKeyForDisplay(HRegionInfo, Configuration)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use RegionInfoDisplay#getStartKeyForDisplay(RegionInfo, Configuration)
              over in hbase-server module.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreCompleteSequenceId--">org.apache.hadoop.hbase.RegionLoad.getStoreCompleteSequenceId()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreSequenceId--"><code>RegionLoad.getStoreSequenceId()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefileIndexSizeInMB--">org.apache.hadoop.hbase.ServerLoad.getStorefileIndexSizeInMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStorefileIndexSizeKB--">org.apache.hadoop.hbase.RegionLoad.getStorefileIndexSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileRootLevelIndexSize--"><code>RegionLoad.getStoreFileRootLevelIndexSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefileIndexSizeKB--">org.apache.hadoop.hbase.ServerLoad.getStorefileIndexSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStorefileIndexSizeMB--">org.apache.hadoop.hbase.RegionLoad.getStorefileIndexSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              ((<a href="https://issues.apache.org/jira/browse/HBASE-3935">HBASE-3935</a>)).
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileRootLevelIndexSize--"><code>RegionLoad.getStoreFileRootLevelIndexSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStorefiles--">org.apache.hadoop.hbase.RegionLoad.getStorefiles()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileCount--"><code>RegionLoad.getStoreFileCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefiles--">org.apache.hadoop.hbase.ServerLoad.getStorefiles()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefileSizeInMB--">org.apache.hadoop.hbase.ServerLoad.getStorefileSizeInMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStorefileSizeMB--">org.apache.hadoop.hbase.RegionLoad.getStorefileSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileSize--"><code>RegionLoad.getStoreFileSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefileSizeMB--">org.apache.hadoop.hbase.ServerLoad.getStorefileSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStores--">org.apache.hadoop.hbase.RegionLoad.getStores()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreCount--"><code>RegionLoad.getStoreCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStores--">org.apache.hadoop.hbase.ServerLoad.getStores()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreUncompressedSizeMB--">org.apache.hadoop.hbase.RegionLoad.getStoreUncompressedSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getUncompressedStoreFileSize--"><code>RegionLoad.getUncompressedStoreFileSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStoreUncompressedSizeMB--">org.apache.hadoop.hbase.ServerLoad.getStoreUncompressedSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/SnapshotDescription.html#getTable--">org.apache.hadoop.hbase.client.SnapshotDescription.getTable()</a>
 <div class="block"><span class="deprecationComment">Use getTableName() or getTableNameAsString() instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getTable-byte:A-">org.apache.hadoop.hbase.HRegionInfo.getTable(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#getTable-byte:A-"><code>RegionInfo.getTable(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#getTableDescriptor--">org.apache.hadoop.hbase.client.Table.getTableDescriptor()</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Table.html#getDescriptor--"><code>Table.getDescriptor()</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#getTableDescriptor--">org.apache.hadoop.hbase.rest.client.RemoteHTable.getTableDescriptor()</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.client.Admin.getTableDescriptor(TableName)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#getDescriptor-org.apache.hadoop.hbase.TableName-"><code>Admin.getDescriptor(TableName)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableDescriptors-java.util.List-">org.apache.hadoop.hbase.client.Admin.getTableDescriptors(List&lt;String&gt;)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.List-"><code>Admin.listTableDescriptors(List)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableDescriptorsByTableName-java.util.List-">org.apache.hadoop.hbase.client.Admin.getTableDescriptorsByTableName(List&lt;TableName&gt;)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.List-"><code>Admin.listTableDescriptors(List)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.client.Admin.getTableRegions(TableName)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-17980">HBASE-17980</a>).
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#getRegions-org.apache.hadoop.hbase.TableName-"><code>Admin.getRegions(TableName)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getTag-org.apache.hadoop.hbase.Cell-byte-">org.apache.hadoop.hbase.CellUtil.getTag(Cell, byte)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <code>RawCell.getTag(byte)</code></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getTagArray-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.getTagArray(Cell)</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getTags-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.getTags(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <code>RawCell.getTags()</code></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsArray--">org.apache.hadoop.hbase.Cell.getTagsArray()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsLength--">org.apache.hadoop.hbase.Cell.getTagsLength()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsOffset--">org.apache.hadoop.hbase.Cell.getTagsOffset()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Mutation.html#getTimeStamp--">org.apache.hadoop.hbase.client.Mutation.getTimeStamp()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Mutation.html#getTimestamp--"><code>Mutation.getTimestamp()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationLoadSource.html#getTimeStampOfLastShippedOp--">org.apache.hadoop.hbase.replication.ReplicationLoadSource.getTimeStampOfLastShippedOp()</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationLoadSink.html#getTimeStampsOfLastAppliedOp--">org.apache.hadoop.hbase.replication.ReplicationLoadSink.getTimeStampsOfLastAppliedOp()</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. Will be removed in 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getTotalCompactingKVs--">org.apache.hadoop.hbase.RegionLoad.getTotalCompactingKVs()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getCompactingCellCount--"><code>RegionLoad.getCompactingCellCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getTotalCompactingKVs--">org.apache.hadoop.hbase.ServerLoad.getTotalCompactingKVs()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getTotalNumberOfRequests--">org.apache.hadoop.hbase.ServerLoad.getTotalNumberOfRequests()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRequestCount--"><code>ServerLoad.getRequestCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getTotalStaticBloomSizeKB--">org.apache.hadoop.hbase.RegionLoad.getTotalStaticBloomSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getBloomFilterSize--"><code>RegionLoad.getBloomFilterSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getTotalStaticBloomSizeKB--">org.apache.hadoop.hbase.ServerLoad.getTotalStaticBloomSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getTotalStaticIndexSizeKB--">org.apache.hadoop.hbase.RegionLoad.getTotalStaticIndexSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileUncompressedDataIndexSize--"><code>RegionLoad.getStoreFileUncompressedDataIndexSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getTotalStaticIndexSizeKB--">org.apache.hadoop.hbase.ServerLoad.getTotalStaticIndexSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTypeByte--">org.apache.hadoop.hbase.Cell.getTypeByte()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Use <a href="org/apache/hadoop/hbase/Cell.html#getType--"><code>Cell.getType()</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getUsedHeapMB--">org.apache.hadoop.hbase.ServerLoad.getUsedHeapMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getUsedHeapSize--"><code>ServerLoad.getUsedHeapSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getValueBufferShallowCopy-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.getValueBufferShallowCopy(Cell)</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in 3.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getVersion--">org.apache.hadoop.hbase.ClusterStatus.getVersion()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getWriteRequestsCount--">org.apache.hadoop.hbase.RegionLoad.getWriteRequestsCount()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getWriteRequestCount--"><code>RegionLoad.getWriteRequestCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getWriteRequestsCount--">org.apache.hadoop.hbase.ServerLoad.getWriteRequestsCount()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#getWriteRpcTimeout--">org.apache.hadoop.hbase.client.Table.getWriteRpcTimeout()</a>
 <div class="block"><span class="deprecationComment">since 2.0 and will be removed in 3.0 version
              use <a href="org/apache/hadoop/hbase/client/Table.html#getWriteRpcTimeout-java.util.concurrent.TimeUnit-"><code>Table.getWriteRpcTimeout(TimeUnit)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#getWriteRpcTimeout--">org.apache.hadoop.hbase.rest.client.RemoteHTable.getWriteRpcTimeout()</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/RowMutations.html#hashCode--">org.apache.hadoop.hbase.client.RowMutations.hashCode()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              No replacement</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Increment.html#hashCode--">org.apache.hadoop.hbase.client.Increment.hashCode()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              No replacement.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasMaxHeapMB--">org.apache.hadoop.hbase.ServerLoad.hasMaxHeapMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasNumberOfRequests--">org.apache.hadoop.hbase.ServerLoad.hasNumberOfRequests()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#hasRegionMemstoreReplication--">org.apache.hadoop.hbase.HTableDescriptor.hasRegionMemstoreReplication()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/HTableDescriptor.html#hasRegionMemStoreReplication--"><code>HTableDescriptor.hasRegionMemStoreReplication()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasTotalNumberOfRequests--">org.apache.hadoop.hbase.ServerLoad.hasTotalNumberOfRequests()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasUsedHeapMB--">org.apache.hadoop.hbase.ServerLoad.hasUsedHeapMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster-org.apache.hadoop.mapreduce.Job-java.lang.String-">org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initCredentialsForCluster(Job, String)</a>
 <div class="block"><span class="deprecationComment">Since 1.2.0, use <a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster-org.apache.hadoop.mapreduce.Job-org.apache.hadoop.conf.Configuration-"><code>TableMapReduceUtil.initCredentialsForCluster(Job, Configuration)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#isBalancerOn--">org.apache.hadoop.hbase.ClusterStatus.isBalancerOn()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#isClosestRowBefore--">org.apache.hadoop.hbase.client.Get.isClosestRowBefore()</a>
 <div class="block"><span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDelete-byte-">org.apache.hadoop.hbase.CellUtil.isDelete(byte)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteColumnOrFamily-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteColumnOrFamily(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteColumns-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteColumns(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteColumnVersion-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteColumnVersion(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteFamily-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteFamily(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteFamilyVersion-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteFamilyVersion(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteType-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteType(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#isEncodedRegionName-byte:A-">org.apache.hadoop.hbase.HRegionInfo.isEncodedRegionName(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#isEncodedRegionName-byte:A-"><code>RegionInfo.isEncodedRegionName(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isLegalFamilyName-byte:A-">org.apache.hadoop.hbase.HColumnDescriptor.isLegalFamilyName(byte[])</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html#isLegalColumnFamilyName-byte:A-"><code>ColumnFamilyDescriptorBuilder.isLegalColumnFamilyName(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#isPartial--">org.apache.hadoop.hbase.client.Result.isPartial()</a>
 <div class="block"><span class="deprecationComment">the word 'partial' ambiguous, use <a href="org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--"><code>Result.mayHaveMoreCellsInRow()</code></a> instead.
              Deprecated since 1.4.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#isSmall--">org.apache.hadoop.hbase.client.Scan.isSmall()</a>
 <div class="block"><span class="deprecationComment">since 2.0.0. See the comment of <a href="org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-"><code>Scan.setSmall(boolean)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#isSplitOrMergeEnabled-org.apache.hadoop.hbase.client.MasterSwitchType-">org.apache.hadoop.hbase.client.Admin.isSplitOrMergeEnabled(MasterSwitchType)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use
  <a href="org/apache/hadoop/hbase/client/Admin.html#isSplitEnabled--"><code>Admin.isSplitEnabled()</code></a> or <a href="org/apache/hadoop/hbase/client/Admin.html#isMergeEnabled--"><code>Admin.isMergeEnabled()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">org.apache.hadoop.hbase.client.Admin.isTableAvailable(TableName, byte[][])</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-"><code>Admin.isTableAvailable(TableName)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listPeerConfigs--">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listPeerConfigs()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#listReplicationPeers--"><code>Admin.listReplicationPeers()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listReplicated--">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listReplicated()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#listReplicatedTableCFs--"><code>Admin.listReplicatedTableCFs()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listSnapshots-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listSnapshots(String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listSnapshots-java.util.regex.Pattern-"><code>Admin.listSnapshots(Pattern)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptorsByNamespace-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listTableDescriptorsByNamespace(String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptorsByNamespace-byte:A-"><code>Admin.listTableDescriptorsByNamespace(byte[])</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listTableNames(String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version. Use
              <a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames-java.util.regex.Pattern-"><code>Admin.listTableNames(Pattern)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames-java.lang.String-boolean-">org.apache.hadoop.hbase.client.Admin.listTableNames(String, boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version. Use
              <a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames-java.util.regex.Pattern-boolean-"><code>Admin.listTableNames(Pattern, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables--">org.apache.hadoop.hbase.client.Admin.listTables()</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors--"><code>Admin.listTableDescriptors()</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables-java.util.regex.Pattern-">org.apache.hadoop.hbase.client.Admin.listTables(Pattern)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.regex.Pattern-"><code>Admin.listTableDescriptors(java.util.regex.Pattern)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables-java.util.regex.Pattern-boolean-">org.apache.hadoop.hbase.client.Admin.listTables(Pattern, boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.regex.Pattern-boolean-"><code>Admin.listTableDescriptors(java.util.regex.Pattern, boolean)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listTables(String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version. Use
              <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.regex.Pattern-"><code>Admin.listTableDescriptors(Pattern)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables-java.lang.String-boolean-">org.apache.hadoop.hbase.client.Admin.listTables(String, boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.regex.Pattern-boolean-"><code>Admin.listTableDescriptors(Pattern, boolean)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableSnapshots-java.lang.String-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listTableSnapshots(String, String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableSnapshots-java.util.regex.Pattern-java.util.regex.Pattern-"><code>Admin.listTableSnapshots(Pattern, Pattern)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingColumn-org.apache.hadoop.hbase.Cell-byte:A-int-int-byte:A-int-int-">org.apache.hadoop.hbase.CellUtil.matchingColumn(Cell, byte[], int, int, byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingFamily-org.apache.hadoop.hbase.Cell-byte:A-int-int-">org.apache.hadoop.hbase.CellUtil.matchingFamily(Cell, byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingQualifier-org.apache.hadoop.hbase.Cell-byte:A-int-int-">org.apache.hadoop.hbase.CellUtil.matchingQualifier(Cell, byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingRow-org.apache.hadoop.hbase.Cell-byte:A-">org.apache.hadoop.hbase.CellUtil.matchingRow(Cell, byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="org/apache/hadoop/hbase/CellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-byte:A-"><code>CellUtil.matchingRows(Cell, byte[])</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingRow-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.matchingRow(Cell, Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="org/apache/hadoop/hbase/CellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-"><code>CellUtil.matchingRows(Cell, Cell)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingType-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.matchingType(Cell, Cell)</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#mergeRegions-byte:A-byte:A-boolean-">org.apache.hadoop.hbase.client.Admin.mergeRegions(byte[], byte[], boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Will be removed in 3.0. Use
      <a href="org/apache/hadoop/hbase/client/Admin.html#mergeRegionsAsync-byte:A-byte:A-boolean-"><code>Admin.mergeRegionsAsync(byte[], byte[], boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">org.apache.hadoop.hbase.client.Admin.modifyColumn(TableName, ColumnFamilyDescriptor)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0.
              This will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-"><code>Admin.modifyColumnFamily(TableName, ColumnFamilyDescriptor)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.client.Admin.modifyTable(TableName, TableDescriptor)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyTable-org.apache.hadoop.hbase.client.TableDescriptor-"><code>Admin.modifyTable(TableDescriptor)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyTableAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.client.Admin.modifyTableAsync(TableName, TableDescriptor)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyTableAsync-org.apache.hadoop.hbase.client.TableDescriptor-"><code>Admin.modifyTableAsync(TableDescriptor)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#obtainServerLoadPB--">org.apache.hadoop.hbase.ServerLoad.obtainServerLoadPB()</a>
 <div class="block"><span class="deprecationComment">DONT use this pb object since the byte array backed may be modified in rpc layer</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#overlappingKeys-byte:A-byte:A-byte:A-byte:A-">org.apache.hadoop.hbase.CellUtil.overlappingKeys(byte[], byte[], byte[], byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseDelimitedFrom-byte:A-int-int-">org.apache.hadoop.hbase.HRegionInfo.parseDelimitedFrom(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseDelimitedFrom-byte:A-int-int-"><code>RegionInfo.parseDelimitedFrom(byte[], int, int)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFrom-byte:A-">org.apache.hadoop.hbase.HRegionInfo.parseFrom(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFrom-byte:A-"><code>RegionInfo.parseFrom(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFrom-byte:A-int-int-">org.apache.hadoop.hbase.HRegionInfo.parseFrom(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFrom-byte:A-int-int-"><code>RegionInfo.parseFrom(byte[], int, int)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFrom-java.io.DataInputStream-">org.apache.hadoop.hbase.HRegionInfo.parseFrom(DataInputStream)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFrom-java.io.DataInputStream-"><code>RegionInfo.parseFrom(DataInputStream)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFromOrNull-byte:A-">org.apache.hadoop.hbase.HRegionInfo.parseFromOrNull(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFromOrNull-byte:A-"><code>RegionInfo.parseFromOrNull(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFromOrNull-byte:A-int-int-">org.apache.hadoop.hbase.HRegionInfo.parseFromOrNull(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFromOrNull-byte:A-int-int-"><code>RegionInfo.parseFromOrNull(byte[], int, int)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parseHostname-java.lang.String-">org.apache.hadoop.hbase.ServerName.parseHostname(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parsePort-java.lang.String-">org.apache.hadoop.hbase.ServerName.parsePort(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseRegionName-byte:A-">org.apache.hadoop.hbase.HRegionInfo.parseRegionName(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseRegionName-byte:A-"><code>RegionInfo.parseRegionName(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parseStartcode-java.lang.String-">org.apache.hadoop.hbase.ServerName.parseStartcode(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#parseTableCFsFromConfig-java.lang.String-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.parseTableCFsFromConfig(String)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#prettyPrint-java.lang.String-">org.apache.hadoop.hbase.HRegionInfo.prettyPrint(String)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#prettyPrint-java.lang.String-"><code>RegionInfo.prettyPrint(String)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putIntUnsafe-byte:A-int-int-">org.apache.hadoop.hbase.util.Bytes.putIntUnsafe(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putLongUnsafe-byte:A-int-long-">org.apache.hadoop.hbase.util.Bytes.putLongUnsafe(byte[], int, long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putShortUnsafe-byte:A-int-short-">org.apache.hadoop.hbase.util.Bytes.putShortUnsafe(byte[], int, short)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#readVLong-byte:A-int-">org.apache.hadoop.hbase.util.Bytes.readVLong(byte[], int)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/util/Bytes.html#readAsVLong-byte:A-int-"><code>Bytes.readAsVLong(byte[],int)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#removePeer-java.lang.String-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.removePeer(String)</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#removeReplicationPeer-java.lang.String-"><code>Admin.removeReplicationPeer(String)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#removePeerTableCFs-java.lang.String-java.util.Map-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.removePeerTableCFs(String, Map&lt;TableName, ? extends Collection&lt;String&gt;&gt;)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#removePeerTableCFs-java.lang.String-java.lang.String-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.removePeerTableCFs(String, String)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0,
  use <a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#removePeerTableCFs-java.lang.String-java.util.Map-"><code>ReplicationAdmin.removePeerTableCFs(String, Map)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#runCatalogScan--">org.apache.hadoop.hbase.client.Admin.runCatalogScan()</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#runCatalogJanitor--"><code>Admin.runCatalogJanitor()</code></a>}
  instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#setBalancerRunning-boolean-boolean-">org.apache.hadoop.hbase.client.Admin.setBalancerRunning(boolean, boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
  Use <a href="org/apache/hadoop/hbase/client/Admin.html#balancerSwitch-boolean-boolean-"><code>Admin.balancerSwitch(boolean, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setBandwidth-long-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setBandwidth(long)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setBandwidth-long-"><code>ReplicationPeerConfigBuilder.setBandwidth(long)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#setCacheDataInL1-boolean-">org.apache.hadoop.hbase.HColumnDescriptor.setCacheDataInL1(boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0 and will be removed in 3.0 with out any replacement. Caching data in on
              heap Cache, when there are both on heap LRU Cache and Bucket Cache will no longer
              be supported from 2.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#setCleanerChoreRunning-boolean-">org.apache.hadoop.hbase.client.Admin.setCleanerChoreRunning(boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#cleanerChoreSwitch-boolean-"><code>Admin.cleanerChoreSwitch(boolean)</code></a>}
  instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#setClosestRowBefore-boolean-">org.apache.hadoop.hbase.client.Get.setClosestRowBefore(boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setClusterKey-java.lang.String-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setClusterKey(String)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setClusterKey-java.lang.String-"><code>ReplicationPeerConfigBuilder.setClusterKey(String)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setExcludeNamespaces-java.util.Set-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setExcludeNamespaces(Set&lt;String&gt;)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setExcludeNamespaces-java.util.Set-"><code>ReplicationPeerConfigBuilder.setExcludeNamespaces(Set)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setExcludeTableCFsMap-java.util.Map-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setExcludeTableCFsMap(Map&lt;TableName, ? extends Collection&lt;String&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setExcludeTableCFsMap-java.util.Map-"><code>ReplicationPeerConfigBuilder.setExcludeTableCFsMap(Map)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Increment.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Increment.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Increment.html#Increment-byte:A-long-java.util.NavigableMap-"><code>Increment.Increment(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Put.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Put.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Put.html#Put-byte:A-long-java.util.NavigableMap-"><code>Put.Put(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Append.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Append.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Append.html#Append-byte:A-long-java.util.NavigableMap-"><code>Append.Append(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Delete.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Delete.html#Delete-byte:A-long-java.util.NavigableMap-"><code>Delete.Delete(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Mutation.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Mutation.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Mutation.html#Mutation-byte:A-long-java.util.NavigableMap-"><code>Mutation.Mutation(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#setMaxVersions--">org.apache.hadoop.hbase.client.Get.setMaxVersions()</a>
 <div class="block"><span class="deprecationComment">It is easy to misunderstand with column family's max versions, so use
              <a href="org/apache/hadoop/hbase/client/Get.html#readAllVersions--"><code>Get.readAllVersions()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setMaxVersions--">org.apache.hadoop.hbase.client.Scan.setMaxVersions()</a>
 <div class="block"><span class="deprecationComment">It is easy to misunderstand with column family's max versions, so use
              <a href="org/apache/hadoop/hbase/client/Scan.html#readAllVersions--"><code>Scan.readAllVersions()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#setMaxVersions-int-">org.apache.hadoop.hbase.client.Get.setMaxVersions(int)</a>
 <div class="block"><span class="deprecationComment">It is easy to misunderstand with column family's max versions, so use
              <a href="org/apache/hadoop/hbase/client/Get.html#readVersions-int-"><code>Get.readVersions(int)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setMaxVersions-int-">org.apache.hadoop.hbase.client.Scan.setMaxVersions(int)</a>
 <div class="block"><span class="deprecationComment">It is easy to misunderstand with column family's max versions, so use
              <a href="org/apache/hadoop/hbase/client/Scan.html#readVersions-int-"><code>Scan.readVersions(int)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setNamespaces-java.util.Set-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setNamespaces(Set&lt;String&gt;)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setNamespaces-java.util.Set-"><code>ReplicationPeerConfigBuilder.setNamespaces(Set)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#setNormalizerRunning-boolean-">org.apache.hadoop.hbase.client.Admin.setNormalizerRunning(boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#normalizerSwitch-boolean-"><code>Admin.normalizerSwitch(boolean)</code></a>}
  instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#setOperationTimeout-int-">org.apache.hadoop.hbase.client.Table.setOperationTimeout(int)</a>
 <div class="block"><span class="deprecationComment">since 2.0.0, use <a href="org/apache/hadoop/hbase/client/TableBuilder.html#setOperationTimeout-int-"><code>TableBuilder.setOperationTimeout(int)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#setOperationTimeout-int-">org.apache.hadoop.hbase.rest.client.RemoteHTable.setOperationTimeout(int)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setOwner-org.apache.hadoop.hbase.security.User-">org.apache.hadoop.hbase.HTableDescriptor.setOwner(User)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#setOwner-org.apache.hadoop.hbase.security.User-">org.apache.hadoop.hbase.client.TableDescriptorBuilder.setOwner(User)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setOwnerString-java.lang.String-">org.apache.hadoop.hbase.HTableDescriptor.setOwnerString(String)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#setOwnerString-java.lang.String-">org.apache.hadoop.hbase.client.TableDescriptorBuilder.setOwnerString(String)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#setPeerTableCFs-java.lang.String-java.util.Map-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.setPeerTableCFs(String, Map&lt;TableName, ? extends Collection&lt;String&gt;&gt;)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#setReadRpcTimeout-int-">org.apache.hadoop.hbase.client.Table.setReadRpcTimeout(int)</a>
 <div class="block"><span class="deprecationComment">since 2.0.0, use <a href="org/apache/hadoop/hbase/client/TableBuilder.html#setReadRpcTimeout-int-"><code>TableBuilder.setReadRpcTimeout(int)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#setReadRpcTimeout-int-">org.apache.hadoop.hbase.rest.client.RemoteHTable.setReadRpcTimeout(int)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemstoreReplication-boolean-">org.apache.hadoop.hbase.HTableDescriptor.setRegionMemstoreReplication(boolean)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemStoreReplication-boolean-"><code>HTableDescriptor.setRegionMemStoreReplication(boolean)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setReplicateAllUserTables-boolean-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setReplicateAllUserTables(boolean)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setReplicateAllUserTables-boolean-"><code>ReplicationPeerConfigBuilder.setReplicateAllUserTables(boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setReplicationEndpointImpl-java.lang.String-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setReplicationEndpointImpl(String)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setReplicationEndpointImpl-java.lang.String-"><code>ReplicationPeerConfigBuilder.setReplicationEndpointImpl(String)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#setRpcTimeout-int-">org.apache.hadoop.hbase.client.Table.setRpcTimeout(int)</a>
 <div class="block"><span class="deprecationComment">Use setReadRpcTimeout or setWriteRpcTimeout instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#setRpcTimeout-int-">org.apache.hadoop.hbase.rest.client.RemoteHTable.setRpcTimeout(int)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#setSequenceId-org.apache.hadoop.hbase.Cell-long-">org.apache.hadoop.hbase.CellUtil.setSequenceId(Cell, long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-">org.apache.hadoop.hbase.client.Scan.setSmall(boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0.0. Use <a href="org/apache/hadoop/hbase/client/Scan.html#setLimit-int-"><code>Scan.setLimit(int)</code></a> and <a href="org/apache/hadoop/hbase/client/Scan.html#setReadType-org.apache.hadoop.hbase.client.Scan.ReadType-"><code>Scan.setReadType(ReadType)</code></a> instead.
              And for the one rpc optimization, now we will also fetch data when openScanner, and
@@ -2281,161 +2266,161 @@
              automatically which means we will fall back to one rpc.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#setSplitOrMergeEnabled-boolean-boolean-org.apache.hadoop.hbase.client.MasterSwitchType...-">org.apache.hadoop.hbase.client.Admin.setSplitOrMergeEnabled(boolean, boolean, MasterSwitchType...)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#splitSwitch-boolean-boolean-"><code>Admin.splitSwitch(boolean, boolean)</code></a>
              or <a href="org/apache/hadoop/hbase/client/Admin.html#mergeSwitch-boolean-boolean-"><code>Admin.mergeSwitch(boolean, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setStartRow-byte:A-">org.apache.hadoop.hbase.client.Scan.setStartRow(byte[])</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Scan.html#withStartRow-byte:A-"><code>Scan.withStartRow(byte[])</code></a> instead. This method may change the inclusive of
              the stop row to keep compatible with the old behavior.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setStopRow-byte:A-">org.apache.hadoop.hbase.client.Scan.setStopRow(byte[])</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Scan.html#withStopRow-byte:A-"><code>Scan.withStopRow(byte[])</code></a> instead. This method may change the inclusive of
              the stop row to keep compatible with the old behavior.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setTableCFsMap-java.util.Map-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setTableCFsMap(Map&lt;TableName, ? extends Collection&lt;String&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setTableCFsMap-java.util.Map-"><code>ReplicationPeerConfigBuilder.setTableCFsMap(Map)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#setTimestamp-org.apache.hadoop.hbase.Cell-byte:A-int-">org.apache.hadoop.hbase.CellUtil.setTimestamp(Cell, byte[], int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#setTimestamp-org.apache.hadoop.hbase.Cell-long-">org.apache.hadoop.hbase.CellUtil.setTimestamp(Cell, long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#setTimeStamp-long-">org.apache.hadoop.hbase.client.Get.setTimeStamp(long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Get.html#setTimestamp-long-"><code>Get.setTimestamp(long)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setTimeStamp-long-">org.apache.hadoop.hbase.client.Scan.setTimeStamp(long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Scan.html#setTimestamp-long-"><code>Scan.setTimestamp(long)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#setWriteRpcTimeout-int-">org.apache.hadoop.hbase.client.Table.setWriteRpcTimeout(int)</a>
 <div class="block"><span class="deprecationComment">since 2.0.0, use <a href="org/apache/hadoop/hbase/client/TableBuilder.html#setWriteRpcTimeout-int-"><code>TableBuilder.setWriteRpcTimeout(int)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#setWriteRpcTimeout-int-">org.apache.hadoop.hbase.rest.client.RemoteHTable.setWriteRpcTimeout(int)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#splitRegion-byte:A-">org.apache.hadoop.hbase.client.Admin.splitRegion(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#splitRegionAsync-byte:A-byte:A-"><code>Admin.splitRegionAsync(byte[], byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#splitRegion-byte:A-byte:A-">org.apache.hadoop.hbase.client.Admin.splitRegion(byte[], byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#splitRegionAsync-byte:A-byte:A-"><code>Admin.splitRegionAsync(byte[], byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#tagsIterator-byte:A-int-int-">org.apache.hadoop.hbase.CellUtil.tagsIterator(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of 2.0.0 and will be removed in 3.0.0
              Instead use <code>#tagsIterator(Cell)</code></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#takeSnapshotAsync-org.apache.hadoop.hbase.client.SnapshotDescription-">org.apache.hadoop.hbase.client.Admin.takeSnapshotAsync(SnapshotDescription)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use
  <a href="org/apache/hadoop/hbase/client/Admin.html#snapshotAsync-org.apache.hadoop.hbase.client.SnapshotDescription-"><code>Admin.snapshotAsync(SnapshotDescription)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#toByteArray--">org.apache.hadoop.hbase.HRegionInfo.toByteArray()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#toByteArray-org.apache.hadoop.hbase.client.RegionInfo-"><code>RegionInfo.toByteArray(RegionInfo)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#toByteString--">org.apache.hadoop.hbase.util.Bytes.toByteString()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#toDelimitedByteArray--">org.apache.hadoop.hbase.HRegionInfo.toDelimitedByteArray()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#toDelimitedByteArray-org.apache.hadoop.hbase.client.RegionInfo-"><code>RegionInfo.toDelimitedByteArray(RegionInfo)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#toDelimitedByteArray-org.apache.hadoop.hbase.HRegionInfo...-">org.apache.hadoop.hbase.HRegionInfo.toDelimitedByteArray(HRegionInfo...)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#toDelimitedByteArray-org.apache.hadoop.hbase.client.RegionInfo...-"><code>RegionInfo.toDelimitedByteArray(RegionInfo...)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#toIntUnsafe-byte:A-int-">org.apache.hadoop.hbase.util.Bytes.toIntUnsafe(byte[], int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#toLongUnsafe-byte:A-int-">org.apache.hadoop.hbase.util.Bytes.toLongUnsafe(byte[], int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#toShortUnsafe-byte:A-int-">org.apache.hadoop.hbase.util.Bytes.toShortUnsafe(byte[], int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#updateLatestStamp-org.apache.hadoop.hbase.Cell-byte:A-int-">org.apache.hadoop.hbase.CellUtil.updateLatestStamp(Cell, byte[], int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#updateLatestStamp-org.apache.hadoop.hbase.Cell-long-">org.apache.hadoop.hbase.CellUtil.updateLatestStamp(Cell, long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#updatePeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.updatePeerConfig(String, ReplicationPeerConfig)</a>
 <div class="block"><span class="deprecationComment">use
              <a href="org/apache/hadoop/hbase/client/Admin.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-"><code>Admin.updateReplicationPeerConfig(String, ReplicationPeerConfig)</code></a>
              instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/io/TimeRange.html#withinTimeRange-byte:A-int-">org.apache.hadoop.hbase.io.TimeRange.withinTimeRange(byte[], int)</a>
 <div class="block"><span class="deprecationComment">This is made @InterfaceAudience.Private in the 2.0 line and above and may be
    changed to private or removed in 3.0. Use <a href="org/apache/hadoop/hbase/io/TimeRange.html#withinTimeRange-long-"><code>TimeRange.withinTimeRange(long)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#writeFlatKey-org.apache.hadoop.hbase.Cell-java.io.OutputStream-">org.apache.hadoop.hbase.CellUtil.writeFlatKey(Cell, OutputStream)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#writeQualifierSkippingBytes-java.io.DataOutputStream-org.apache.hadoop.hbase.Cell-int-int-">org.apache.hadoop.hbase.CellUtil.writeQualifierSkippingBytes(DataOutputStream, Cell, int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#writeRowKeyExcludingCommon-org.apache.hadoop.hbase.Cell-short-int-java.io.DataOutputStream-">org.apache.hadoop.hbase.CellUtil.writeRowKeyExcludingCommon(Cell, short, int, DataOutputStream)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#writeRowSkippingBytes-java.io.DataOutputStream-org.apache.hadoop.hbase.Cell-short-int-">org.apache.hadoop.hbase.CellUtil.writeRowSkippingBytes(DataOutputStream, Cell, short, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 2fe1861..c105a2c 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -8399,14 +8399,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--">getScanMetrics()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">getScanMetrics()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
-             use this method and <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
-             will be messed up.</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-byte:A-">getScanner(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a></dt>
 <dd>
 <div class="block">Gets a scanner on the current table for the given family.</div>
@@ -15844,16 +15836,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </dd>
 <dt><a href="org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a> - Enum in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_DATA">SCAN_ATTRIBUTES_METRICS_DATA</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_ENABLE">SCAN_ATTRIBUTES_METRICS_ENABLE</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled-boolean-"><code>Scan.setScanMetricsEnabled(boolean)</code></a></span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_TABLE_NAME">SCAN_ATTRIBUTES_TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/Constants.html#SCAN_BATCH_SIZE">SCAN_BATCH_SIZE</a></span> - Static variable in interface org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/Constants.html" title="interface in org.apache.hadoop.hbase.rest">Constants</a></dt>
@@ -16752,6 +16734,12 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Sets the maximum size upto which a region can grow to after which a region
  split is triggered.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setMaxKeyValueSize-int-">setMaxKeyValueSize(int)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></dt>
+<dd>
+<div class="block">Override the maximum key-value size specified by the provided <a href="org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncConnection</code></a>'s
+ <code>Configuration</code> instance, via the configuration key
+ <code>hbase.client.keyvalue.maxsize</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Scan.html#setMaxResultSize-long-">setMaxResultSize(long)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
 <dd>
 <div class="block">Set the maximum result size.</div>
diff --git a/apidocs/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html b/apidocs/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html
index f2921ea..839b4ac 100644
--- a/apidocs/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html
+++ b/apidocs/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":18,"i2":6,"i3":18,"i4":6,"i5":6,"i6":6,"i7":6,"i8":18,"i9":6};
+var methods = {"i0":6,"i1":18,"i2":6,"i3":6,"i4":18,"i5":6,"i6":6,"i7":6,"i8":6,"i9":18,"i10":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -141,46 +141,54 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setMaxKeyValueSize-int-">setMaxKeyValueSize</a></span>(int&nbsp;maxKeyValueSize)</code>
+<div class="block">Override the maximum key-value size specified by the provided <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncConnection</code></a>'s
+ <code>Configuration</code> instance, via the configuration key
+ <code>hbase.client.keyvalue.maxsize</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setMaxRetries-int-">setMaxRetries</a></span>(int&nbsp;maxRetries)</code>
 <div class="block">Set the max retry times for an operation.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setOperationTimeout-long-java.util.concurrent.TimeUnit-">setOperationTimeout</a></span>(long&nbsp;timeout,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set timeout for the background flush operation.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setRetryPause-long-java.util.concurrent.TimeUnit-">setRetryPause</a></span>(long&nbsp;pause,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the base pause time for retrying.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setRpcTimeout-long-java.util.concurrent.TimeUnit-">setRpcTimeout</a></span>(long&nbsp;timeout,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set timeout for each rpc request when doing background flush.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setStartLogErrorsCnt-int-">setStartLogErrorsCnt</a></span>(int&nbsp;startLogErrorsCnt)</code>
 <div class="block">Set the number of retries that are allowed before we start to log.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setWriteBufferPeriodicFlush-long-java.util.concurrent.TimeUnit-">setWriteBufferPeriodicFlush</a></span>(long&nbsp;timeout,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the periodical flush interval.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setWriteBufferSize-long-">setWriteBufferSize</a></span>(long&nbsp;writeBufferSize)</code>
 <div class="block">Override the write buffer size specified by the provided <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncConnection</code></a>'s
@@ -320,13 +328,25 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
  <code>hbase.client.write.buffer</code>.</div>
 </li>
 </ul>
+<a name="setMaxKeyValueSize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxKeyValueSize</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#line.105">setMaxKeyValueSize</a>(int&nbsp;maxKeyValueSize)</pre>
+<div class="block">Override the maximum key-value size specified by the provided <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncConnection</code></a>'s
+ <code>Configuration</code> instance, via the configuration key
+ <code>hbase.client.keyvalue.maxsize</code>.</div>
+</li>
+</ul>
 <a name="build--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>build</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutator.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#line.103">build</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutator.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#line.110">build</a>()</pre>
 <div class="block">Create the <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncBufferedMutator</code></a> instance.</div>
 </li>
 </ul>
diff --git a/apidocs/org/apache/hadoop/hbase/client/Scan.ReadType.html b/apidocs/org/apache/hadoop/hbase/client/Scan.ReadType.html
index 94e5a59..f72bf41 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Scan.ReadType.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Scan.ReadType.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1179">Scan.ReadType</a>
+public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1151">Scan.ReadType</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&gt;</pre>
 </li>
 </ul>
@@ -214,7 +214,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.1180">DEFAULT</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.1152">DEFAULT</a></pre>
 </li>
 </ul>
 <a name="STREAM">
@@ -223,7 +223,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>STREAM</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.1180">STREAM</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.1152">STREAM</a></pre>
 </li>
 </ul>
 <a name="PREAD">
@@ -232,7 +232,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PREAD</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.1180">PREAD</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.1152">PREAD</a></pre>
 </li>
 </ul>
 </li>
@@ -249,7 +249,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.38">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.36">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -269,7 +269,7 @@ for (Scan.ReadType c : Scan.ReadType.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.38">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html#line.36">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
diff --git a/apidocs/org/apache/hadoop/hbase/client/Scan.html b/apidocs/org/apache/hadoop/hbase/client/Scan.html
index f2425ec..fcdc290 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Scan.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Scan.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":42,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":42,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i [...]
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":42,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":42,"i [...]
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -129,7 +129,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.89">Scan</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.87">Scan</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></pre>
 <div class="block">Used to perform Scan operations.
  <p>
@@ -222,20 +222,6 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_DATA">SCAN_ATTRIBUTES_METRICS_DATA</a></span></code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_ENABLE">SCAN_ATTRIBUTES_METRICS_ENABLE</a></span></code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">since 1.0.0. Use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled-boolean-"><code>setScanMetricsEnabled(boolean)</code></a></span></div>
-</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_TABLE_NAME">SCAN_ATTRIBUTES_TABLE_NAME</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -404,70 +390,60 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </td>
 </tr>
 <tr id="i17" class="rowColor">
-<td class="colFirst"><code>org.apache.hadoop.hbase.client.metrics.ScanMetrics</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">getScanMetrics</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
-             use this method and <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
-             will be messed up.</span></div>
-</div>
-</td>
-</tr>
-<tr id="i18" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#getStartRow--">getStartRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#getStopRow--">getStopRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#getTimeRange--">getTimeRange</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#hasFamilies--">hasFamilies</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#hasFilter--">hasFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#includeStartRow--">includeStartRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#includeStopRow--">includeStopRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#isAsyncPrefetch--">isAsyncPrefetch</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#isGetScan--">isGetScan</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#isNeedCursorResult--">isNeedCursorResult</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#isRaw--">isRaw</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#isReversed--">isReversed</a></span>()</code>
 <div class="block">Get whether this scan is a reversed one.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#isScanMetricsEnabled--">isScanMetricsEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#isSmall--">isSmall</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -475,74 +451,74 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#numFamilies--">numFamilies</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#readAllVersions--">readAllVersions</a></span>()</code>
 <div class="block">Get all available versions.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#readVersions-int-">readVersions</a></span>(int&nbsp;versions)</code>
 <div class="block">Get up to the specified number of versions of each column.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setACL-java.util.Map-">setACL</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.security.access.Permission [...]
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setACL-java.lang.String-org.apache.hadoop.hbase.security.access.Permission-">setACL</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
       org.apache.hadoop.hbase.security.access.Permission&nbsp;perms)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAllowPartialResults-boolean-">setAllowPartialResults</a></span>(boolean&nbsp;allowPartialResults)</code>
 <div class="block">Setting whether the caller wants to see the partial results when server returns
  less-than-expected cells.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAsyncPrefetch-boolean-">setAsyncPrefetch</a></span>(boolean&nbsp;asyncPrefetch)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAttribute-java.lang.String-byte:A-">setAttribute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
             byte[]&nbsp;value)</code>
 <div class="block">Sets an attribute.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAuthorizations-org.apache.hadoop.hbase.security.visibility.Authorizations-">setAuthorizations</a></span>(org.apache.hadoop.hbase.security.visibility.Authorizations&nbsp;authorizations)</code>
 <div class="block">Sets the authorizations to be used by this Query</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setBatch-int-">setBatch</a></span>(int&nbsp;batch)</code>
 <div class="block">Set the maximum number of cells to return for each call to next().</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setCacheBlocks-boolean-">setCacheBlocks</a></span>(boolean&nbsp;cacheBlocks)</code>
 <div class="block">Set whether blocks should be cached for this Scan.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setCaching-int-">setCaching</a></span>(int&nbsp;caching)</code>
 <div class="block">Set the number of rows for caching that will be passed to scanners.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setColumnFamilyTimeRange-byte:A-long-long-">setColumnFamilyTimeRange</a></span>(byte[]&nbsp;cf,
                         long&nbsp;minStamp,
@@ -551,62 +527,62 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
  [minStamp, maxStamp) on a per CF bases.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-">setConsistency</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</code>
 <div class="block">Sets the consistency level for this operation</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setFamilyMap-java.util.Map-">setFamilyMap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&n [...]
 <div class="block">Setting the familyMap</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setFilter-org.apache.hadoop.hbase.filter.Filter-">setFilter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</code>
 <div class="block">Apply the specified server-side filter when performing the Query.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setId-java.lang.String-">setId</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
 <div class="block">This method allows you to set an identifier on an operation.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setIsolationLevel-org.apache.hadoop.hbase.client.IsolationLevel-">setIsolationLevel</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</code>
 <div class="block">Set the isolation level for this query.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setLimit-int-">setLimit</a></span>(int&nbsp;limit)</code>
 <div class="block">Set the limit of rows for this scan.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setLoadColumnFamiliesOnDemand-boolean-">setLoadColumnFamiliesOnDemand</a></span>(boolean&nbsp;value)</code>
 <div class="block">Set the value indicating whether loading CFs on demand should be allowed (cluster
  default is false).</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxResultSize-long-">setMaxResultSize</a></span>(long&nbsp;maxResultSize)</code>
 <div class="block">Set the maximum result size.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxResultsPerColumnFamily-int-">setMaxResultsPerColumnFamily</a></span>(int&nbsp;limit)</code>
 <div class="block">Set the maximum number of values to return per row per Column Family</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxVersions--">setMaxVersions</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -615,7 +591,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxVersions-int-">setMaxVersions</a></span>(int&nbsp;maxVersions)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -624,67 +600,67 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setNeedCursorResult-boolean-">setNeedCursorResult</a></span>(boolean&nbsp;needCursorResult)</code>
 <div class="block">When the server is slow or we scan a table with many deleted data or we use a sparse filter,
  the server will response heartbeat to prevent timeout.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setOneRowLimit--">setOneRowLimit</a></span>()</code>
 <div class="block">Call this when you only want to get one row.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setPriority-int-">setPriority</a></span>(int&nbsp;priority)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setRaw-boolean-">setRaw</a></span>(boolean&nbsp;raw)</code>
 <div class="block">Enable/disable "raw" mode for this scan.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setReadType-org.apache.hadoop.hbase.client.Scan.ReadType-">setReadType</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;readType)</code>
 <div class="block">Set the read type for this scan.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setReplicaId-int-">setReplicaId</a></span>(int&nbsp;Id)</code>
 <div class="block">Specify region replica id where Query will fetch data from.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setReversed-boolean-">setReversed</a></span>(boolean&nbsp;reversed)</code>
 <div class="block">Set whether this scan is a reversed one</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setRowOffsetPerColumnFamily-int-">setRowOffsetPerColumnFamily</a></span>(int&nbsp;offset)</code>
 <div class="block">Set offset for the row per Column Family.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setRowPrefixFilter-byte:A-">setRowPrefixFilter</a></span>(byte[]&nbsp;rowPrefix)</code>
 <div class="block">Set a filter (using stopRow and startRow) so the result set only contains rows where the
  rowKey starts with the specified prefix.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled-boolean-">setScanMetricsEnabled</a></span>(boolean&nbsp;enabled)</code>
 <div class="block">Enable collection of <code>ScanMetrics</code>.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-">setSmall</a></span>(boolean&nbsp;small)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -695,7 +671,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setStartRow-byte:A-">setStartRow</a></span>(byte[]&nbsp;startRow)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -704,7 +680,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setStopRow-byte:A-">setStopRow</a></span>(byte[]&nbsp;stopRow)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -713,7 +689,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setTimeRange-long-long-">setTimeRange</a></span>(long&nbsp;minStamp,
             long&nbsp;maxStamp)</code>
@@ -721,13 +697,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
  [minStamp, maxStamp).</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setTimestamp-long-">setTimestamp</a></span>(long&nbsp;timestamp)</code>
 <div class="block">Get versions of columns with the specified timestamp.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setTimeStamp-long-">setTimeStamp</a></span>(long&nbsp;timestamp)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -736,33 +712,33 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </div>
 </td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#toMap-int-">toMap</a></span>(int&nbsp;maxCols)</code>
 <div class="block">Compile the details beyond the scope of getFingerprint (row, columns,
  timestamps, etc.) into a Map along with the fingerprinted information.</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#withStartRow-byte:A-">withStartRow</a></span>(byte[]&nbsp;startRow)</code>
 <div class="block">Set the start row of the scan.</div>
 </td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#withStartRow-byte:A-boolean-">withStartRow</a></span>(byte[]&nbsp;startRow,
             boolean&nbsp;inclusive)</code>
 <div class="block">Set the start row of the scan.</div>
 </td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#withStopRow-byte:A-">withStopRow</a></span>(byte[]&nbsp;stopRow)</code>
 <div class="block">Set the stop row of the scan.</div>
 </td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#withStopRow-byte:A-boolean-">withStopRow</a></span>(byte[]&nbsp;stopRow,
            boolean&nbsp;inclusive)</code>
@@ -812,44 +788,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="SCAN_ATTRIBUTES_METRICS_ENABLE">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SCAN_ATTRIBUTES_METRICS_ENABLE</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.122">SCAN_ATTRIBUTES_METRICS_ENABLE</a></pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.0.0. Use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled-boolean-"><code>setScanMetricsEnabled(boolean)</code></a></span></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_ENABLE">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="SCAN_ATTRIBUTES_METRICS_DATA">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SCAN_ATTRIBUTES_METRICS_DATA</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.129">SCAN_ATTRIBUTES_METRICS_DATA</a></pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">Use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--"><code>getScanMetrics()</code></a></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_DATA">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
 <a name="SCAN_ATTRIBUTES_TABLE_NAME">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>SCAN_ATTRIBUTES_TABLE_NAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.134">SCAN_ATTRIBUTES_TABLE_NAME</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.120">SCAN_ATTRIBUTES_TABLE_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_TABLE_NAME">Constant Field Values</a></dd>
@@ -862,7 +807,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.155">HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.141">HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</a></pre>
 <div class="block">Parameter name for client scanner sync/async prefetch toggle.
  When using async scanner, prefetching data from the server is done at the background.
  The parameter currently won't have any effect in the case that the user has set
@@ -879,7 +824,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.161">DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.147">DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</a></pre>
 <div class="block">Default value of <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#HBASE_CLIENT_SCANNER_ASYNC_PREFETCH"><code>HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -901,7 +846,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>Scan</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.196">Scan</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.182">Scan</a>()</pre>
 <div class="block">Create a Scan operation across all rows.</div>
 </li>
 </ul>
@@ -912,7 +857,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <li class="blockList">
 <h4>Scan</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.202">Scan</a>(byte[]&nbsp;startRow,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.188">Scan</a>(byte[]&nbsp;startRow,
                         <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <code>new Scan().withStartRow(startRow).setFilter(filter)</code> instead.</span></div>
 </li>
@@ -924,7 +869,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <li class="blockList">
 <h4>Scan</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.216">Scan</a>(byte[]&nbsp;startRow)</pre>
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.202">Scan</a>(byte[]&nbsp;startRow)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <code>new Scan().withStartRow(startRow)</code> instead.</span></div>
 <div class="block">Create a Scan operation starting at the specified row.
  <p>
@@ -943,7 +888,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <li class="blockList">
 <h4>Scan</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.227">Scan</a>(byte[]&nbsp;startRow,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.213">Scan</a>(byte[]&nbsp;startRow,
                         byte[]&nbsp;stopRow)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <code>new Scan().withStartRow(startRow).withStopRow(stopRow)</code> instead.</span></div>
 <div class="block">Create a Scan operation for the range of rows specified.</div>
@@ -960,7 +905,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>Scan</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.238">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.224">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Creates a new instance of this class while copying all values.</div>
 <dl>
@@ -977,7 +922,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Scan</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.290">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.276">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
 <div class="block">Builds a scan object with the same specs as get.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -999,7 +944,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>isGetScan</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.318">isGetScan</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.304">isGetScan</a>()</pre>
 </li>
 </ul>
 <a name="addFamily-byte:A-">
@@ -1008,7 +953,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>addFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.330">addFamily</a>(byte[]&nbsp;family)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.316">addFamily</a>(byte[]&nbsp;family)</pre>
 <div class="block">Get all columns from the specified family.
  <p>
  Overrides previous calls to addColumn for this family.</div>
@@ -1026,7 +971,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.344">addColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.330">addColumn</a>(byte[]&nbsp;family,
                       byte[]&nbsp;qualifier)</pre>
 <div class="block">Get the column from the specified family with the specified qualifier.
  <p>
@@ -1046,7 +991,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.368">setTimeRange</a>(long&nbsp;minStamp,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.354">setTimeRange</a>(long&nbsp;minStamp,
                          long&nbsp;maxStamp)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get versions of columns only within the specified timestamp range,
@@ -1074,7 +1019,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <li class="blockList">
 <h4>setTimeStamp</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.386">setTimeStamp</a>(long&nbsp;timestamp)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.372">setTimeStamp</a>(long&nbsp;timestamp)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setTimestamp-long-"><code>setTimestamp(long)</code></a> instead</span></div>
@@ -1101,7 +1046,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimestamp</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.401">setTimestamp</a>(long&nbsp;timestamp)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.387">setTimestamp</a>(long&nbsp;timestamp)</pre>
 <div class="block">Get versions of columns with the specified timestamp. Note, default maximum
  versions to return is 1.  If your time range spans more than one version
  and you want all versions returned, up the number of versions beyond the
@@ -1123,7 +1068,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumnFamilyTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.413">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.399">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
                                      long&nbsp;minStamp,
                                      long&nbsp;maxStamp)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setColumnFamilyTimeRange-byte:A-long-long-">Query</a></code></span></div>
@@ -1151,7 +1096,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <li class="blockList">
 <h4>setStartRow</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.430">setStartRow</a>(byte[]&nbsp;startRow)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.416">setStartRow</a>(byte[]&nbsp;startRow)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#withStartRow-byte:A-"><code>withStartRow(byte[])</code></a> instead. This method may change the inclusive of
              the stop row to keep compatible with the old behavior.</span></div>
 <div class="block">Set the start row of the scan.
@@ -1175,7 +1120,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>withStartRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.449">withStartRow</a>(byte[]&nbsp;startRow)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.435">withStartRow</a>(byte[]&nbsp;startRow)</pre>
 <div class="block">Set the start row of the scan.
  <p>
  If the specified row does not exist, the Scanner will start from the next closest row after the
@@ -1197,7 +1142,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>withStartRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.464">withStartRow</a>(byte[]&nbsp;startRow,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.450">withStartRow</a>(byte[]&nbsp;startRow,
                          boolean&nbsp;inclusive)</pre>
 <div class="block">Set the start row of the scan.
  <p>
@@ -1222,7 +1167,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <li class="blockList">
 <h4>setStopRow</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.490">setStopRow</a>(byte[]&nbsp;stopRow)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.476">setStopRow</a>(byte[]&nbsp;stopRow)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#withStopRow-byte:A-"><code>withStopRow(byte[])</code></a> instead. This method may change the inclusive of
              the stop row to keep compatible with the old behavior.</span></div>
 <div class="block">Set the stop row of the scan.
@@ -1249,7 +1194,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>withStopRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.512">withStopRow</a>(byte[]&nbsp;stopRow)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.498">withStopRow</a>(byte[]&nbsp;stopRow)</pre>
 <div class="block">Set the stop row of the scan.
  <p>
  The scan will include rows that are lexicographically less than the provided stopRow.
@@ -1274,7 +1219,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>withStopRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.527">withStopRow</a>(byte[]&nbsp;stopRow,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.513">withStopRow</a>(byte[]&nbsp;stopRow,
                         boolean&nbsp;inclusive)</pre>
 <div class="block">Set the stop row of the scan.
  <p>
@@ -1298,7 +1243,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowPrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.548">setRowPrefixFilter</a>(byte[]&nbsp;rowPrefix)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.534">setRowPrefixFilter</a>(byte[]&nbsp;rowPrefix)</pre>
 <div class="block"><p>Set a filter (using stopRow and startRow) so the result set only contains rows where the
  rowKey starts with the specified prefix.</p>
  <p>This is a utility method that converts the desired rowPrefix into the appropriate values
@@ -1321,7 +1266,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <li class="blockList">
 <h4>setMaxVersions</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.608">setMaxVersions</a>()</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.594">setMaxVersions</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">It is easy to misunderstand with column family's max versions, so use
              <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#readAllVersions--"><code>readAllVersions()</code></a> instead.</span></div>
 <div class="block">Get all available versions.</div>
@@ -1338,7 +1283,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <li class="blockList">
 <h4>setMaxVersions</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.620">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.606">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">It is easy to misunderstand with column family's max versions, so use
              <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#readVersions-int-"><code>readVersions(int)</code></a> instead.</span></div>
 <div class="block">Get up to the specified number of versions of each column.</div>
@@ -1356,7 +1301,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>readAllVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.628">readAllVersions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.614">readAllVersions</a>()</pre>
 <div class="block">Get all available versions.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1370,7 +1315,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>readVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.638">readVersions</a>(int&nbsp;versions)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.624">readVersions</a>(int&nbsp;versions)</pre>
 <div class="block">Get up to the specified number of versions of each column.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1386,7 +1331,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setBatch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.652">setBatch</a>(int&nbsp;batch)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.638">setBatch</a>(int&nbsp;batch)</pre>
 <div class="block">Set the maximum number of cells to return for each call to next(). Callers should be aware
  that this is not equivalent to calling <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAllowPartialResults-boolean-"><code>setAllowPartialResults(boolean)</code></a>.
  If you don't allow partial results, the number of cells in each Result must equal to your
@@ -1406,7 +1351,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.666">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.652">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
 <div class="block">Set the maximum number of values to return per row per Column Family</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1420,7 +1365,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.675">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.661">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
 <div class="block">Set offset for the row per Column Family.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1434,7 +1379,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setCaching</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.687">setCaching</a>(int&nbsp;caching)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.673">setCaching</a>(int&nbsp;caching)</pre>
 <div class="block">Set the number of rows for caching that will be passed to scanners.
  If not set, the Configuration setting <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_CACHING"><code>HConstants.HBASE_CLIENT_SCANNER_CACHING</code></a> will
  apply.
@@ -1451,7 +1396,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.695">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.681">getMaxResultSize</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the maximum result size in bytes. See <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxResultSize-long-"><code>setMaxResultSize(long)</code></a></dd>
@@ -1464,7 +1409,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultSize</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.706">setMaxResultSize</a>(long&nbsp;maxResultSize)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.692">setMaxResultSize</a>(long&nbsp;maxResultSize)</pre>
 <div class="block">Set the maximum result size. The default is -1; this means that no specific
  maximum result size will be set for this scan, and the global configured
  value will be used instead. (Defaults to unlimited).</div>
@@ -1480,7 +1425,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.712">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.698">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setFilter-org.apache.hadoop.hbase.filter.Filter-">Query</a></code></span></div>
 <div class="block">Apply the specified server-side filter when performing the Query. Only
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(org.apache.hadoop.hbase.Cell)</code></a> is called AFTER all tests for ttl,
@@ -1501,7 +1446,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setFamilyMap</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.722">setFamilyMap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" tit [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.708">setFamilyMap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" tit [...]
 <div class="block">Setting the familyMap</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1517,7 +1462,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyMap</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.731">getFamilyMap</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.717">getFamilyMap</a>()</pre>
 <div class="block">Getting the familyMap</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1531,7 +1476,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>numFamilies</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.738">numFamilies</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.724">numFamilies</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the number of families in familyMap</dd>
@@ -1544,7 +1489,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFamilies</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.748">hasFamilies</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.734">hasFamilies</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if familyMap is non empty, false otherwise</dd>
@@ -1557,7 +1502,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilies</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.755">getFamilies</a>()</pre>
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.741">getFamilies</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the keys of the familyMap</dd>
@@ -1570,7 +1515,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.765">getStartRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.751">getStartRow</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the startrow</dd>
@@ -1583,7 +1528,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>includeStartRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.772">includeStartRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.758">includeStartRow</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if we should include start row when scan</dd>
@@ -1596,7 +1541,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.779">getStopRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.765">getStopRow</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the stoprow</dd>
@@ -1609,7 +1554,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>includeStopRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.786">includeStopRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.772">includeStopRow</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if we should include stop row when scan</dd>
@@ -1622,7 +1567,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxVersions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.793">getMaxVersions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.779">getMaxVersions</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the max number of versions to fetch</dd>
@@ -1635,7 +1580,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getBatch</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.800">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.786">getBatch</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>maximum number of values to return for a single call to next()</dd>
@@ -1648,7 +1593,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.807">getMaxResultsPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.793">getMaxResultsPerColumnFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>maximum number of values to return per row per CF</dd>
@@ -1661,7 +1606,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.816">getRowOffsetPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.802">getRowOffsetPerColumnFamily</a>()</pre>
 <div class="block">Method for retrieving the scan's offset per row per column
  family (#kvs to be skipped)</div>
 <dl>
@@ -1676,7 +1621,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getCaching</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.823">getCaching</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.809">getCaching</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>caching the number of rows fetched when calling next on a scanner</dd>
@@ -1689,7 +1634,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.830">getTimeRange</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.816">getTimeRange</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>TimeRange</dd>
@@ -1702,7 +1647,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.838">getFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.824">getFilter</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#getFilter--">getFilter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></dd>
@@ -1717,7 +1662,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilter</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.845">hasFilter</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.831">hasFilter</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true is a filter has been specified, false if not</dd>
@@ -1730,7 +1675,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setCacheBlocks</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.859">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.845">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
 <div class="block">Set whether blocks should be cached for this Scan.
  <p>
  This is true by default.  When true, default settings of the table and
@@ -1749,7 +1694,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getCacheBlocks</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.869">getCacheBlocks</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.855">getCacheBlocks</a>()</pre>
 <div class="block">Get whether blocks should be cached for this Scan.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1764,7 +1709,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setReversed</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.881">setReversed</a>(boolean&nbsp;reversed)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.867">setReversed</a>(boolean&nbsp;reversed)</pre>
 <div class="block">Set whether this scan is a reversed one
  <p>
  This is false by default which means forward(normal) scan.</div>
@@ -1782,7 +1727,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isReversed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.890">isReversed</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.876">isReversed</a>()</pre>
 <div class="block">Get whether this scan is a reversed one.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1796,7 +1741,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setAllowPartialResults</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.904">setAllowPartialResults</a>(boolean&nbsp;allowPartialResults)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.890">setAllowPartialResults</a>(boolean&nbsp;allowPartialResults)</pre>
 <div class="block">Setting whether the caller wants to see the partial results when server returns
  less-than-expected cells. It is helpful while scanning a huge row to prevent OOM at client.
  By default this value is false and the complete results will be assembled client side
@@ -1818,7 +1763,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllowPartialResults</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.914">getAllowPartialResults</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.900">getAllowPartialResults</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true when the constructor of this scan understands that the results they will see may
@@ -1833,7 +1778,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setLoadColumnFamiliesOnDemand</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.919">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.905">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setLoadColumnFamiliesOnDemand-boolean-">Query</a></code></span></div>
 <div class="block">Set the value indicating whether loading CFs on demand should be allowed (cluster
  default is false). On-demand CF loading doesn't load column families until necessary, e.g.
@@ -1861,7 +1806,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getFingerprint</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache [...]
 <div class="block">Compile the table and column family (i.e. schema) information
  into a String. Useful for parsing and aggregation by debugging,
  logging, and administration tools.</div>
@@ -1879,7 +1824,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>toMap</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache [...]
 <div class="block">Compile the details beyond the scope of getFingerprint (row, columns,
  timestamps, etc.) into a Map along with the fingerprinted information.
  Useful for debugging, logging, and administration tools.</div>
@@ -1899,7 +1844,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setRaw</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1017">setRaw</a>(boolean&nbsp;raw)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1003">setRaw</a>(boolean&nbsp;raw)</pre>
 <div class="block">Enable/disable "raw" mode for this scan.
  If "raw" is enabled the scan will return all
  delete marker and deleted rows that have not
@@ -1919,7 +1864,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1025">isRaw</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1011">isRaw</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>True if this Scan is in "raw" mode.</dd>
@@ -1933,7 +1878,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <li class="blockList">
 <h4>setSmall</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1048">setSmall</a>(boolean&nbsp;small)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1034">setSmall</a>(boolean&nbsp;small)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0.0. Use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setLimit-int-"><code>setLimit(int)</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setReadType-org.apache.hadoop.hbase.client.Scan.ReadType-"><code>setReadType(ReadType)</code></a> instead.
              And for the one rpc optimization, now we will also fetch data when openScanner, and
              if the number of rows reaches the limit then we will close the scanner
@@ -1962,7 +1907,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <li class="blockList">
 <h4>isSmall</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1060">isSmall</a>()</pre>
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1046">isSmall</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0.0. See the comment of <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-"><code>setSmall(boolean)</code></a></span></div>
 <div class="block">Get whether this scan is a small scan</div>
 <dl>
@@ -1977,7 +1922,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setAttribute</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1065">setAttribute</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1051">setAttribute</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                          byte[]&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Attributes.html#setAttribute-java.lang.String-byte:A-">Attributes</a></code></span></div>
 <div class="block">Sets an attribute.
@@ -2000,7 +1945,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1070">setId</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1056">setId</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html#setId-java.lang.String-">OperationWithAttributes</a></code></span></div>
 <div class="block">This method allows you to set an identifier on an operation. The original
  motivation for this was to allow the identifier to be used in slow query
@@ -2021,7 +1966,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setAuthorizations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1075">setAuthorizations</a>(org.apache.hadoop.hbase.security.visibility.Authorizations&nbsp;authorizations)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1061">setAuthorizations</a>(org.apache.hadoop.hbase.security.visibility.Authorizations&nbsp;authorizations)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setAuthorizations-org.apache.hadoop.hbase.security.visibility.Authorizations-">Query</a></code></span></div>
 <div class="block">Sets the authorizations to be used by this Query</div>
 <dl>
@@ -2036,7 +1981,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1080">setACL</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or inter [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1066">setACL</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or inter [...]
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setACL-java.util.Map-">setACL</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></dd>
@@ -2051,7 +1996,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1085">setACL</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1071">setACL</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                    org.apache.hadoop.hbase.security.access.Permission&nbsp;perms)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -2068,7 +2013,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setConsistency</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1090">setConsistency</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1076">setConsistency</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-">Query</a></code></span></div>
 <div class="block">Sets the consistency level for this operation</div>
 <dl>
@@ -2085,7 +2030,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setReplicaId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1095">setReplicaId</a>(int&nbsp;Id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1081">setReplicaId</a>(int&nbsp;Id)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setReplicaId-int-">Query</a></code></span></div>
 <div class="block">Specify region replica id where Query will fetch data from. Use this together with
  <a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-"><code>Query.setConsistency(Consistency)</code></a> passing <a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html#TIMELINE"><code>Consistency.TIMELINE</code></a> to read data from
@@ -2103,7 +2048,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setIsolationLevel</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1100">setIsolationLevel</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1086">setIsolationLevel</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setIsolationLevel-org.apache.hadoop.hbase.client.IsolationLevel-">Query</a></code></span></div>
 <div class="block">Set the isolation level for this query. If the
  isolation level is set to READ_UNCOMMITTED, then
@@ -2127,7 +2072,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setPriority</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1105">setPriority</a>(int&nbsp;priority)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1091">setPriority</a>(int&nbsp;priority)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html#setPriority-int-">setPriority</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html" title="class in org.apache.hadoop.hbase.client">OperationWithAttributes</a></code></dd>
@@ -2140,7 +2085,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setScanMetricsEnabled</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1113">setScanMetricsEnabled</a>(boolean&nbsp;enabled)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1099">setScanMetricsEnabled</a>(boolean&nbsp;enabled)</pre>
 <div class="block">Enable collection of <code>ScanMetrics</code>. For advanced users.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2154,39 +2099,20 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>isScanMetricsEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1121">isScanMetricsEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1107">isScanMetricsEnabled</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>True if collection of scan metrics is enabled. For advanced users.</dd>
 </dl>
 </li>
 </ul>
-<a name="getScanMetrics--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getScanMetrics</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1134">getScanMetrics</a>()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
-             use this method and <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
-             will be messed up.</span></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Metrics on this Scan, if metrics were enabled.</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled-boolean-"><code>setScanMetricsEnabled(boolean)</code></a></dd>
-</dl>
-</li>
-</ul>
 <a name="isAsyncPrefetch--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>isAsyncPrefetch</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1140">isAsyncPrefetch</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1112">isAsyncPrefetch</a>()</pre>
 </li>
 </ul>
 <a name="setAsyncPrefetch-boolean-">
@@ -2195,7 +2121,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockList">
 <li class="blockList">
 <h4>setAsyncPrefetch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1144">setAsyncPrefetch</a>(boolean&nbsp;asyncPrefetch)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1116">setAsyncPrefetch</a>(boolean&nbsp;asyncPrefetch)</pre>
 </li>
 </ul>
 <a name="getLimit--">
@@ -2204,7 +2130,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockList">
 <li class="blockList">
 <h4>getLimit</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1152">getLimit</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1124">getLimit</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the limit of rows for this scan</dd>
@@ -2217,7 +2143,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockList">
 <li class="blockList">
 <h4>setLimit</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1164">setLimit</a>(int&nbsp;limit)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1136">setLimit</a>(int&nbsp;limit)</pre>
 <div class="block">Set the limit of rows for this scan. We will terminate the scan if the number of returned rows
  reaches this value.
  <p>
@@ -2236,7 +2162,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockList">
 <li class="blockList">
 <h4>setOneRowLimit</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1174">setOneRowLimit</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1146">setOneRowLimit</a>()</pre>
 <div class="block">Call this when you only want to get one row. It will set <code>limit</code> to <code>1</code>, and also
  set <code>readType</code> to <a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html#PREAD"><code>Scan.ReadType.PREAD</code></a>.</div>
 <dl>
@@ -2251,7 +2177,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1186">getReadType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1158">getReadType</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the read type for this scan</dd>
@@ -2264,7 +2190,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockList">
 <li class="blockList">
 <h4>setReadType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1197">setReadType</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;readType)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1169">setReadType</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;readType)</pre>
 <div class="block">Set the read type for this scan.
  <p>
  Notice that we may choose to use pread even if you specific <a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html#STREAM"><code>Scan.ReadType.STREAM</code></a> here. For
@@ -2281,7 +2207,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockList">
 <li class="blockList">
 <h4>setNeedCursorResult</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1243">setNeedCursorResult</a>(boolean&nbsp;needCursorResult)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1215">setNeedCursorResult</a>(boolean&nbsp;needCursorResult)</pre>
 <div class="block">When the server is slow or we scan a table with many deleted data or we use a sparse filter,
  the server will response heartbeat to prevent timeout. However the scanner will return a Result
  only when client can do it. So if there are many heartbeats, the blocking time on
@@ -2307,7 +2233,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockList">
 <li class="blockList">
 <h4>isNeedCursorResult</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1248">isNeedCursorResult</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1220">isNeedCursorResult</a>()</pre>
 </li>
 </ul>
 <a name="createScanFromCursor-org.apache.hadoop.hbase.client.Cursor-">
@@ -2316,7 +2242,7 @@ public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createScanFromCursor</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1259">createScanFromCursor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client">Cursor</a>&nbsp;cursor)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1231">createScanFromCursor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client">Cursor</a>&nbsp;cursor)</pre>
 <div class="block">Create a new Scan with a cursor. It only set the position information like start row key.
  The others (like cfs, stop row, limit) should still be filled in by the user.
  <a href="../../../../../org/apache/hadoop/hbase/client/Result.html#isCursor--"><code>Result.isCursor()</code></a>
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncBufferedMutatorBuilder.html b/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncBufferedMutatorBuilder.html
index 4232923..deeedb6 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncBufferedMutatorBuilder.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncBufferedMutatorBuilder.html
@@ -130,46 +130,54 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setMaxKeyValueSize-int-">setMaxKeyValueSize</a></span>(int&nbsp;maxKeyValueSize)</code>
+<div class="block">Override the maximum key-value size specified by the provided <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncConnection</code></a>'s
+ <code>Configuration</code> instance, via the configuration key
+ <code>hbase.client.keyvalue.maxsize</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setMaxRetries-int-">setMaxRetries</a></span>(int&nbsp;maxRetries)</code>
 <div class="block">Set the max retry times for an operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setOperationTimeout-long-java.util.concurrent.TimeUnit-">setOperationTimeout</a></span>(long&nbsp;timeout,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set timeout for the background flush operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setRetryPause-long-java.util.concurrent.TimeUnit-">setRetryPause</a></span>(long&nbsp;pause,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the base pause time for retrying.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setRpcTimeout-long-java.util.concurrent.TimeUnit-">setRpcTimeout</a></span>(long&nbsp;timeout,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set timeout for each rpc request when doing background flush.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setStartLogErrorsCnt-int-">setStartLogErrorsCnt</a></span>(int&nbsp;startLogErrorsCnt)</code>
 <div class="block">Set the number of retries that are allowed before we start to log.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setWriteBufferPeriodicFlush-long-java.util.concurrent.TimeUnit-">setWriteBufferPeriodicFlush</a></span>(long&nbsp;timeout,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the periodical flush interval.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html#setWriteBufferSize-long-">setWriteBufferSize</a></span>(long&nbsp;writeBufferSize)</code>
 <div class="block">Override the write buffer size specified by the provided <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncConnection</code></a>'s
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html
index 89664e1..1b58c5b 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html
@@ -106,10 +106,17 @@
 <span class="sourceLineNo">098</span>  AsyncBufferedMutatorBuilder setWriteBufferSize(long writeBufferSize);<a name="line.98"></a>
 <span class="sourceLineNo">099</span><a name="line.99"></a>
 <span class="sourceLineNo">100</span>  /**<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * Create the {@link AsyncBufferedMutator} instance.<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  AsyncBufferedMutator build();<a name="line.103"></a>
-<span class="sourceLineNo">104</span>}<a name="line.104"></a>
+<span class="sourceLineNo">101</span>   * Override the maximum key-value size specified by the provided {@link AsyncConnection}'s<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * {@link org.apache.hadoop.conf.Configuration} instance, via the configuration key<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * {@code hbase.client.keyvalue.maxsize}.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  AsyncBufferedMutatorBuilder setMaxKeyValueSize(int maxKeyValueSize);<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  /**<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * Create the {@link AsyncBufferedMutator} instance.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  AsyncBufferedMutator build();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>}<a name="line.111"></a>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html
index efeb69a..067ff9b 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.ReadType.html
@@ -36,1238 +36,1210 @@
 <span class="sourceLineNo">028</span>import java.util.NavigableSet;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import java.util.TreeMap;<a name="line.29"></a>
 <span class="sourceLineNo">030</span>import java.util.TreeSet;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.HConstants;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.slf4j.Logger;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.slf4j.LoggerFactory;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.metrics.ScanMetrics;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.security.visibility.Authorizations;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * Used to perform Scan operations.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * All operations are identical to {@link Get} with the exception of instantiation. Rather than<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * specifying a single row, an optional startRow and stopRow may be defined. If rows are not<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * specified, the Scanner will iterate over all rows.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * &lt;p&gt;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * To get all columns from all rows of a Table, create an instance with no constraints; use the<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * {@link #Scan()} constructor. To constrain the scan to specific column families, call<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * {@link #addFamily(byte[]) addFamily} for each family to retrieve on your Scan instance.<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * &lt;p&gt;<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * To get specific columns, call {@link #addColumn(byte[], byte[]) addColumn} for each column to<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * retrieve.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * To only retrieve columns within a specific range of version timestamps, call<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * {@link #setTimeRange(long, long) setTimeRange}.<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * &lt;p&gt;<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * To only retrieve columns with a specific timestamp, call {@link #setTimestamp(long) setTimestamp}<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * .<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * &lt;p&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * To limit the number of versions of each column to be returned, call {@link #setMaxVersions(int)<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * setMaxVersions}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * &lt;p&gt;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * To limit the maximum number of values returned for each call to next(), call<a name="line.68"></a>
-<span class="sourceLineNo">069</span> * {@link #setBatch(int) setBatch}.<a name="line.69"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HConstants;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.metrics.ScanMetrics;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.security.visibility.Authorizations;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.slf4j.Logger;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.slf4j.LoggerFactory;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Used to perform Scan operations.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * All operations are identical to {@link Get} with the exception of instantiation. Rather than<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * specifying a single row, an optional startRow and stopRow may be defined. If rows are not<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * specified, the Scanner will iterate over all rows.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * To get all columns from all rows of a Table, create an instance with no constraints; use the<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * {@link #Scan()} constructor. To constrain the scan to specific column families, call<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * {@link #addFamily(byte[]) addFamily} for each family to retrieve on your Scan instance.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * To get specific columns, call {@link #addColumn(byte[], byte[]) addColumn} for each column to<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * retrieve.<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * &lt;p&gt;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * To only retrieve columns within a specific range of version timestamps, call<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * {@link #setTimeRange(long, long) setTimeRange}.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;p&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * To only retrieve columns with a specific timestamp, call {@link #setTimestamp(long) setTimestamp}<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * .<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * &lt;p&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * To limit the number of versions of each column to be returned, call {@link #setMaxVersions(int)<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * setMaxVersions}.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * &lt;p&gt;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * To limit the maximum number of values returned for each call to next(), call<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * {@link #setBatch(int) setBatch}.<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * &lt;p&gt;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * To add a filter, call {@link #setFilter(org.apache.hadoop.hbase.filter.Filter) setFilter}.<a name="line.69"></a>
 <span class="sourceLineNo">070</span> * &lt;p&gt;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> * To add a filter, call {@link #setFilter(org.apache.hadoop.hbase.filter.Filter) setFilter}.<a name="line.71"></a>
-<span class="sourceLineNo">072</span> * &lt;p&gt;<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * For small scan, it is deprecated in 2.0.0. Now we have a {@link #setLimit(int)} method in Scan<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * object which is used to tell RS how many rows we want. If the rows return reaches the limit, the<a name="line.74"></a>
-<span class="sourceLineNo">075</span> * RS will close the RegionScanner automatically. And we will also fetch data when openScanner in<a name="line.75"></a>
-<span class="sourceLineNo">076</span> * the new implementation, this means we can also finish a scan operation in one rpc call. And we<a name="line.76"></a>
-<span class="sourceLineNo">077</span> * have also introduced a {@link #setReadType(ReadType)} method. You can use this method to tell RS<a name="line.77"></a>
-<span class="sourceLineNo">078</span> * to use pread explicitly.<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * &lt;p&gt;<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * Expert: To explicitly disable server-side block caching for this scan, execute<a name="line.80"></a>
-<span class="sourceLineNo">081</span> * {@link #setCacheBlocks(boolean)}.<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * &lt;p&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * &lt;em&gt;Note:&lt;/em&gt; Usage alters Scan instances. Internally, attributes are updated as the Scan runs<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * and if enabled, metrics accumulate in the Scan instance. Be aware this is the case when you go to<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * clone a Scan instance or if you go to reuse a created Scan instance; safer is create a Scan<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * instance per usage.<a name="line.86"></a>
-<span class="sourceLineNo">087</span> */<a name="line.87"></a>
-<span class="sourceLineNo">088</span>@InterfaceAudience.Public<a name="line.88"></a>
-<span class="sourceLineNo">089</span>public class Scan extends Query {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private static final Logger LOG = LoggerFactory.getLogger(Scan.class);<a name="line.90"></a>
+<span class="sourceLineNo">071</span> * For small scan, it is deprecated in 2.0.0. Now we have a {@link #setLimit(int)} method in Scan<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * object which is used to tell RS how many rows we want. If the rows return reaches the limit, the<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * RS will close the RegionScanner automatically. And we will also fetch data when openScanner in<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * the new implementation, this means we can also finish a scan operation in one rpc call. And we<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * have also introduced a {@link #setReadType(ReadType)} method. You can use this method to tell RS<a name="line.75"></a>
+<span class="sourceLineNo">076</span> * to use pread explicitly.<a name="line.76"></a>
+<span class="sourceLineNo">077</span> * &lt;p&gt;<a name="line.77"></a>
+<span class="sourceLineNo">078</span> * Expert: To explicitly disable server-side block caching for this scan, execute<a name="line.78"></a>
+<span class="sourceLineNo">079</span> * {@link #setCacheBlocks(boolean)}.<a name="line.79"></a>
+<span class="sourceLineNo">080</span> * &lt;p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">081</span> * &lt;em&gt;Note:&lt;/em&gt; Usage alters Scan instances. Internally, attributes are updated as the Scan runs<a name="line.81"></a>
+<span class="sourceLineNo">082</span> * and if enabled, metrics accumulate in the Scan instance. Be aware this is the case when you go to<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * clone a Scan instance or if you go to reuse a created Scan instance; safer is create a Scan<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * instance per usage.<a name="line.84"></a>
+<span class="sourceLineNo">085</span> */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>@InterfaceAudience.Public<a name="line.86"></a>
+<span class="sourceLineNo">087</span>public class Scan extends Query {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private static final Logger LOG = LoggerFactory.getLogger(Scan.class);<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private static final String RAW_ATTR = "_raw_";<a name="line.90"></a>
 <span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private static final String RAW_ATTR = "_raw_";<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private byte[] startRow = HConstants.EMPTY_START_ROW;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  private boolean includeStartRow = true;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  private byte[] stopRow  = HConstants.EMPTY_END_ROW;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private boolean includeStopRow = false;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  private int maxVersions = 1;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  private int batch = -1;<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>  /**<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * Partial {@link Result}s are {@link Result}s must be combined to form a complete {@link Result}.<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * The {@link Result}s had to be returned in fragments (i.e. as partials) because the size of the<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * cells in the row exceeded max result size on the server. Typically partial results will be<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * combined client side into complete results before being delivered to the caller. However, if<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * this flag is set, the caller is indicating that they do not mind seeing partial results (i.e.<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * they understand that the results returned from the Scanner may only represent part of a<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * particular row). In such a case, any attempt to combine the partials into a complete result on<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * the client side will be skipped, and the caller will be able to see the exact results returned<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * from the server.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private boolean allowPartialResults = false;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  private int storeLimit = -1;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private int storeOffset = 0;<a name="line.115"></a>
+<span class="sourceLineNo">092</span>  private byte[] startRow = HConstants.EMPTY_START_ROW;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  private boolean includeStartRow = true;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  private byte[] stopRow  = HConstants.EMPTY_END_ROW;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  private boolean includeStopRow = false;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  private int maxVersions = 1;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  private int batch = -1;<a name="line.97"></a>
+<span class="sourceLineNo">098</span><a name="line.98"></a>
+<span class="sourceLineNo">099</span>  /**<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * Partial {@link Result}s are {@link Result}s must be combined to form a complete {@link Result}.<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * The {@link Result}s had to be returned in fragments (i.e. as partials) because the size of the<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * cells in the row exceeded max result size on the server. Typically partial results will be<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * combined client side into complete results before being delivered to the caller. However, if<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * this flag is set, the caller is indicating that they do not mind seeing partial results (i.e.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * they understand that the results returned from the Scanner may only represent part of a<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * particular row). In such a case, any attempt to combine the partials into a complete result on<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * the client side will be skipped, and the caller will be able to see the exact results returned<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * from the server.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  private boolean allowPartialResults = false;<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>  private int storeLimit = -1;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  private int storeOffset = 0;<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  private static final String SCAN_ATTRIBUTES_METRICS_ENABLE = "scan.attributes.metrics.enable";<a name="line.115"></a>
 <span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /**<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * @deprecated since 1.0.0. Use {@link #setScanMetricsEnabled(boolean)}<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  // Make private or remove.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  @Deprecated<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  static public final String SCAN_ATTRIBUTES_METRICS_ENABLE = "scan.attributes.metrics.enable";<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  /**<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * Use {@link #getScanMetrics()}<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  // Make this private or remove.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  @Deprecated<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  static public final String SCAN_ATTRIBUTES_METRICS_DATA = "scan.attributes.metrics.data";<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  // If an application wants to use multiple scans over different tables each scan must<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  // define this attribute with the appropriate table name by calling<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  // scan.setAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME, Bytes.toBytes(tableName))<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  static public final String SCAN_ATTRIBUTES_TABLE_NAME = "scan.attributes.table.name";<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>   * -1 means no caching specified and the value of {@link HConstants#HBASE_CLIENT_SCANNER_CACHING}<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * (default to {@link HConstants#DEFAULT_HBASE_CLIENT_SCANNER_CACHING}) will be used<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  private int caching = -1;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private long maxResultSize = -1;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  private boolean cacheBlocks = true;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  private boolean reversed = false;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  private TimeRange tr = TimeRange.allTime();<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  private Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap =<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    new TreeMap&lt;byte [], NavigableSet&lt;byte []&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  private Boolean asyncPrefetch = null;<a name="line.147"></a>
+<span class="sourceLineNo">117</span>  // If an application wants to use multiple scans over different tables each scan must<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  // define this attribute with the appropriate table name by calling<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  // scan.setAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME, Bytes.toBytes(tableName))<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  static public final String SCAN_ATTRIBUTES_TABLE_NAME = "scan.attributes.table.name";<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * -1 means no caching specified and the value of {@link HConstants#HBASE_CLIENT_SCANNER_CACHING}<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * (default to {@link HConstants#DEFAULT_HBASE_CLIENT_SCANNER_CACHING}) will be used<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  private int caching = -1;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  private long maxResultSize = -1;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  private boolean cacheBlocks = true;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  private boolean reversed = false;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  private TimeRange tr = TimeRange.allTime();<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  private Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap =<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    new TreeMap&lt;byte [], NavigableSet&lt;byte []&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  private Boolean asyncPrefetch = null;<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>   * Parameter name for client scanner sync/async prefetch toggle.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * When using async scanner, prefetching data from the server is done at the background.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * The parameter currently won't have any effect in the case that the user has set<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * Scan#setSmall or Scan#setReversed<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public static final String HBASE_CLIENT_SCANNER_ASYNC_PREFETCH =<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      "hbase.client.scanner.async.prefetch";<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * Default value of {@link #HBASE_CLIENT_SCANNER_ASYNC_PREFETCH}.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public static final boolean DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH = false;<a name="line.147"></a>
 <span class="sourceLineNo">148</span><a name="line.148"></a>
 <span class="sourceLineNo">149</span>  /**<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * Parameter name for client scanner sync/async prefetch toggle.<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * When using async scanner, prefetching data from the server is done at the background.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * The parameter currently won't have any effect in the case that the user has set<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * Scan#setSmall or Scan#setReversed<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public static final String HBASE_CLIENT_SCANNER_ASYNC_PREFETCH =<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      "hbase.client.scanner.async.prefetch";<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * Default value of {@link #HBASE_CLIENT_SCANNER_ASYNC_PREFETCH}.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public static final boolean DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH = false;<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>   * Set it true for small scan to get better performance Small scan should use pread and big scan<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * can use seek + read seek + read is fast but can cause two problem (1) resource contention (2)<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * cause too much network io [89-fb] Using pread for non-compaction read request<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * https://issues.apache.org/jira/browse/HBASE-7266 On the other hand, if setting it true, we<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * would do openScanner,next,closeScanner in one RPC call. It means the better performance for<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * small scan. [HBASE-9488]. Generally, if the scan range is within one data block(64KB), it could<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * be considered as a small scan.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  private boolean small = false;<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  /**<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * The mvcc read point to use when open a scanner. Remember to clear it after switching regions as<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * the mvcc is only valid within region scope.<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  private long mvccReadPoint = -1L;<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * The number of rows we want for this scan. We will terminate the scan if the number of return<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * rows reaches this value.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  private int limit = -1;<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * Control whether to use pread at server side.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  private ReadType readType = ReadType.DEFAULT;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private boolean needCursorResult = false;<a name="line.191"></a>
+<span class="sourceLineNo">150</span>   * Set it true for small scan to get better performance Small scan should use pread and big scan<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * can use seek + read seek + read is fast but can cause two problem (1) resource contention (2)<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * cause too much network io [89-fb] Using pread for non-compaction read request<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   * https://issues.apache.org/jira/browse/HBASE-7266 On the other hand, if setting it true, we<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * would do openScanner,next,closeScanner in one RPC call. It means the better performance for<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * small scan. [HBASE-9488]. Generally, if the scan range is within one data block(64KB), it could<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * be considered as a small scan.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  private boolean small = false;<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * The mvcc read point to use when open a scanner. Remember to clear it after switching regions as<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * the mvcc is only valid within region scope.<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  private long mvccReadPoint = -1L;<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   * The number of rows we want for this scan. We will terminate the scan if the number of return<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * rows reaches this value.<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   */<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  private int limit = -1;<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">173</span>   * Control whether to use pread at server side.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  private ReadType readType = ReadType.DEFAULT;<a name="line.175"></a>
+<span class="sourceLineNo">176</span><a name="line.176"></a>
+<span class="sourceLineNo">177</span>  private boolean needCursorResult = false;<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * Create a Scan operation across all rows.<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   */<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  public Scan() {}<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  /**<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * @deprecated use {@code new Scan().withStartRow(startRow).setFilter(filter)} instead.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  @Deprecated<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  public Scan(byte[] startRow, Filter filter) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    this(startRow);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    this.filter = filter;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
 <span class="sourceLineNo">192</span><a name="line.192"></a>
 <span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * Create a Scan operation across all rows.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  public Scan() {}<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /**<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * @deprecated use {@code new Scan().withStartRow(startRow).setFilter(filter)} instead.<a name="line.199"></a>
+<span class="sourceLineNo">194</span>   * Create a Scan operation starting at the specified row.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * &lt;p&gt;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * specified row.<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @param startRow row to start scanner at or after<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * @deprecated use {@code new Scan().withStartRow(startRow)} instead.<a name="line.199"></a>
 <span class="sourceLineNo">200</span>   */<a name="line.200"></a>
 <span class="sourceLineNo">201</span>  @Deprecated<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  public Scan(byte[] startRow, Filter filter) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    this(startRow);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    this.filter = filter;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Create a Scan operation starting at the specified row.<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * &lt;p&gt;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * specified row.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @param startRow row to start scanner at or after<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * @deprecated use {@code new Scan().withStartRow(startRow)} instead.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @Deprecated<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public Scan(byte[] startRow) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    setStartRow(startRow);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * Create a Scan operation for the range of rows specified.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * @param startRow row to start scanner at or after (inclusive)<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * @param stopRow row to stop scanner before (exclusive)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * @deprecated use {@code new Scan().withStartRow(startRow).withStopRow(stopRow)} instead.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  @Deprecated<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public Scan(byte[] startRow, byte[] stopRow) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    setStartRow(startRow);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    setStopRow(stopRow);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * Creates a new instance of this class while copying all values.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   *<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * @param scan  The scan instance to copy from.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * @throws IOException When copying the values fails.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   */<a name="line.237"></a>
-<span class="sourceLineNo">238</span>  public Scan(Scan scan) throws IOException {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    startRow = scan.getStartRow();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    includeStartRow = scan.includeStartRow();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    stopRow  = scan.getStopRow();<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    includeStopRow = scan.includeStopRow();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    maxVersions = scan.getMaxVersions();<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    batch = scan.getBatch();<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    storeLimit = scan.getMaxResultsPerColumnFamily();<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    storeOffset = scan.getRowOffsetPerColumnFamily();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    caching = scan.getCaching();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    maxResultSize = scan.getMaxResultSize();<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    cacheBlocks = scan.getCacheBlocks();<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    filter = scan.getFilter(); // clone?<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    consistency = scan.getConsistency();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    this.setIsolationLevel(scan.getIsolationLevel());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    reversed = scan.isReversed();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    small = scan.isSmall();<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    tr = scan.getTimeRange(); // TimeRange is immutable<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      byte [] fam = entry.getKey();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        for (byte[] col : cols) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>          addColumn(fam, col);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        }<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      } else {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        addFamily(fam);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      }<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    }<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    }<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      TimeRange tr = entry.getValue();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    this.mvccReadPoint = scan.getMvccReadPoint();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    this.limit = scan.getLimit();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    this.needCursorResult = scan.isNeedCursorResult();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    setPriority(scan.getPriority());<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    readType = scan.getReadType();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    super.setReplicaId(scan.getReplicaId());<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  }<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * Builds a scan object with the same specs as get.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   * @param get get to model scan after<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   */<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public Scan(Get get) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    this.startRow = get.getRow();<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    this.includeStartRow = true;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    this.stopRow = get.getRow();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.includeStopRow = true;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    this.filter = get.getFilter();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    this.maxVersions = get.getMaxVersions();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    this.tr = get.getTimeRange();<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    this.familyMap = get.getFamilyMap();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    this.asyncPrefetch = false;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    this.consistency = get.getConsistency();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    this.setIsolationLevel(get.getIsolationLevel());<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    this.loadColumnFamiliesOnDemand = get.getLoadColumnFamiliesOnDemandValue();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    }<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      TimeRange tr = entry.getValue();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    this.mvccReadPoint = -1L;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    setPriority(get.getPriority());<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    super.setReplicaId(get.getReplicaId());<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public boolean isGetScan() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    return includeStartRow &amp;&amp; includeStopRow<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        &amp;&amp; ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow);<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  /**<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * Get all columns from the specified family.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * &lt;p&gt;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * Overrides previous calls to addColumn for this family.<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * @param family family name<a name="line.327"></a>
+<span class="sourceLineNo">202</span>  public Scan(byte[] startRow) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    setStartRow(startRow);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * Create a Scan operation for the range of rows specified.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @param startRow row to start scanner at or after (inclusive)<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @param stopRow row to stop scanner before (exclusive)<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @deprecated use {@code new Scan().withStartRow(startRow).withStopRow(stopRow)} instead.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   */<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  @Deprecated<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  public Scan(byte[] startRow, byte[] stopRow) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    setStartRow(startRow);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    setStopRow(stopRow);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>  /**<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   * Creates a new instance of this class while copying all values.<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   *<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   * @param scan  The scan instance to copy from.<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * @throws IOException When copying the values fails.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   */<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  public Scan(Scan scan) throws IOException {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    startRow = scan.getStartRow();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    includeStartRow = scan.includeStartRow();<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    stopRow  = scan.getStopRow();<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    includeStopRow = scan.includeStopRow();<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    maxVersions = scan.getMaxVersions();<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    batch = scan.getBatch();<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    storeLimit = scan.getMaxResultsPerColumnFamily();<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    storeOffset = scan.getRowOffsetPerColumnFamily();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    caching = scan.getCaching();<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    maxResultSize = scan.getMaxResultSize();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    cacheBlocks = scan.getCacheBlocks();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    filter = scan.getFilter(); // clone?<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    consistency = scan.getConsistency();<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    this.setIsolationLevel(scan.getIsolationLevel());<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    reversed = scan.isReversed();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    small = scan.isSmall();<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    tr = scan.getTimeRange(); // TimeRange is immutable<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      byte [] fam = entry.getKey();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        for (byte[] col : cols) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>          addColumn(fam, col);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      } else {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        addFamily(fam);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      }<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      TimeRange tr = entry.getValue();<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    this.mvccReadPoint = scan.getMvccReadPoint();<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    this.limit = scan.getLimit();<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    this.needCursorResult = scan.isNeedCursorResult();<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    setPriority(scan.getPriority());<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    readType = scan.getReadType();<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    super.setReplicaId(scan.getReplicaId());<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  }<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>  /**<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   * Builds a scan object with the same specs as get.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   * @param get get to model scan after<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   */<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public Scan(Get get) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    this.startRow = get.getRow();<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    this.includeStartRow = true;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    this.stopRow = get.getRow();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    this.includeStopRow = true;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    this.filter = get.getFilter();<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    this.maxVersions = get.getMaxVersions();<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    this.tr = get.getTimeRange();<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    this.familyMap = get.getFamilyMap();<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    this.asyncPrefetch = false;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    this.consistency = get.getConsistency();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    this.setIsolationLevel(get.getIsolationLevel());<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    this.loadColumnFamiliesOnDemand = get.getLoadColumnFamiliesOnDemandValue();<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      TimeRange tr = entry.getValue();<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    this.mvccReadPoint = -1L;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    setPriority(get.getPriority());<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    super.setReplicaId(get.getReplicaId());<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public boolean isGetScan() {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    return includeStartRow &amp;&amp; includeStopRow<a name="line.305"></a>
+<span class="sourceLineNo">306</span>        &amp;&amp; ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  /**<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * Get all columns from the specified family.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * &lt;p&gt;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * Overrides previous calls to addColumn for this family.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @param family family name<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @return this<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  public Scan addFamily(byte [] family) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    familyMap.remove(family);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    familyMap.put(family, null);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    return this;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  }<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * Get the column from the specified family with the specified qualifier.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * &lt;p&gt;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * Overrides previous calls to addFamily for this family.<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * @param family family name<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param qualifier column qualifier<a name="line.327"></a>
 <span class="sourceLineNo">328</span>   * @return this<a name="line.328"></a>
 <span class="sourceLineNo">329</span>   */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  public Scan addFamily(byte [] family) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    familyMap.remove(family);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    familyMap.put(family, null);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return this;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>  /**<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * Get the column from the specified family with the specified qualifier.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * &lt;p&gt;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * Overrides previous calls to addFamily for this family.<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param family family name<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param qualifier column qualifier<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @return this<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    if(set == null) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      set = new TreeSet&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      familyMap.put(family, set);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    }<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    if (qualifier == null) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    set.add(qualifier);<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return this;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  /**<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * Get versions of columns only within the specified timestamp range,<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * your time range spans more than one version and you want all versions<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * returned, up the number of versions beyond the default.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @see #setMaxVersions()<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @see #setMaxVersions(int)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @return this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    tr = new TimeRange(minStamp, maxStamp);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    return this;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * defaut.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param timestamp version timestamp<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @see #setMaxVersions()<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @see #setMaxVersions(int)<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   *             Use {@link #setTimestamp(long)} instead<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  @Deprecated<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  public Scan setTimeStamp(long timestamp)<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return this.setTimestamp(timestamp);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>  }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>  /**<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * defaut.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * @param timestamp version timestamp<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * @see #setMaxVersions()<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @see #setMaxVersions(int)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @return this<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   */<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  public Scan setTimestamp(long timestamp) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    try {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      tr = new TimeRange(timestamp, timestamp + 1);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    } catch(Exception e) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      throw e;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    return this;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  }<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>  @Override public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  }<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>  /**<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * Set the start row of the scan.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * &lt;p&gt;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   * specified row.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   * @param startRow row to start scanner at or after<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * @return this<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @deprecated use {@link #withStartRow(byte[])} instead. This method may change the inclusive of<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   *             the stop row to keep compatible with the old behavior.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   */<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  @Deprecated<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public Scan setStartRow(byte[] startRow) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    withStartRow(startRow);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    if (ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow)) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      this.includeStopRow = true;<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    return this;<a name="line.436"></a>
+<span class="sourceLineNo">330</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    if(set == null) {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      set = new TreeSet&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      familyMap.put(family, set);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    if (qualifier == null) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    set.add(qualifier);<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    return this;<a name="line.340"></a>
+<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">342</span><a name="line.342"></a>
+<span class="sourceLineNo">343</span>  /**<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * Get versions of columns only within the specified timestamp range,<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * your time range spans more than one version and you want all versions<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * returned, up the number of versions beyond the default.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @see #setMaxVersions()<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @see #setMaxVersions(int)<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @return this<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   */<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    tr = new TimeRange(minStamp, maxStamp);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    return this;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * defaut.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param timestamp version timestamp<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @see #setMaxVersions()<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @see #setMaxVersions(int)<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   *             Use {@link #setTimestamp(long)} instead<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   */<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  @Deprecated<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  public Scan setTimeStamp(long timestamp)<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  throws IOException {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    return this.setTimestamp(timestamp);<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  /**<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * defaut.<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param timestamp version timestamp<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @see #setMaxVersions()<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * @see #setMaxVersions(int)<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * @return this<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public Scan setTimestamp(long timestamp) {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    try {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      tr = new TimeRange(timestamp, timestamp + 1);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    } catch(Exception e) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      throw e;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>    return this;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  }<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>  @Override public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * Set the start row of the scan.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * &lt;p&gt;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * specified row.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * @param startRow row to start scanner at or after<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * @return this<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * @deprecated use {@link #withStartRow(byte[])} instead. This method may change the inclusive of<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   *             the stop row to keep compatible with the old behavior.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   */<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  @Deprecated<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  public Scan setStartRow(byte[] startRow) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    withStartRow(startRow);<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    if (ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow)) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      this.includeStopRow = true;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    return this;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * Set the start row of the scan.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * &lt;p&gt;<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * specified row.<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @param startRow row to start scanner at or after<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @return this<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   */<a name="line.434"></a>
+<span class="sourceLineNo">435</span>  public Scan withStartRow(byte[] startRow) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    return withStartRow(startRow, true);<a name="line.436"></a>
 <span class="sourceLineNo">437</span>  }<a name="line.437"></a>
 <span class="sourceLineNo">438</span><a name="line.438"></a>
 <span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
 <span class="sourceLineNo">440</span>   * Set the start row of the scan.<a name="line.440"></a>
 <span class="sourceLineNo">441</span>   * &lt;p&gt;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * specified row.<a name="line.443"></a>
+<span class="sourceLineNo">442</span>   * If the specified row does not exist, or the {@code inclusive} is {@code false}, the Scanner<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * will start from the next closest row after the specified row.<a name="line.443"></a>
 <span class="sourceLineNo">444</span>   * @param startRow row to start scanner at or after<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * @return this<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  public Scan withStartRow(byte[] startRow) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    return withStartRow(startRow, true);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * Set the start row of the scan.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * &lt;p&gt;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * If the specified row does not exist, or the {@code inclusive} is {@code false}, the Scanner<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * will start from the next closest row after the specified row.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * @param startRow row to start scanner at or after<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * @param inclusive whether we should include the start row when scan<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @return this<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  public Scan withStartRow(byte[] startRow, boolean inclusive) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    if (Bytes.len(startRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      throw new IllegalArgumentException("startRow's length must be less than or equal to "<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    this.startRow = startRow;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    this.includeStartRow = inclusive;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    return this;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  }<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Set the stop row of the scan.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * &lt;p&gt;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * &lt;p&gt;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * &lt;/p&gt;<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param stopRow row to end at (exclusive)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @return this<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @deprecated use {@link #withStopRow(byte[])} instead. This method may change the inclusive of<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   *             the stop row to keep compatible with the old behavior.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  @Deprecated<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  public Scan setStopRow(byte[] stopRow) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    withStopRow(stopRow);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    if (ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow)) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      this.includeStopRow = true;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    return this;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  }<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span>  /**<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   * Set the stop row of the scan.<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * &lt;p&gt;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * &lt;p&gt;<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * &lt;/p&gt;<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   * @param stopRow row to end at (exclusive)<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * @return this<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   */<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  public Scan withStopRow(byte[] stopRow) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return withStopRow(stopRow, false);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>  /**<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * Set the stop row of the scan.<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * &lt;p&gt;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * The scan will include rows that are lexicographically less than (or equal to if<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * {@code inclusive} is {@code true}) the provided stopRow.<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * @param stopRow row to end at<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * @param inclusive whether we should include the stop row when scan<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * @return this<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public Scan withStopRow(byte[] stopRow, boolean inclusive) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    if (Bytes.len(stopRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      throw new IllegalArgumentException("stopRow's length must be less than or equal to "<a name="line.529"></a>
-<span class="sourceLineNo">530</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    this.stopRow = stopRow;<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    this.includeStopRow = inclusive;<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    return this;<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  }<a name="line.535"></a>
-<span class="sourceLineNo">536</span><a name="line.536"></a>
-<span class="sourceLineNo">537</span>  /**<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.543"></a>
-<span class="sourceLineNo">544</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.545"></a>
-<span class="sourceLineNo">546</span>   * @return this<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   */<a name="line.547"></a>
-<span class="sourceLineNo">548</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    if (rowPrefix == null) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    } else {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.setStartRow(rowPrefix);<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    return this;<a name="line.556"></a>
-<span class="sourceLineNo">557</span>  }<a name="line.557"></a>
-<span class="sourceLineNo">558</span><a name="line.558"></a>
-<span class="sourceLineNo">559</span>  /**<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * simply increment the last byte of the array.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * prefix is something like:&lt;/p&gt;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * This method calculates the correct stop row value for this usecase.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   *<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   */<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    // Search for the place where the trailing 0xFFs start<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    int offset = rowKeyPrefix.length;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    while (offset &gt; 0) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        break;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      offset--;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    }<a name="line.585"></a>
+<span class="sourceLineNo">445</span>   * @param inclusive whether we should include the start row when scan<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @return this<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   */<a name="line.449"></a>
+<span class="sourceLineNo">450</span>  public Scan withStartRow(byte[] startRow, boolean inclusive) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    if (Bytes.len(startRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      throw new IllegalArgumentException("startRow's length must be less than or equal to "<a name="line.452"></a>
+<span class="sourceLineNo">453</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    this.startRow = startRow;<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    this.includeStartRow = inclusive;<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    return this;<a name="line.457"></a>
+<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>  /**<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   * Set the stop row of the scan.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   * &lt;p&gt;<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   * &lt;p&gt;<a name="line.464"></a>
+<span class="sourceLineNo">465</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.465"></a>
+<span class="sourceLineNo">466</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.466"></a>
+<span class="sourceLineNo">467</span>   * &lt;/p&gt;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * @param stopRow row to end at (exclusive)<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   * @return this<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @deprecated use {@link #withStopRow(byte[])} instead. This method may change the inclusive of<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   *             the stop row to keep compatible with the old behavior.<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   */<a name="line.474"></a>
+<span class="sourceLineNo">475</span>  @Deprecated<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  public Scan setStopRow(byte[] stopRow) {<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    withStopRow(stopRow);<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    if (ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow)) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.479"></a>
+<span class="sourceLineNo">480</span>      this.includeStopRow = true;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    }<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    return this;<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  }<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  /**<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * Set the stop row of the scan.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   * &lt;p&gt;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * &lt;p&gt;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * &lt;/p&gt;<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * @param stopRow row to end at (exclusive)<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * @return this<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
+<span class="sourceLineNo">498</span>  public Scan withStopRow(byte[] stopRow) {<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    return withStopRow(stopRow, false);<a name="line.499"></a>
+<span class="sourceLineNo">500</span>  }<a name="line.500"></a>
+<span class="sourceLineNo">501</span><a name="line.501"></a>
+<span class="sourceLineNo">502</span>  /**<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * Set the stop row of the scan.<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * &lt;p&gt;<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * The scan will include rows that are lexicographically less than (or equal to if<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * {@code inclusive} is {@code true}) the provided stopRow.<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   * @param stopRow row to end at<a name="line.507"></a>
+<span class="sourceLineNo">508</span>   * @param inclusive whether we should include the stop row when scan<a name="line.508"></a>
+<span class="sourceLineNo">509</span>   * @return this<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
+<span class="sourceLineNo">513</span>  public Scan withStopRow(byte[] stopRow, boolean inclusive) {<a name="line.513"></a>
+<span class="sourceLineNo">514</span>    if (Bytes.len(stopRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.514"></a>
+<span class="sourceLineNo">515</span>      throw new IllegalArgumentException("stopRow's length must be less than or equal to "<a name="line.515"></a>
+<span class="sourceLineNo">516</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.516"></a>
+<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    this.stopRow = stopRow;<a name="line.518"></a>
+<span class="sourceLineNo">519</span>    this.includeStopRow = inclusive;<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    return this;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  /**<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.524"></a>
+<span class="sourceLineNo">525</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.527"></a>
+<span class="sourceLineNo">528</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.528"></a>
+<span class="sourceLineNo">529</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   * @return this<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   */<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    if (rowPrefix == null) {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.536"></a>
+<span class="sourceLineNo">537</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    } else {<a name="line.538"></a>
+<span class="sourceLineNo">539</span>      this.setStartRow(rowPrefix);<a name="line.539"></a>
+<span class="sourceLineNo">540</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    }<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    return this;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>  }<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span>  /**<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.546"></a>
+<span class="sourceLineNo">547</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * simply increment the last byte of the array.<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * prefix is something like:&lt;/p&gt;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   * This method calculates the correct stop row value for this usecase.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   *<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   */<a name="line.561"></a>
+<span class="sourceLineNo">562</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    // Search for the place where the trailing 0xFFs start<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    int offset = rowKeyPrefix.length;<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    while (offset &gt; 0) {<a name="line.566"></a>
+<span class="sourceLineNo">567</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.567"></a>
+<span class="sourceLineNo">568</span>        break;<a name="line.568"></a>
+<span class="sourceLineNo">569</span>      }<a name="line.569"></a>
+<span class="sourceLineNo">570</span>      offset--;<a name="line.570"></a>
+<span class="sourceLineNo">571</span>    }<a name="line.571"></a>
+<span class="sourceLineNo">572</span><a name="line.572"></a>
+<span class="sourceLineNo">573</span>    if (offset == 0) {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      // the last possible prefix before the end of the table.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      // So set it to stop at the 'end of the table'<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      return HConstants.EMPTY_END_ROW;<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
+<span class="sourceLineNo">579</span><a name="line.579"></a>
+<span class="sourceLineNo">580</span>    // Copy the right length of the original<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    // And increment the last one<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    newStopRow[newStopRow.length - 1]++;<a name="line.583"></a>
+<span class="sourceLineNo">584</span>    return newStopRow;<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  }<a name="line.585"></a>
 <span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>    if (offset == 0) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // the last possible prefix before the end of the table.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // So set it to stop at the 'end of the table'<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      return HConstants.EMPTY_END_ROW;<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    }<a name="line.592"></a>
-<span class="sourceLineNo">593</span><a name="line.593"></a>
-<span class="sourceLineNo">594</span>    // Copy the right length of the original<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    // And increment the last one<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    newStopRow[newStopRow.length - 1]++;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    return newStopRow;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * Get all available versions.<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * @return this<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * @deprecated It is easy to misunderstand with column family's max versions, so use<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *             {@link #readAllVersions()} instead.<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  @Deprecated<a name="line.607"></a>
-<span class="sourceLineNo">608</span>  public Scan setMaxVersions() {<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    return readAllVersions();<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>  /**<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * Get up to the specified number of versions of each column.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param maxVersions maximum versions for each column<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @return this<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @deprecated It is easy to misunderstand with column family's max versions, so use<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   *             {@link #readVersions(int)} instead.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   */<a name="line.618"></a>
-<span class="sourceLineNo">619</span>  @Deprecated<a name="line.619"></a>
-<span class="sourceLineNo">620</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    return readVersions(maxVersions);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>  /**<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   * Get all available versions.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   * @return this<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   */<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  public Scan readAllVersions() {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>    return this;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>  }<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>  /**<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * Get up to the specified number of versions of each column.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   * @param versions specified number of versions for each column<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @return this<a name="line.636"></a>
+<span class="sourceLineNo">587</span>  /**<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * Get all available versions.<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @return this<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   * @deprecated It is easy to misunderstand with column family's max versions, so use<a name="line.590"></a>
+<span class="sourceLineNo">591</span>   *             {@link #readAllVersions()} instead.<a name="line.591"></a>
+<span class="sourceLineNo">592</span>   */<a name="line.592"></a>
+<span class="sourceLineNo">593</span>  @Deprecated<a name="line.593"></a>
+<span class="sourceLineNo">594</span>  public Scan setMaxVersions() {<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    return readAllVersions();<a name="line.595"></a>
+<span class="sourceLineNo">596</span>  }<a name="line.596"></a>
+<span class="sourceLineNo">597</span><a name="line.597"></a>
+<span class="sourceLineNo">598</span>  /**<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   * Get up to the specified number of versions of each column.<a name="line.599"></a>
+<span class="sourceLineNo">600</span>   * @param maxVersions maximum versions for each column<a name="line.600"></a>
+<span class="sourceLineNo">601</span>   * @return this<a name="line.601"></a>
+<span class="sourceLineNo">602</span>   * @deprecated It is easy to misunderstand with column family's max versions, so use<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   *             {@link #readVersions(int)} instead.<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   */<a name="line.604"></a>
+<span class="sourceLineNo">605</span>  @Deprecated<a name="line.605"></a>
+<span class="sourceLineNo">606</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    return readVersions(maxVersions);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>  }<a name="line.608"></a>
+<span class="sourceLineNo">609</span><a name="line.609"></a>
+<span class="sourceLineNo">610</span>  /**<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * Get all available versions.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @return this<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
+<span class="sourceLineNo">614</span>  public Scan readAllVersions() {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    return this;<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  }<a name="line.617"></a>
+<span class="sourceLineNo">618</span><a name="line.618"></a>
+<span class="sourceLineNo">619</span>  /**<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   * Get up to the specified number of versions of each column.<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * @param versions specified number of versions for each column<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * @return this<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   */<a name="line.623"></a>
+<span class="sourceLineNo">624</span>  public Scan readVersions(int versions) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>    this.maxVersions = versions;<a name="line.625"></a>
+<span class="sourceLineNo">626</span>    return this;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>  }<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>  /**<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * Set the maximum number of cells to return for each call to next(). Callers should be aware<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   * that this is not equivalent to calling {@link #setAllowPartialResults(boolean)}.<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   * If you don't allow partial results, the number of cells in each Result must equal to your<a name="line.632"></a>
+<span class="sourceLineNo">633</span>   * batch setting unless it is the last Result for current row. So this method is helpful in paging<a name="line.633"></a>
+<span class="sourceLineNo">634</span>   * queries. If you just want to prevent OOM at client, use setAllowPartialResults(true) is better.<a name="line.634"></a>
+<span class="sourceLineNo">635</span>   * @param batch the maximum number of values<a name="line.635"></a>
+<span class="sourceLineNo">636</span>   * @see Result#mayHaveMoreCellsInRow()<a name="line.636"></a>
 <span class="sourceLineNo">637</span>   */<a name="line.637"></a>
-<span class="sourceLineNo">638</span>  public Scan readVersions(int versions) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    this.maxVersions = versions;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    return this;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  }<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>  /**<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * Set the maximum number of cells to return for each call to next(). Callers should be aware<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * that this is not equivalent to calling {@link #setAllowPartialResults(boolean)}.<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   * If you don't allow partial results, the number of cells in each Result must equal to your<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * batch setting unless it is the last Result for current row. So this method is helpful in paging<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   * queries. If you just want to prevent OOM at client, use setAllowPartialResults(true) is better.<a name="line.648"></a>
-<span class="sourceLineNo">649</span>   * @param batch the maximum number of values<a name="line.649"></a>
-<span class="sourceLineNo">650</span>   * @see Result#mayHaveMoreCellsInRow()<a name="line.650"></a>
+<span class="sourceLineNo">638</span>  public Scan setBatch(int batch) {<a name="line.638"></a>
+<span class="sourceLineNo">639</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.639"></a>
+<span class="sourceLineNo">640</span>      throw new IncompatibleFilterException(<a name="line.640"></a>
+<span class="sourceLineNo">641</span>        "Cannot set batch on a scan using a filter" +<a name="line.641"></a>
+<span class="sourceLineNo">642</span>        " that returns true for filter.hasFilterRow");<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    }<a name="line.643"></a>
+<span class="sourceLineNo">644</span>    this.batch = batch;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>    return this;<a name="line.645"></a>
+<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
+<span class="sourceLineNo">647</span><a name="line.647"></a>
+<span class="sourceLineNo">648</span>  /**<a name="line.648"></a>
+<span class="sourceLineNo">649</span>   * Set the maximum number of values to return per row per Column Family<a name="line.649"></a>
+<span class="sourceLineNo">650</span>   * @param limit the maximum number of values returned / row / CF<a name="line.650"></a>
 <span class="sourceLineNo">651</span>   */<a name="line.651"></a>
-<span class="sourceLineNo">652</span>  public Scan setBatch(int batch) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IncompatibleFilterException(<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        "Cannot set batch on a scan using a filter" +<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        " that returns true for filter.hasFilterRow");<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    }<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.batch = batch;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    return this;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  }<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  /**<a name="line.662"></a>
-<span class="sourceLineNo">663</span>   * Set the maximum number of values to return per row per Column Family<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   * @param limit the maximum number of values returned / row / CF<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   */<a name="line.665"></a>
-<span class="sourceLineNo">666</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    this.storeLimit = limit;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    return this;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>  }<a name="line.669"></a>
-<span class="sourceLineNo">670</span><a name="line.670"></a>
-<span class="sourceLineNo">671</span>  /**<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   * Set offset for the row per Column Family.<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * @param offset is the number of kvs that will be skipped.<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   */<a name="line.674"></a>
-<span class="sourceLineNo">675</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.storeOffset = offset;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    return this;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>  }<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>  /**<a name="line.680"></a>
-<span class="sourceLineNo">681</span>   * Set the number of rows for caching that will be passed to scanners.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * apply.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * @param caching the number of rows for caching<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   */<a name="line.686"></a>
-<span class="sourceLineNo">687</span>  public Scan setCaching(int caching) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    this.caching = caching;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    return this;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>  }<a name="line.690"></a>
-<span class="sourceLineNo">691</span><a name="line.691"></a>
-<span class="sourceLineNo">692</span>  /**<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * @return the maximum result size in bytes. See {@link #setMaxResultSize(long)}<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   */<a name="line.694"></a>
-<span class="sourceLineNo">695</span>  public long getMaxResultSize() {<a name="line.695"></a>
-<span class="sourceLineNo">696</span>    return maxResultSize;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  }<a name="line.697"></a>
-<span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span>  /**<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   * Set the maximum result size. The default is -1; this means that no specific<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   * maximum result size will be set for this scan, and the global configured<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   * value will be used instead. (Defaults to unlimited).<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   *<a name="line.703"></a>
-<span class="sourceLineNo">704</span>   * @param maxResultSize The maximum result size in bytes.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   */<a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public Scan setMaxResultSize(long maxResultSize) {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    this.maxResultSize = maxResultSize;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    return this;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>  }<a name="line.709"></a>
-<span class="sourceLineNo">710</span><a name="line.710"></a>
-<span class="sourceLineNo">711</span>  @Override<a name="line.711"></a>
-<span class="sourceLineNo">712</span>  public Scan setFilter(Filter filter) {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    super.setFilter(filter);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    return this;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * Setting the familyMap<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * @param familyMap map of family to qualifier<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * @return this<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   */<a name="line.721"></a>
-<span class="sourceLineNo">722</span>  public Scan setFamilyMap(Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    this.familyMap = familyMap;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    return this;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>  }<a name="line.725"></a>
-<span class="sourceLineNo">726</span><a name="line.726"></a>
-<span class="sourceLineNo">727</span>  /**<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   * Getting the familyMap<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @return familyMap<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   */<a name="line.730"></a>
-<span class="sourceLineNo">731</span>  public Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; getFamilyMap() {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    return this.familyMap;<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  }<a name="line.733"></a>
-<span class="sourceLineNo">734</span><a name="line.734"></a>
-<span class="sourceLineNo">735</span>  /**<a name="line.735"></a>
-<span class="sourceLineNo">736</span>   * @return the number of families in familyMap<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   */<a name="line.737"></a>
-<span class="sourceLineNo">738</span>  public int numFamilies() {<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    if(hasFamilies()) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>      return this.familyMap.size();<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    }<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    return 0;<a name="line.742"></a>
-<span class="sourceLineNo">743</span>  }<a name="line.743"></a>
-<span class="sourceLineNo">744</span><a name="line.744"></a>
-<span class="sourceLineNo">745</span>  /**<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * @return true if familyMap is non empty, false otherwise<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   */<a name="line.747"></a>
-<span class="sourceLineNo">748</span>  public boolean hasFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    return !this.familyMap.isEmpty();<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>  /**<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * @return the keys of the familyMap<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   */<a name="line.754"></a>
-<span class="sourceLineNo">755</span>  public byte[][] getFamilies() {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if(hasFamilies()) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.familyMap.keySet().toArray(new byte[0][0]);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    return null;<a name="line.759"></a>
+<span class="sourceLineNo">652</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.652"></a>
+<span class="sourceLineNo">653</span>    this.storeLimit = limit;<a name="line.653"></a>
+<span class="sourceLineNo">654</span>    return this;<a name="line.654"></a>
+<span class="sourceLineNo">655</span>  }<a name="line.655"></a>
+<span class="sourceLineNo">656</span><a name="line.656"></a>
+<span class="sourceLineNo">657</span>  /**<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   * Set offset for the row per Column Family.<a name="line.658"></a>
+<span class="sourceLineNo">659</span>   * @param offset is the number of kvs that will be skipped.<a name="line.659"></a>
+<span class="sourceLineNo">660</span>   */<a name="line.660"></a>
+<span class="sourceLineNo">661</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    this.storeOffset = offset;<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    return this;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>  }<a name="line.664"></a>
+<span class="sourceLineNo">665</span><a name="line.665"></a>
+<span class="sourceLineNo">666</span>  /**<a name="line.666"></a>
+<span class="sourceLineNo">667</span>   * Set the number of rows for caching that will be passed to scanners.<a name="line.667"></a>
+<span class="sourceLineNo">668</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.668"></a>
+<span class="sourceLineNo">669</span>   * apply.<a name="line.669"></a>
+<span class="sourceLineNo">670</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.670"></a>
+<span class="sourceLineNo">671</span>   * @param caching the number of rows for caching<a name="line.671"></a>
+<span class="sourceLineNo">672</span>   */<a name="line.672"></a>
+<span class="sourceLineNo">673</span>  public Scan setCaching(int caching) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    this.caching = caching;<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    return this;<a name="line.675"></a>
+<span class="sourceLineNo">676</span>  }<a name="line.676"></a>
+<span class="sourceLineNo">677</span><a name="line.677"></a>
+<span class="sourceLineNo">678</span>  /**<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   * @return the maximum result size in bytes. See {@link #setMaxResultSize(long)}<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   */<a name="line.680"></a>
+<span class="sourceLineNo">681</span>  public long getMaxResultSize() {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    return maxResultSize;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Set the maximum result size. The default is -1; this means that no specific<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * maximum result size will be set for this scan, and the global configured<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * value will be used instead. (Defaults to unlimited).<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   *<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * @param maxResultSize The maximum result size in bytes.<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   */<a name="line.691"></a>
+<span class="sourceLineNo">692</span>  public Scan setMaxResultSize(long maxResultSize) {<a name="line.692"></a>
+<span class="sourceLineNo">693</span>    this.maxResultSize = maxResultSize;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    return this;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>  }<a name="line.695"></a>
+<span class="sourceLineNo">696</span><a name="line.696"></a>
+<span class="sourceLineNo">697</span>  @Override<a name="line.697"></a>
+<span class="sourceLineNo">698</span>  public Scan setFilter(Filter filter) {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    super.setFilter(filter);<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    return this;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>  }<a name="line.701"></a>
+<span class="sourceLineNo">702</span><a name="line.702"></a>
+<span class="sourceLineNo">703</span>  /**<a name="line.703"></a>
+<span class="sourceLineNo">704</span>   * Setting the familyMap<a name="line.704"></a>
+<span class="sourceLineNo">705</span>   * @param familyMap map of family to qualifier<a name="line.705"></a>
+<span class="sourceLineNo">706</span>   * @return this<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   */<a name="line.707"></a>
+<span class="sourceLineNo">708</span>  public Scan setFamilyMap(Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>    this.familyMap = familyMap;<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    return this;<a name="line.710"></a>
+<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
+<span class="sourceLineNo">712</span><a name="line.712"></a>
+<span class="sourceLineNo">713</span>  /**<a name="line.713"></a>
+<span class="sourceLineNo">714</span>   * Getting the familyMap<a name="line.714"></a>
+<span class="sourceLineNo">715</span>   * @return familyMap<a name="line.715"></a>
+<span class="sourceLineNo">716</span>   */<a name="line.716"></a>
+<span class="sourceLineNo">717</span>  public Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; getFamilyMap() {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>    return this.familyMap;<a name="line.718"></a>
+<span class="sourceLineNo">719</span>  }<a name="line.719"></a>
+<span class="sourceLineNo">720</span><a name="line.720"></a>
+<span class="sourceLineNo">721</span>  /**<a name="line.721"></a>
+<span class="sourceLineNo">722</span>   * @return the number of families in familyMap<a name="line.722"></a>
+<span class="sourceLineNo">723</span>   */<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  public int numFamilies() {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    if(hasFamilies()) {<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      return this.familyMap.size();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    return 0;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<a name="line.729"></a>
+<span class="sourceLineNo">730</span><a name="line.730"></a>
+<span class="sourceLineNo">731</span>  /**<a name="line.731"></a>
+<span class="sourceLineNo">732</span>   * @return true if familyMap is non empty, false otherwise<a name="line.732"></a>
+<span class="sourceLineNo">733</span>   */<a name="line.733"></a>
+<span class="sourceLineNo">734</span>  public boolean hasFamilies() {<a name="line.734"></a>
+<span class="sourceLineNo">735</span>    return !this.familyMap.isEmpty();<a name="line.735"></a>
+<span class="sourceLineNo">736</span>  }<a name="line.736"></a>
+<span class="sourceLineNo">737</span><a name="line.737"></a>
+<span class="sourceLineNo">738</span>  /**<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   * @return the keys of the familyMap<a name="line.739"></a>
+<span class="sourceLineNo">740</span>   */<a name="line.740"></a>
+<span class="sourceLineNo">741</span>  public byte[][] getFamilies() {<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    if(hasFamilies()) {<a name="line.742"></a>
+<span class="sourceLineNo">743</span>      return this.familyMap.keySet().toArray(new byte[0][0]);<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    }<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    return null;<a name="line.745"></a>
+<span class="sourceLineNo">746</span>  }<a name="line.746"></a>
+<span class="sourceLineNo">747</span><a name="line.747"></a>
+<span class="sourceLineNo">748</span>  /**<a name="line.748"></a>
+<span class="sourceLineNo">749</span>   * @return the startrow<a name="line.749"></a>
+<span class="sourceLineNo">750</span>   */<a name="line.750"></a>
+<span class="sourceLineNo">751</span>  public byte [] getStartRow() {<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    return this.startRow;<a name="line.752"></a>
+<span class="sourceLineNo">753</span>  }<a name="line.753"></a>
+<span class="sourceLineNo">754</span><a name="line.754"></a>
+<span class="sourceLineNo">755</span>  /**<a name="line.755"></a>
+<span class="sourceLineNo">756</span>   * @return if we should include start row when scan<a name="line.756"></a>
+<span class="sourceLineNo">757</span>   */<a name="line.757"></a>
+<span class="sourceLineNo">758</span>  public boolean includeStartRow() {<a name="line.758"></a>
+<span class="sourceLineNo">759</span>    return includeStartRow;<a name="line.759"></a>
 <span class="sourceLineNo">760</span>  }<a name="line.760"></a>
 <span class="sourceLineNo">761</span><a name="line.761"></a>
 <span class="sourceLineNo">762</span>  /**<a name="line.762"></a>
-<span class="sourceLineNo">763</span>   * @return the startrow<a name="line.763"></a>
+<span class="sourceLineNo">763</span>   * @return the stoprow<a name="line.763"></a>
 <span class="sourceLineNo">764</span>   */<a name="line.764"></a>
-<span class="sourceLineNo">765</span>  public byte [] getStartRow() {<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    return this.startRow;<a name="line.766"></a>
+<span class="sourceLineNo">765</span>  public byte[] getStopRow() {<a name="line.765"></a>
+<span class="sourceLineNo">766</span>    return this.stopRow;<a name="line.766"></a>
 <span class="sourceLineNo">767</span>  }<a name="line.767"></a>
 <span class="sourceLineNo">768</span><a name="line.768"></a>
 <span class="sourceLineNo">769</span>  /**<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @return if we should include start row when scan<a name="line.770"></a>
+<span class="sourceLineNo">770</span>   * @return if we should include stop row when scan<a name="line.770"></a>
 <span class="sourceLineNo">771</span>   */<a name="line.771"></a>
-<span class="sourceLineNo">772</span>  public boolean includeStartRow() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    return includeStartRow;<a name="line.773"></a>
+<span class="sourceLineNo">772</span>  public boolean includeStopRow() {<a name="line.772"></a>
+<span class="sourceLineNo">773</span>    return includeStopRow;<a name="line.773"></a>
 <span class="sourceLineNo">774</span>  }<a name="line.774"></a>
 <span class="sourceLineNo">775</span><a name="line.775"></a>
 <span class="sourceLineNo">776</span>  /**<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   * @return the stoprow<a name="line.777"></a>
+<span class="sourceLineNo">777</span>   * @return the max number of versions to fetch<a name="line.777"></a>
 <span class="sourceLineNo">778</span>   */<a name="line.778"></a>
-<span class="sourceLineNo">779</span>  public byte[] getStopRow() {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    return this.stopRow;<a name="line.780"></a>
+<span class="sourceLineNo">779</span>  public int getMaxVersions() {<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    return this.maxVersions;<a name="line.780"></a>
 <span class="sourceLineNo">781</span>  }<a name="line.781"></a>
 <span class="sourceLineNo">782</span><a name="line.782"></a>
 <span class="sourceLineNo">783</span>  /**<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * @return if we should include stop row when scan<a name="line.784"></a>
+<span class="sourceLineNo">784</span>   * @return maximum number of values to return for a single call to next()<a name="line.784"></a>
 <span class="sourceLineNo">785</span>   */<a name="line.785"></a>
-<span class="sourceLineNo">786</span>  public boolean includeStopRow() {<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    return includeStopRow;<a name="line.787"></a>
+<span class="sourceLineNo">786</span>  public int getBatch() {<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    return this.batch;<a name="line.787"></a>
 <span class="sourceLineNo">788</span>  }<a name="line.788"></a>
 <span class="sourceLineNo">789</span><a name="line.789"></a>
 <span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * @return the max number of versions to fetch<a name="line.791"></a>
+<span class="sourceLineNo">791</span>   * @return maximum number of values to return per row per CF<a name="line.791"></a>
 <span class="sourceLineNo">792</span>   */<a name="line.792"></a>
-<span class="sourceLineNo">793</span>  public int getMaxVersions() {<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    return this.maxVersions;<a name="line.794"></a>
+<span class="sourceLineNo">793</span>  public int getMaxResultsPerColumnFamily() {<a name="line.793"></a>
+<span class="sourceLineNo">794</span>    return this.storeLimit;<a name="line.794"></a>
 <span class="sourceLineNo">795</span>  }<a name="line.795"></a>
 <span class="sourceLineNo">796</span><a name="line.796"></a>
 <span class="sourceLineNo">797</span>  /**<a name="line.797"></a>
-<span class="sourceLineNo">798</span>   * @return maximum number of values to return for a single call to next()<a name="line.798"></a>
-<span class="sourceLineNo">799</span>   */<a name="line.799"></a>
-<span class="sourceLineNo">800</span>  public int getBatch() {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    return this.batch;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>  }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>  /**<a name="line.804"></a>
-<span class="sourceLineNo">805</span>   * @return maximum number of values to return per row per CF<a name="line.805"></a>
-<span class="sourceLineNo">806</span>   */<a name="line.806"></a>
-<span class="sourceLineNo">807</span>  public int getMaxResultsPerColumnFamily() {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    return this.storeLimit;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>  }<a name="line.809"></a>
-<span class="sourceLineNo">810</span><a name="line.810"></a>
-<span class="sourceLineNo">811</span>  /**<a name="line.811"></a>
-<span class="sourceLineNo">812</span>   * Method for retrieving the scan's offset per row per column<a name="line.812"></a>
-<span class="sourceLineNo">813</span>   * family (#kvs to be skipped)<a name="line.813"></a>
-<span class="sourceLineNo">814</span>   * @return row offset<a name="line.814"></a>
+<span class="sourceLineNo">798</span>   * Method for retrieving the scan's offset per row per column<a name="line.798"></a>
+<span class="sourceLineNo">799</span>   * family (#kvs to be skipped)<a name="line.799"></a>
+<span class="sourceLineNo">800</span>   * @return row offset<a name="line.800"></a>
+<span class="sourceLineNo">801</span>   */<a name="line.801"></a>
+<span class="sourceLineNo">802</span>  public int getRowOffsetPerColumnFamily() {<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    return this.storeOffset;<a name="line.803"></a>
+<span class="sourceLineNo">804</span>  }<a name="line.804"></a>
+<span class="sourceLineNo">805</span><a name="line.805"></a>
+<span class="sourceLineNo">806</span>  /**<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   * @return caching the number of rows fetched when calling next on a scanner<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   */<a name="line.808"></a>
+<span class="sourceLineNo">809</span>  public int getCaching() {<a name="line.809"></a>
+<span class="sourceLineNo">810</span>    return this.caching;<a name="line.810"></a>
+<span class="sourceLineNo">811</span>  }<a name="line.811"></a>
+<span class="sourceLineNo">812</span><a name="line.812"></a>
+<span class="sourceLineNo">813</span>  /**<a name="line.813"></a>
+<span class="sourceLineNo">814</span>   * @return TimeRange<a name="line.814"></a>
 <span class="sourceLineNo">815</span>   */<a name="line.815"></a>
-<span class="sourceLineNo">816</span>  public int getRowOffsetPerColumnFamily() {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    return this.storeOffset;<a name="line.817"></a>
+<span class="sourceLineNo">816</span>  public TimeRange getTimeRange() {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>    return this.tr;<a name="line.817"></a>
 <span class="sourceLineNo">818</span>  }<a name="line.818"></a>
 <span class="sourceLineNo">819</span><a name="line.819"></a>
 <span class="sourceLineNo">820</span>  /**<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   * @return caching the number of rows fetched when calling next on a scanner<a name="line.821"></a>
+<span class="sourceLineNo">821</span>   * @return RowFilter<a name="line.821"></a>
 <span class="sourceLineNo">822</span>   */<a name="line.822"></a>
-<span class="sourceLineNo">823</span>  public int getCaching() {<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    return this.caching;<a name="line.824"></a>
-<span class="sourceLineNo">825</span>  }<a name="line.825"></a>
-<span class="sourceLineNo">826</span><a name="line.826"></a>
-<span class="sourceLineNo">827</span>  /**<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * @return TimeRange<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   */<a name="line.829"></a>
-<span class="sourceLineNo">830</span>  public TimeRange getTimeRange() {<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    return this.tr;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>  }<a name="line.832"></a>
-<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span>  /**<a name="line.834"></a>
-<span class="sourceLineNo">835</span>   * @return RowFilter<a name="line.835"></a>
-<span class="sourceLineNo">836</span>   */<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>  public Filter getFilter() {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    return filter;<a name="line.839"></a>
-<span class="sourceLineNo">840</span>  }<a name="line.840"></a>
-<span class="sourceLineNo">841</span><a name="line.841"></a>
-<span class="sourceLineNo">842</span>  /**<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @return true is a filter has been specified, false if not<a name="line.843"></a>
+<span class="sourceLineNo">823</span>  @Override<a name="line.823"></a>
+<span class="sourceLineNo">824</span>  public Filter getFilter() {<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    return filter;<a name="line.825"></a>
+<span class="sourceLineNo">826</span>  }<a name="line.826"></a>
+<span class="sourceLineNo">827</span><a name="line.827"></a>
+<span class="sourceLineNo">828</span>  /**<a name="line.828"></a>
+<span class="sourceLineNo">829</span>   * @return true is a filter has been specified, false if not<a name="line.829"></a>
+<span class="sourceLineNo">830</span>   */<a name="line.830"></a>
+<span class="sourceLineNo">831</span>  public boolean hasFilter() {<a name="line.831"></a>
+<span class="sourceLineNo">832</span>    return filter != null;<a name="line.832"></a>
+<span class="sourceLineNo">833</span>  }<a name="line.833"></a>
+<span class="sourceLineNo">834</span><a name="line.834"></a>
+<span class="sourceLineNo">835</span>  /**<a name="line.835"></a>
+<span class="sourceLineNo">836</span>   * Set whether blocks should be cached for this Scan.<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * &lt;p&gt;<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * This is true by default.  When true, default settings of the table and<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   * family are used (this will never override caching blocks if the block<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * cache is disabled for that family or entirely).<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   *<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * will not be cached<a name="line.843"></a>
 <span class="sourceLineNo">844</span>   */<a name="line.844"></a>
-<span class="sourceLineNo">845</span>  public boolean hasFilter() {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return filter != null;<a name="line.846"></a>
-<span class="sourceLineNo">847</span>  }<a name="line.847"></a>
-<span class="sourceLineNo">848</span><a name="line.848"></a>
-<span class="sourceLineNo">849</span>  /**<a name="line.849"></a>
-<span class="sourceLineNo">850</span>   * Set whether blocks should be cached for this Scan.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>   * &lt;p&gt;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>   * This is true by default.  When true, default settings of the table and<a name="line.852"></a>
-<span class="sourceLineNo">853</span>   * family are used (this will never override caching blocks if the block<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   * cache is disabled for that family or entirely).<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   *<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * will not be cached<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   */<a name="line.858"></a>
-<span class="sourceLineNo">859</span>  public Scan setCacheBlocks(boolean cacheBlocks) {<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    this.cacheBlocks = cacheBlocks;<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    return this;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>  }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>  /**<a name="line.864"></a>
-<span class="sourceLineNo">865</span>   * Get whether blocks should be cached for this Scan.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>   * @return true if default caching should be used, false if blocks should not<a name="line.866"></a>
-<span class="sourceLineNo">867</span>   * be cached<a name="line.867"></a>
-<span class="sourceLineNo">868</span>   */<a name="line.868"></a>
-<span class="sourceLineNo">869</span>  public boolean getCacheBlocks() {<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    return cacheBlocks;<a name="line.870"></a>
-<span class="sourceLineNo">871</span>  }<a name="line.871"></a>
-<span class="sourceLineNo">872</span><a name="line.872"></a>
-<span class="sourceLineNo">873</span>  /**<a name="line.873"></a>
-<span class="sourceLineNo">874</span>   * Set whether this scan is a reversed one<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * &lt;p&gt;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   * This is false by default which means forward(normal) scan.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>   *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   * @param reversed if true, scan will be backward order<a name="line.878"></a>
-<span class="sourceLineNo">879</span>   * @return this<a name="line.879"></a>
-<span class="sourceLineNo">880</span>   */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>  public Scan setReversed(boolean reversed) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    this.reversed = reversed;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    return this;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>  }<a name="line.884"></a>
-<span class="sourceLineNo">885</span><a name="line.885"></a>
-<span class="sourceLineNo">886</span>  /**<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * Get whether this scan is a reversed one.<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @return true if backward scan, false if forward(default) scan<a name="line.888"></a>
+<span class="sourceLineNo">845</span>  public Scan setCacheBlocks(boolean cacheBlocks) {<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    this.cacheBlocks = cacheBlocks;<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    return this;<a name="line.847"></a>
+<span class="sourceLineNo">848</span>  }<a name="line.848"></a>
+<span class="sourceLineNo">849</span><a name="line.849"></a>
+<span class="sourceLineNo">850</span>  /**<a name="line.850"></a>
+<span class="sourceLineNo">851</span>   * Get whether blocks should be cached for this Scan.<a name="line.851"></a>
+<span class="sourceLineNo">852</span>   * @return true if default caching should be used, false if blocks should not<a name="line.852"></a>
+<span class="sourceLineNo">853</span>   * be cached<a name="line.853"></a>
+<span class="sourceLineNo">854</span>   */<a name="line.854"></a>
+<span class="sourceLineNo">855</span>  public boolean getCacheBlocks() {<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    return cacheBlocks;<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span>   * Set whether this scan is a reversed one<a name="line.860"></a>
+<span class="sourceLineNo">861</span>   * &lt;p&gt;<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   * This is false by default which means forward(normal) scan.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>   *<a name="line.863"></a>
+<span class="sourceLineNo">864</span>   * @param reversed if true, scan will be backward order<a name="line.864"></a>
+<span class="sourceLineNo">865</span>   * @return this<a name="line.865"></a>
+<span class="sourceLineNo">866</span>   */<a name="line.866"></a>
+<span class="sourceLineNo">867</span>  public Scan setReversed(boolean reversed) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    this.reversed = reversed;<a name="line.868"></a>
+<span class="sourceLineNo">869</span>    return this;<a name="line.869"></a>
+<span class="sourceLineNo">870</span>  }<a name="line.870"></a>
+<span class="sourceLineNo">871</span><a name="line.871"></a>
+<span class="sourceLineNo">872</span>  /**<a name="line.872"></a>
+<span class="sourceLineNo">873</span>   * Get whether this scan is a reversed one.<a name="line.873"></a>
+<span class="sourceLineNo">874</span>   * @return true if backward scan, false if forward(default) scan<a name="line.874"></a>
+<span class="sourceLineNo">875</span>   */<a name="line.875"></a>
+<span class="sourceLineNo">876</span>  public boolean isReversed() {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>    return reversed;<a name="line.877"></a>
+<span class="sourceLineNo">878</span>  }<a name="line.878"></a>
+<span class="sourceLineNo">879</span><a name="line.879"></a>
+<span class="sourceLineNo">880</span>  /**<a name="line.880"></a>
+<span class="sourceLineNo">881</span>   * Setting whether the caller wants to see the partial results when server returns<a name="line.881"></a>
+<span class="sourceLineNo">882</span>   * less-than-expected cells. It is helpful while scanning a huge row to prevent OOM at client.<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   * By default this value is false and the complete results will be assembled client side<a name="line.883"></a>
+<span class="sourceLineNo">884</span>   * before being delivered to the caller.<a name="line.884"></a>
+<span class="sourceLineNo">885</span>   * @param allowPartialResults<a name="line.885"></a>
+<span class="sourceLineNo">886</span>   * @return this<a name="line.886"></a>
+<span class="sourceLineNo">887</span>   * @see Result#mayHaveMoreCellsInRow()<a name="line.887"></a>
+<span class="sourceLineNo">888</span>   * @see #setBatch(int)<a name="line.888"></a>
 <span class="sourceLineNo">889</span>   */<a name="line.889"></a>
-<span class="sourceLineNo">890</span>  public boolean isReversed() {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    return reversed;<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  /**<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * Setting whether the caller wants to see the partial results when server returns<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * less-than-expected cells. It is helpful while scanning a huge row to prevent OOM at client.<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   * By default this value is false and the complete results will be assembled client side<a name="line.897"></a>
-<span class="sourceLineNo">898</span>   * before being delivered to the caller.<a name="line.898"></a>
-<span class="sourceLineNo">899</span>   * @param allowPartialResults<a name="line.899"></a>
-<span class="sourceLineNo">900</span>   * @return this<a name="line.900"></a>
-<span class="sourceLineNo">901</span>   * @see Result#mayHaveMoreCellsInRow()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>   * @see #setBatch(int)<a name="line.902"></a>
-<span class="sourceLineNo">903</span>   */<a name="line.903"></a>
-<span class="sourceLineNo">904</span>  public Scan setAllowPartialResults(final boolean allowPartialResults) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>    this.allowPartialResults = allowPartialResults;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    return this;<a name="line.906"></a>
+<span class="sourceLineNo">890</span>  public Scan setAllowPartialResults(final boolean allowPartialResults) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span>    this.allowPartialResults = allowPartialResults;<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    return this;<a name="line.892"></a>
+<span class="sourceLineNo">893</span>  }<a name="line.893"></a>
+<span class="sourceLineNo">894</span><a name="line.894"></a>
+<span class="sourceLineNo">895</span>  /**<a name="line.895"></a>
+<span class="sourceLineNo">896</span>   * @return true when the constructor of this scan understands that the results they will see may<a name="line.896"></a>
+<span class="sourceLineNo">897</span>   *         only represent a partial portion of a row. The entire row would be retrieved by<a name="line.897"></a>
+<span class="sourceLineNo">898</span>   *         subsequent calls to {@link ResultScanner#next()}<a name="line.898"></a>
+<span class="sourceLineNo">899</span>   */<a name="line.899"></a>
+<span class="sourceLineNo">900</span>  public boolean getAllowPartialResults() {<a name="line.900"></a>
+<span class="sourceLineNo">901</span>    return allowPartialResults;<a name="line.901"></a>
+<span class="sourceLineNo">902</span>  }<a name="line.902"></a>
+<span class="sourceLineNo">903</span><a name="line.903"></a>
+<span class="sourceLineNo">904</span>  @Override<a name="line.904"></a>
+<span class="sourceLineNo">905</span>  public Scan setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.905"></a>
+<span class="sourceLineNo">906</span>    return (Scan) super.setLoadColumnFamiliesOnDemand(value);<a name="line.906"></a>
 <span class="sourceLineNo">907</span>  }<a name="line.907"></a>
 <span class="sourceLineNo">908</span><a name="line.908"></a>
 <span class="sourceLineNo">909</span>  /**<a name="line.909"></a>
-<span class="sourceLineNo">910</span>   * @return true when the constructor of this scan understands that the results they will see may<a name="line.910"></a>
-<span class="sourceLineNo">911</span>   *         only represent a partial portion of a row. The entire row would be retrieved by<a name="line.911"></a>
-<span class="sourceLineNo">912</span>   *         subsequent calls to {@link ResultScanner#next()}<a name="line.912"></a>
-<span class="sourceLineNo">913</span>   */<a name="line.913"></a>
-<span class="sourceLineNo">914</span>  public boolean getAllowPartialResults() {<a name="line.914"></a>
-<span class="sourceLineNo">915</span>    return allowPartialResults;<a name="line.915"></a>
-<span class="sourceLineNo">916</span>  }<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>  @Override<a name="line.918"></a>
-<span class="sourceLineNo">919</span>  public Scan setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    return (Scan) super.setLoadColumnFamiliesOnDemand(value);<a name="line.920"></a>
-<span class="sourceLineNo">921</span>  }<a name="line.921"></a>
-<span class="sourceLineNo">922</span><a name="line.922"></a>
-<span class="sourceLineNo">923</span>  /**<a name="line.923"></a>
-<span class="sourceLineNo">924</span>   * Compile the table and column family (i.e. schema) information<a name="line.924"></a>
-<span class="sourceLineNo">925</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.925"></a>
-<span class="sourceLineNo">926</span>   * logging, and administration tools.<a name="line.926"></a>
-<span class="sourceLineNo">927</span>   * @return Map<a name="line.927"></a>
-<span class="sourceLineNo">928</span>   */<a name="line.928"></a>
-<span class="sourceLineNo">929</span>  @Override<a name="line.929"></a>
-<span class="sourceLineNo">930</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>    Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();<a name="line.931"></a>
-<span class="sourceLineNo">932</span>    List&lt;String&gt; families = new ArrayList&lt;&gt;();<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    if(this.familyMap.isEmpty()) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>      map.put("families", "ALL");<a name="line.934"></a>
-<span class="sourceLineNo">935</span>      return map;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    } else {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      map.put("families", families);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.939"></a>
-<span class="sourceLineNo">940</span>        this.familyMap.entrySet()) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    return map;<a name="line.943"></a>
-<span class="sourceLineNo">944</span>  }<a name="line.944"></a>
-<span class="sourceLineNo">945</span><a name="line.945"></a>
-<span class="sourceLineNo">946</span>  /**<a name="line.946"></a>
-<span class="sourceLineNo">947</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.947"></a>
-<span class="sourceLineNo">948</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.948"></a>
-<span class="sourceLineNo">949</span>   * Useful for debugging, logging, and administration tools.<a name="line.949"></a>
-<span class="sourceLineNo">950</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.950"></a>
-<span class="sourceLineNo">951</span>   * @return Map<a name="line.951"></a>
-<span class="sourceLineNo">952</span>   */<a name="line.952"></a>
-<span class="sourceLineNo">953</span>  @Override<a name="line.953"></a>
-<span class="sourceLineNo">954</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    // start with the fingerpring map and build on top of it<a name="line.955"></a>
-<span class="sourceLineNo">956</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.956"></a>
-<span class="sourceLineNo">957</span>    // map from families to column list replaces fingerprint's list of families<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    Map&lt;String, List&lt;String&gt;&gt; familyColumns = new HashMap&lt;&gt;();<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    map.put("families", familyColumns);<a name="line.959"></a>
-<span class="sourceLineNo">960</span>    // add scalar information first<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    map.put("startRow", Bytes.toStringBinary(this.startRow));<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    map.put("stopRow", Bytes.toStringBinary(this.stopRow));<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    map.put("maxVersions", this.maxVersions);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    map.put("batch", this.batch);<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    map.put("caching", this.caching);<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    map.put("maxResultSize", this.maxResultSize);<a name="line.966"></a>
-<span class="sourceLineNo">967</span>    map.put("cacheBlocks", this.cacheBlocks);<a name="line.967"></a>
-<span class="sourceLineNo">968</span>    map.put("loadColumnFamiliesOnDemand", this.loadColumnFamiliesOnDemand);<a name="line.968"></a>
-<span class="sourceLineNo">969</span>    List&lt;Long&gt; timeRange = new ArrayList&lt;&gt;(2);<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    timeRange.add(this.tr.getMin());<a name="line.970"></a>
-<span class="sourceLineNo">971</span>    timeRange.add(this.tr.getMax());<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    map.put("timeRange", timeRange);<a name="line.972"></a>
-<span class="sourceLineNo">973</span>    int colCount = 0;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    // iterate through affected families and list out up to maxCols columns<a name="line.974"></a>
-<span class="sourceLineNo">975</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      this.familyMap.entrySet()) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      List&lt;String&gt; columns = new ArrayList&lt;&gt;();<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      familyColumns.put(Bytes.toStringBinary(entry.getKey()), columns);<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      if(entry.getValue() == null) {<a name="line.979"></a>
-<span class="sourceLineNo">980</span>        colCount++;<a name="line.980"></a>
-<span class="sourceLineNo">981</span>        --maxCols;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>        columns.add("ALL");<a name="line.982"></a>
-<span class="sourceLineNo">983</span>      } else {<a name="line.983"></a>
-<span class="sourceLineNo">984</span>        colCount += entry.getValue().size();<a name="line.984"></a>
-<span class="sourceLineNo">985</span>        if (maxCols &lt;= 0) {<a name="line.985"></a>
-<span class="sourceLineNo">986</span>          continue;<a name="line.986"></a>
-<span class="sourceLineNo">987</span>        }<a name="line.987"></a>
-<span class="sourceLineNo">988</span>        for (byte [] column : entry.getValue()) {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>          if (--maxCols &lt;= 0) {<a name="line.989"></a>
-<span class="sourceLineNo">990</span>            continue;<a name="line.990"></a>
-<span class="sourceLineNo">991</span>          }<a name="line.991"></a>
-<span class="sourceLineNo">992</span>          columns.add(Bytes.toStringBinary(column));<a name="line.992"></a>
-<span class="sourceLineNo">993</span>        }<a name="line.993"></a>
-<span class="sourceLineNo">994</span>      }<a name="line.994"></a>
-<span class="sourceLineNo">995</span>    }<a name="line.995"></a>
-<span class="sourceLineNo">996</span>    map.put("totalColumns", colCount);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    if (this.filter != null) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span>      map.put("filter", this.filter.toString());<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // add the id if set<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    if (getId() != null) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>      map.put("id", getId());<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>    }<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    return map;<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>  }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>  /**<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>   * Enable/disable "raw" mode for this scan.<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * If "raw" is enabled the scan will return all<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   * delete marker and deleted rows that have not<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>   * been collected, yet.<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>   * This is mostly useful for Scan on column families<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>   * that have KEEP_DELETED_ROWS enabled.<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>   * It is an error to specify any column when "raw" is set.<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>   * @param raw True/False to enable/disable "raw" mode.<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   */<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>  public Scan setRaw(boolean raw) {<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    setAttribute(RAW_ATTR, Bytes.toBytes(raw));<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    return this;<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>  }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span><a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>  /**<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>   * @return True if this Scan is in "raw" mode.<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>   */<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>  public boolean isRaw() {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    byte[] attr = getAttribute(RAW_ATTR);<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>  }<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span><a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>  /**<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>   * Set whether this scan is a small scan<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>   * &lt;p&gt;<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>   * Small scan should use pread and big scan can use seek + read seek + read is fast but can cause<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>   * two problem (1) resource contention (2) cause too much network io [89-fb] Using pread for<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>   * non-compaction read request https://issues.apache.org/jira/browse/HBASE-7266 On the other hand,<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>   * if setting it true, we would do openScanner,next,closeScanner in one RPC call. It means the<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * better performance for small scan. [HBASE-9488]. Generally, if the scan range is within one<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * data block(64KB), it could be considered as a small scan.<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param small<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @deprecated since 2.0.0. Use {@link #setLimit(int)} and {@link #setReadType(ReadType)} instead.<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   *             And for the one rpc optimization, now we will also fetch data when openScanner, and<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   *             if the number of rows reaches the limit then we will close the scanner<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   *             automatically which means we will fall back to one rpc.<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>   * @see #setLimit(int)<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>   * @see #setReadType(ReadType)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>   */<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  @Deprecated<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  public Scan setSmall(boolean small) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    this.small = small;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    this.readType = ReadType.PREAD;<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    return this;<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>  }<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span><a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>  /**<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Get whether this scan is a small scan<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return true if small scan<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @deprecated since 2.0.0. See the comment of {@link #setSmall(boolean)}<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  @Deprecated<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>  public boolean isSmall() {<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    return small;<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>  }<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span><a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>  @Override<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>  public Scan setAttribute(String name, byte[] value) {<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    return (Scan) super.setAttribute(name, value);<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>  }<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span><a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>  @Override<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>  public Scan setId(String id) {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    return (Scan) super.setId(id);<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>  }<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span><a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>  @Override<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>  public Scan setAuthorizations(Authorizations authorizations) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    return (Scan) super.setAuthorizations(authorizations);<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>  }<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span><a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>  @Override<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>  public Scan setACL(Map&lt;String, Permission&gt; perms) {<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>    return (Scan) super.setACL(perms);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>  }<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>  @Override<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public Scan setACL(String user, Permission perms) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    return (Scan) super.setACL(user, perms);<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>  }<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span><a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>  @Override<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  public Scan setConsistency(Consistency consistency) {<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>    return (Scan) super.setConsistency(consistency);<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  }<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span><a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>  @Override<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  public Scan setReplicaId(int Id) {<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>    return (Scan) super.setReplicaId(Id);<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>  }<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span><a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>  @Override<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>  public Scan setIsolationLevel(IsolationLevel level) {<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>    return (Scan) super.setIsolationLevel(level);<a name="line.1101"></a>
+<span class="sourceLineNo">910</span>   * Compile the table and column family (i.e. schema) information<a name="line.910"></a>
+<span class="sourceLineNo">911</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.911"></a>
+<span class="sourceLineNo">912</span>   * logging, and administration tools.<a name="line.912"></a>
+<span class="sourceLineNo">913</span>   * @return Map<a name="line.913"></a>
+<span class="sourceLineNo">914</span>   */<a name="line.914"></a>
+<span class="sourceLineNo">915</span>  @Override<a name="line.915"></a>
+<span class="sourceLineNo">916</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.916"></a>
+<span class="sourceLineNo">917</span>    Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();<a name="line.917"></a>
+<span class="sourceLineNo">918</span>    List&lt;String&gt; families = new ArrayList&lt;&gt;();<a name="line.918"></a>
+<span class="sourceLineNo">919</span>    if(this.familyMap.isEmpty()) {<a name="line.919"></a>
+<span class="sourceLineNo">920</span>      map.put("families", "ALL");<a name="line.920"></a>
+<span class="sourceLineNo">921</span>      return map;<a name="line.921"></a>
+<span class="sourceLineNo">922</span>    } else {<a name="line.922"></a>
+<span class="sourceLineNo">923</span>      map.put("families", families);<a name="line.923"></a>
+<span class="sourceLineNo">924</span>    }<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.925"></a>
+<span class="sourceLineNo">926</span>        this.familyMap.entrySet()) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.927"></a>
+<span class="sourceLineNo">928</span>    }<a name="line.928"></a>
+<span class="sourceLineNo">929</span>    return map;<a name="line.929"></a>
+<span class="sourceLineNo">930</span>  }<a name="line.930"></a>
+<span class="sourceLineNo">931</span><a name="line.931"></a>
+<span class="sourceLineNo">932</span>  /**<a name="line.932"></a>
+<span class="sourceLineNo">933</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.933"></a>
+<span class="sourceLineNo">934</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.934"></a>
+<span class="sourceLineNo">935</span>   * Useful for debugging, logging, and administration tools.<a name="line.935"></a>
+<span class="sourceLineNo">936</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.936"></a>
+<span class="sourceLineNo">937</span>   * @return Map<a name="line.937"></a>
+<span class="sourceLineNo">938</span>   */<a name="line.938"></a>
+<span class="sourceLineNo">939</span>  @Override<a name="line.939"></a>
+<span class="sourceLineNo">940</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.940"></a>
+<span class="sourceLineNo">941</span>    // start with the fingerpring map and build on top of it<a name="line.941"></a>
+<span class="sourceLineNo">942</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.942"></a>
+<span class="sourceLineNo">943</span>    // map from families to column list replaces fingerprint's list of families<a name="line.943"></a>
+<span class="sourceLineNo">944</span>    Map&lt;String, List&lt;String&gt;&gt; familyColumns = new HashMap&lt;&gt;();<a name="line.944"></a>
+<span class="sourceLineNo">945</span>    map.put("families", familyColumns);<a name="line.945"></a>
+<span class="sourceLineNo">946</span>    // add scalar information first<a name="line.946"></a>
+<span class="sourceLineNo">947</span>    map.put("startRow", Bytes.toStringBinary(this.startRow));<a name="line.947"></a>
+<span class="sourceLineNo">948</span>    map.put("stopRow", Bytes.toStringBinary(this.stopRow));<a name="line.948"></a>
+<span class="sourceLineNo">949</span>    map.put("maxVersions", this.maxVersions);<a name="line.949"></a>
+<span class="sourceLineNo">950</span>    map.put("batch", this.batch);<a name="line.950"></a>
+<span class="sourceLineNo">951</span>    map.put("caching", this.caching);<a name="line.951"></a>
+<span class="sourceLineNo">952</span>    map.put("maxResultSize", this.maxResultSize);<a name="line.952"></a>
+<span class="sourceLineNo">953</span>    map.put("cacheBlocks", this.cacheBlocks);<a name="line.953"></a>
+<span class="sourceLineNo">954</span>    map.put("loadColumnFamiliesOnDemand", this.loadColumnFamiliesOnDemand);<a name="line.954"></a>
+<span class="sourceLineNo">955</span>    List&lt;Long&gt; timeRange = new ArrayList&lt;&gt;(2);<a name="line.955"></a>
+<span class="sourceLineNo">956</span>    timeRange.add(this.tr.getMin());<a name="line.956"></a>
+<span class="sourceLineNo">957</span>    timeRange.add(this.tr.getMax());<a name="line.957"></a>
+<span class="sourceLineNo">958</span>    map.put("timeRange", timeRange);<a name="line.958"></a>
+<span class="sourceLineNo">959</span>    int colCount = 0;<a name="line.959"></a>
+<span class="sourceLineNo">960</span>    // iterate through affected families and list out up to maxCols columns<a name="line.960"></a>
+<span class="sourceLineNo">961</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.961"></a>
+<span class="sourceLineNo">962</span>      this.familyMap.entrySet()) {<a name="line.962"></a>
+<span class="sourceLineNo">963</span>      List&lt;String&gt; columns = new ArrayList&lt;&gt;();<a name="line.963"></a>
+<span class="sourceLineNo">964</span>      familyColumns.put(Bytes.toStringBinary(entry.getKey()), columns);<a name="line.964"></a>
+<span class="sourceLineNo">965</span>      if(entry.getValue() == null) {<a name="line.965"></a>
+<span class="sourceLineNo">966</span>        colCount++;<a name="line.966"></a>
+<span class="sourceLineNo">967</span>        --maxCols;<a name="line.967"></a>
+<span class="sourceLineNo">968</span>        columns.add("ALL");<a name="line.968"></a>
+<span class="sourceLineNo">969</span>      } else {<a name="line.969"></a>
+<span class="sourceLineNo">970</span>        colCount += entry.getValue().size();<a name="line.970"></a>
+<span class="sourceLineNo">971</span>        if (maxCols &lt;= 0) {<a name="line.971"></a>
+<span class="sourceLineNo">972</span>          continue;<a name="line.972"></a>
+<span class="sourceLineNo">973</span>        }<a name="line.973"></a>
+<span class="sourceLineNo">974</span>        for (byte [] column : entry.getValue()) {<a name="line.974"></a>
+<span class="sourceLineNo">975</span>          if (--maxCols &lt;= 0) {<a name="line.975"></a>
+<span class="sourceLineNo">976</span>            continue;<a name="line.976"></a>
+<span class="sourceLineNo">977</span>          }<a name="line.977"></a>
+<span class="sourceLineNo">978</span>          columns.add(Bytes.toStringBinary(column));<a name="line.978"></a>
+<span class="sourceLineNo">979</span>        }<a name="line.979"></a>
+<span class="sourceLineNo">980</span>      }<a name="line.980"></a>
+<span class="sourceLineNo">981</span>    }<a name="line.981"></a>
+<span class="sourceLineNo">982</span>    map.put("totalColumns", colCount);<a name="line.982"></a>
+<span class="sourceLineNo">983</span>    if (this.filter != null) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span>      map.put("filter", this.filter.toString());<a name="line.984"></a>
+<span class="sourceLineNo">985</span>    }<a name="line.985"></a>
+<span class="sourceLineNo">986</span>    // add the id if set<a name="line.986"></a>
+<span class="sourceLineNo">987</span>    if (getId() != null) {<a name="line.987"></a>
+<span class="sourceLineNo">988</span>      map.put("id", getId());<a name="line.988"></a>
+<span class="sourceLineNo">989</span>    }<a name="line.989"></a>
+<span class="sourceLineNo">990</span>    return map;<a name="line.990"></a>
+<span class="sourceLineNo">991</span>  }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span>  /**<a name="line.993"></a>
+<span class="sourceLineNo">994</span>   * Enable/disable "raw" mode for this scan.<a name="line.994"></a>
+<span class="sourceLineNo">995</span>   * If "raw" is enabled the scan will return all<a name="line.995"></a>
+<span class="sourceLineNo">996</span>   * delete marker and deleted rows that have not<a name="line.996"></a>
+<span class="sourceLineNo">997</span>   * been collected, yet.<a name="line.997"></a>
+<span class="sourceLineNo">998</span>   * This is mostly useful for Scan on column families<a name="line.998"></a>
+<span class="sourceLineNo">999</span>   * that have KEEP_DELETED_ROWS enabled.<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>   * It is an error to specify any column when "raw" is set.<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>   * @param raw True/False to enable/disable "raw" mode.<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>   */<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>  public Scan setRaw(boolean raw) {<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>    setAttribute(RAW_ATTR, Bytes.toBytes(raw));<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>    return this;<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span><a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>   * @return True if this Scan is in "raw" mode.<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>  public boolean isRaw() {<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>    byte[] attr = getAttribute(RAW_ATTR);<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>  }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>  /**<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>   * Set whether this scan is a small scan<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>   * &lt;p&gt;<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>   * Small scan should use pread and big scan can use seek + read seek + read is fast but can cause<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>   * two problem (1) resource contention (2) cause too much network io [89-fb] Using pread for<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>   * non-compaction read request https://issues.apache.org/jira/browse/HBASE-7266 On the other hand,<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>   * if setting it true, we would do openScanner,next,closeScanner in one RPC call. It means the<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>   * better performance for small scan. [HBASE-9488]. Generally, if the scan range is within one<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>   * data block(64KB), it could be considered as a small scan.<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>   * @param small<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>   * @deprecated since 2.0.0. Use {@link #setLimit(int)} and {@link #setReadType(ReadType)} instead.<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>   *             And for the one rpc optimization, now we will also fetch data when openScanner, and<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>   *             if the number of rows reaches the limit then we will close the scanner<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>   *             automatically which means we will fall back to one rpc.<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>   * @see #setLimit(int)<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>   * @see #setReadType(ReadType)<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>   */<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>  @Deprecated<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>  public Scan setSmall(boolean small) {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>    this.small = small;<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>    this.readType = ReadType.PREAD;<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>    return this;<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>  }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>  /**<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>   * Get whether this scan is a small scan<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>   * @return true if small scan<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>   * @deprecated since 2.0.0. See the comment of {@link #setSmall(boolean)}<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>   */<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>  @Deprecated<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>  public boolean isSmall() {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>    return small;<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span><a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>  @Override<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  public Scan setAttribute(String name, byte[] value) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>    return (Scan) super.setAttribute(name, value);<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>  }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span><a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>  @Override<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>  public Scan setId(String id) {<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>    return (Scan) super.setId(id);<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>  }<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span><a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>  @Override<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>  public Scan setAuthorizations(Authorizations authorizations) {<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>    return (Scan) super.setAuthorizations(authorizations);<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>  }<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span><a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>  @Override<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>  public Scan setACL(Map&lt;String, Permission&gt; perms) {<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>    return (Scan) super.setACL(perms);<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>  }<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span><a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>  @Override<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>  public Scan setACL(String user, Permission perms) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>    return (Scan) super.setACL(user, perms);<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>  }<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span><a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>  @Override<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>  public Scan setConsistency(Consistency consistency) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>    return (Scan) super.setConsistency(consistency);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>  }<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span><a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>  @Override<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>  public Scan setReplicaId(int Id) {<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>    return (Scan) super.setReplicaId(Id);<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  }<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span><a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  @Override<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>  public Scan setIsolationLevel(IsolationLevel level) {<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>    return (Scan) super.setIsolationLevel(level);<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>  }<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span><a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  @Override<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>  public Scan setPriority(int priority) {<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>    return (Scan) super.setPriority(priority);<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>  }<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span><a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>  /**<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>   * Enable collection of {@link ScanMetrics}. For advanced users.<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   * @param enabled Set to true to enable accumulating scan metrics<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>   */<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>  public Scan setScanMetricsEnabled(final boolean enabled) {<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>    setAttribute(Scan.SCAN_ATTRIBUTES_METRICS_ENABLE, Bytes.toBytes(Boolean.valueOf(enabled)));<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    return this;<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>  }<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span><a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>  @Override<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  public Scan setPriority(int priority) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>    return (Scan) super.setPriority(priority);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>  }<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span><a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>  /**<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>   * Enable collection of {@link ScanMetrics}. For advanced users.<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>   * @param enabled Set to true to enable accumulating scan metrics<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>   */<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  public Scan setScanMetricsEnabled(final boolean enabled) {<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>    setAttribute(Scan.SCAN_ATTRIBUTES_METRICS_ENABLE, Bytes.toBytes(Boolean.valueOf(enabled)));<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>    return this;<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  }<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span><a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>  /**<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>   * @return True if collection of scan metrics is enabled. For advanced users.<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>   */<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public boolean isScanMetricsEnabled() {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    byte[] attr = getAttribute(Scan.SCAN_ATTRIBUTES_METRICS_ENABLE);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  }<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span><a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  /**<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>   * @return Metrics on this Scan, if metrics were enabled.<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>   * @see #setScanMetricsEnabled(boolean)<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>   * @deprecated Use {@link ResultScanner#getScanMetrics()} instead. And notice that, please do not<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>   *             use this method and {@link ResultScanner#getScanMetrics()} together, the metrics<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>   *             will be messed up.<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>   */<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  @Deprecated<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>  public ScanMetrics getScanMetrics() {<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>    byte[] bytes = getAttribute(Scan.SCAN_ATTRIBUTES_METRICS_DATA);<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>    if (bytes == null) return null;<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return ProtobufUtil.toScanMetrics(bytes);<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  public Boolean isAsyncPrefetch() {<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>    return asyncPrefetch;<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  }<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span><a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>  public Scan setAsyncPrefetch(boolean asyncPrefetch) {<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>    this.asyncPrefetch = asyncPrefetch;<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>    return this;<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>  }<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span><a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  /**<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>   * @return the limit of rows for this scan<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>   */<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>  public int getLimit() {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>    return limit;<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  }<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span><a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  /**<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>   * Set the limit of rows for this scan. We will terminate the scan if the number of returned rows<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>   * reaches this value.<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>   * &lt;p&gt;<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>   * This condition will be tested at last, after all other conditions such as stopRow, filter, etc.<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>   * @param limit the limit of rows for this scan<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>   * @return this<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>   */<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>  public Scan setLimit(int limit) {<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>    this.limit = limit;<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>    return this;<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>  }<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span><a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>  /**<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>   * Call this when you only want to get one row. It will set {@code limit} to {@code 1}, and also<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * set {@code readType} to {@link ReadType#PREAD}.<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   * @return this<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>   */<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  public Scan setOneRowLimit() {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>    return setLimit(1).setReadType(ReadType.PREAD);<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>  }<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  @InterfaceAudience.Public<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>  public enum ReadType {<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>    DEFAULT, STREAM, PREAD<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>  }<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span><a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>  /**<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>   * @return the read type for this scan<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  public ReadType getReadType() {<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>    return readType;<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>  }<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span><a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>  /**<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>   * Set the read type for this scan.<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>   * &lt;p&gt;<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>   * Notice that we may choose to use pread even if you specific {@link ReadType#STREAM} here. For<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>   * example, we will always use pread if this is a get scan.<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>   * @return this<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>   */<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>  public Scan setReadType(ReadType readType) {<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>    this.readType = readType;<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>    return this;<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>  }<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span><a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  /**<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>   * Get the mvcc read point used to open a scanner.<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>   */<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>  long getMvccReadPoint() {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>    return mvccReadPoint;<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>  }<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>  /**<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>   * Set the mvcc read point used to open a scanner.<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>   */<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>  Scan setMvccReadPoint(long mvccReadPoint) {<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>    this.mvccReadPoint = mvccReadPoint;<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>    return this;<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>  }<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span><a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>  /**<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>   * Set the mvcc read point to -1 which means do not use it.<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>   */<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  Scan resetMvccReadPoint() {<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>    return setMvccReadPoint(-1L);<a name="line.1221"></a>
+<span class="sourceLineNo">1104</span>  /**<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>   * @return True if collection of scan metrics is enabled. For advanced users.<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>   */<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>  public boolean isScanMetricsEnabled() {<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>    byte[] attr = getAttribute(Scan.SCAN_ATTRIBUTES_METRICS_ENABLE);<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  }<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span><a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>  public Boolean isAsyncPrefetch() {<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    return asyncPrefetch;<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>  }<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span><a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  public Scan setAsyncPrefetch(boolean asyncPrefetch) {<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>    this.asyncPrefetch = asyncPrefetch;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>    return this;<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  }<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span><a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>  /**<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>   * @return the limit of rows for this scan<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>   */<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  public int getLimit() {<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>    return limit;<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>  }<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span><a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>  /**<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>   * Set the limit of rows for this scan. We will terminate the scan if the number of returned rows<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   * reaches this value.<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>   * &lt;p&gt;<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>   * This condition will be tested at last, after all other conditions such as stopRow, filter, etc.<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>   * @param limit the limit of rows for this scan<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>   * @return this<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>   */<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>  public Scan setLimit(int limit) {<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>    this.limit = limit;<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>    return this;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  }<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span><a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>  /**<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>   * Call this when you only want to get one row. It will set {@code limit} to {@code 1}, and also<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>   * set {@code readType} to {@link ReadType#PREAD}.<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>   * @return this<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>   */<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>  public Scan setOneRowLimit() {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>    return setLimit(1).setReadType(ReadType.PREAD);<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>  }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  @InterfaceAudience.Public<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>  public enum ReadType {<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    DEFAULT, STREAM, PREAD<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span><a name="line.1154"></a>
+<span class="sourceLineNo">1155</span>  /**<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>   * @return the read type for this scan<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>   */<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  public ReadType getReadType() {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>    return readType;<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>  }<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span><a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /**<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>   * Set the read type for this scan.<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   * &lt;p&gt;<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>   * Notice that we may choose to use pread even if you specific {@link ReadType#STREAM} here. For<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>   * example, we will always use pread if this is a get scan.<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>   * @return this<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>   */<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>  public Scan setReadType(ReadType readType) {<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>    this.readType = readType;<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>    return this;<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>  }<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span><a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>  /**<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   * Get the mvcc read point used to open a scanner.<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   */<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>  long getMvccReadPoint() {<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>    return mvccReadPoint;<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>  }<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span><a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>   * Set the mvcc read point used to open a scanner.<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>   */<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>  Scan setMvccReadPoint(long mvccReadPoint) {<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>    this.mvccReadPoint = mvccReadPoint;<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>    return this;<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>  }<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span><a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>  /**<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>   * Set the mvcc read point to -1 which means do not use it.<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>   */<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>  Scan resetMvccReadPoint() {<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>    return setMvccReadPoint(-1L);<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  }<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span><a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>  /**<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>   * When the server is slow or we scan a table with many deleted data or we use a sparse filter,<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>   * the server will response heartbeat to prevent timeout. However the scanner will return a Result<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>   * only when client can do it. So if there are many heartbeats, the blocking time on<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>   * ResultScanner#next() may be very long, which is not friendly to online services.<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>   *<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>   * Set this to true then you can get a special Result whose #isCursor() returns true and is not<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>   * contains any real data. It only tells you where the server has scanned. You can call next<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>   * to continue scanning or open a new scanner with this row key as start row whenever you want.<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>   *<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>   * Users can get a cursor when and only when there is a response from the server but we can not<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>   * return a Result to users, for example, this response is a heartbeat or there are partial cells<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>   * but users do not allow partial result.<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>   *<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>   * Now the cursor is in row level which means the special Result will only contains a row key.<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>   * {@link Result#isCursor()}<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>   * {@link Result#getCursor()}<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>   * {@link Cursor}<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>   */<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>  public Scan setNeedCursorResult(boolean needCursorResult) {<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>    this.needCursorResult = needCursorResult;<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>    return this;<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  }<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span><a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>  public boolean isNeedCursorResult() {<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>    return needCursorResult;<a name="line.1221"></a>
 <span class="sourceLineNo">1222</span>  }<a name="line.1222"></a>
 <span class="sourceLineNo">1223</span><a name="line.1223"></a>
 <span class="sourceLineNo">1224</span>  /**<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>   * When the server is slow or we scan a table with many deleted data or we use a sparse filter,<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>   * the server will response heartbeat to prevent timeout. However the scanner will return a Result<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>   * only when client can do it. So if there are many heartbeats, the blocking time on<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>   * ResultScanner#next() may be very long, which is not friendly to online services.<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>   *<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>   * Set this to true then you can get a special Result whose #isCursor() returns true and is not<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>   * contains any real data. It only tells you where the server has scanned. You can call next<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>   * to continue scanning or open a new scanner with this row key as start row whenever you want.<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>   *<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>   * Users can get a cursor when and only when there is a response from the server but we can not<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>   * return a Result to users, for example, this response is a heartbeat or there are partial cells<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>   * but users do not allow partial result.<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>   *<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>   * Now the cursor is in row level which means the special Result will only contains a row key.<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>   * {@link Result#isCursor()}<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>   * {@link Result#getCursor()}<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>   * {@link Cursor}<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>   */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>  public Scan setNeedCursorResult(boolean needCursorResult) {<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>    this.needCursorResult = needCursorResult;<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>    return this;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>  }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  public boolean isNeedCursorResult() {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>    return needCursorResult;<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>  }<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span><a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>  /**<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>   * Create a new Scan with a cursor. It only set the position information like start row key.<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>   * The others (like cfs, stop row, limit) should still be filled in by the user.<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>   * {@link Result#isCursor()}<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>   * {@link Result#getCursor()}<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>   * {@link Cursor}<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>   */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static Scan createScanFromCursor(Cursor cursor) {<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>    return new Scan().withStartRow(cursor.getRow());<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>  }<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>}<a name="line.1262"></a>
+<span class="sourceLineNo">1225</span>   * Create a new Scan with a cursor. It only set the position information like start row key.<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>   * The others (like cfs, stop row, limit) should still be filled in by the user.<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>   * {@link Result#isCursor()}<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>   * {@link Result#getCursor()}<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>   * {@link Cursor}<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   */<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  public static Scan createScanFromCursor(Cursor cursor) {<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>    return new Scan().withStartRow(cursor.getRow());<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>  }<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>}<a name="line.1234"></a>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
index efeb69a..067ff9b 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
@@ -36,1238 +36,1210 @@
 <span class="sourceLineNo">028</span>import java.util.NavigableSet;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import java.util.TreeMap;<a name="line.29"></a>
 <span class="sourceLineNo">030</span>import java.util.TreeSet;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.HConstants;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.slf4j.Logger;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.slf4j.LoggerFactory;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.metrics.ScanMetrics;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.security.visibility.Authorizations;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * Used to perform Scan operations.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * All operations are identical to {@link Get} with the exception of instantiation. Rather than<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * specifying a single row, an optional startRow and stopRow may be defined. If rows are not<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * specified, the Scanner will iterate over all rows.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * &lt;p&gt;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * To get all columns from all rows of a Table, create an instance with no constraints; use the<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * {@link #Scan()} constructor. To constrain the scan to specific column families, call<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * {@link #addFamily(byte[]) addFamily} for each family to retrieve on your Scan instance.<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * &lt;p&gt;<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * To get specific columns, call {@link #addColumn(byte[], byte[]) addColumn} for each column to<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * retrieve.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * To only retrieve columns within a specific range of version timestamps, call<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * {@link #setTimeRange(long, long) setTimeRange}.<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * &lt;p&gt;<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * To only retrieve columns with a specific timestamp, call {@link #setTimestamp(long) setTimestamp}<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * .<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * &lt;p&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * To limit the number of versions of each column to be returned, call {@link #setMaxVersions(int)<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * setMaxVersions}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * &lt;p&gt;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * To limit the maximum number of values returned for each call to next(), call<a name="line.68"></a>
-<span class="sourceLineNo">069</span> * {@link #setBatch(int) setBatch}.<a name="line.69"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HConstants;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.metrics.ScanMetrics;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.security.visibility.Authorizations;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.slf4j.Logger;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.slf4j.LoggerFactory;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Used to perform Scan operations.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * All operations are identical to {@link Get} with the exception of instantiation. Rather than<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * specifying a single row, an optional startRow and stopRow may be defined. If rows are not<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * specified, the Scanner will iterate over all rows.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * To get all columns from all rows of a Table, create an instance with no constraints; use the<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * {@link #Scan()} constructor. To constrain the scan to specific column families, call<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * {@link #addFamily(byte[]) addFamily} for each family to retrieve on your Scan instance.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * To get specific columns, call {@link #addColumn(byte[], byte[]) addColumn} for each column to<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * retrieve.<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * &lt;p&gt;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * To only retrieve columns within a specific range of version timestamps, call<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * {@link #setTimeRange(long, long) setTimeRange}.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;p&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * To only retrieve columns with a specific timestamp, call {@link #setTimestamp(long) setTimestamp}<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * .<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * &lt;p&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * To limit the number of versions of each column to be returned, call {@link #setMaxVersions(int)<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * setMaxVersions}.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * &lt;p&gt;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * To limit the maximum number of values returned for each call to next(), call<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * {@link #setBatch(int) setBatch}.<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * &lt;p&gt;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * To add a filter, call {@link #setFilter(org.apache.hadoop.hbase.filter.Filter) setFilter}.<a name="line.69"></a>
 <span class="sourceLineNo">070</span> * &lt;p&gt;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> * To add a filter, call {@link #setFilter(org.apache.hadoop.hbase.filter.Filter) setFilter}.<a name="line.71"></a>
-<span class="sourceLineNo">072</span> * &lt;p&gt;<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * For small scan, it is deprecated in 2.0.0. Now we have a {@link #setLimit(int)} method in Scan<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * object which is used to tell RS how many rows we want. If the rows return reaches the limit, the<a name="line.74"></a>
-<span class="sourceLineNo">075</span> * RS will close the RegionScanner automatically. And we will also fetch data when openScanner in<a name="line.75"></a>
-<span class="sourceLineNo">076</span> * the new implementation, this means we can also finish a scan operation in one rpc call. And we<a name="line.76"></a>
-<span class="sourceLineNo">077</span> * have also introduced a {@link #setReadType(ReadType)} method. You can use this method to tell RS<a name="line.77"></a>
-<span class="sourceLineNo">078</span> * to use pread explicitly.<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * &lt;p&gt;<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * Expert: To explicitly disable server-side block caching for this scan, execute<a name="line.80"></a>
-<span class="sourceLineNo">081</span> * {@link #setCacheBlocks(boolean)}.<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * &lt;p&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * &lt;em&gt;Note:&lt;/em&gt; Usage alters Scan instances. Internally, attributes are updated as the Scan runs<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * and if enabled, metrics accumulate in the Scan instance. Be aware this is the case when you go to<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * clone a Scan instance or if you go to reuse a created Scan instance; safer is create a Scan<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * instance per usage.<a name="line.86"></a>
-<span class="sourceLineNo">087</span> */<a name="line.87"></a>
-<span class="sourceLineNo">088</span>@InterfaceAudience.Public<a name="line.88"></a>
-<span class="sourceLineNo">089</span>public class Scan extends Query {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private static final Logger LOG = LoggerFactory.getLogger(Scan.class);<a name="line.90"></a>
+<span class="sourceLineNo">071</span> * For small scan, it is deprecated in 2.0.0. Now we have a {@link #setLimit(int)} method in Scan<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * object which is used to tell RS how many rows we want. If the rows return reaches the limit, the<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * RS will close the RegionScanner automatically. And we will also fetch data when openScanner in<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * the new implementation, this means we can also finish a scan operation in one rpc call. And we<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * have also introduced a {@link #setReadType(ReadType)} method. You can use this method to tell RS<a name="line.75"></a>
+<span class="sourceLineNo">076</span> * to use pread explicitly.<a name="line.76"></a>
+<span class="sourceLineNo">077</span> * &lt;p&gt;<a name="line.77"></a>
+<span class="sourceLineNo">078</span> * Expert: To explicitly disable server-side block caching for this scan, execute<a name="line.78"></a>
+<span class="sourceLineNo">079</span> * {@link #setCacheBlocks(boolean)}.<a name="line.79"></a>
+<span class="sourceLineNo">080</span> * &lt;p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">081</span> * &lt;em&gt;Note:&lt;/em&gt; Usage alters Scan instances. Internally, attributes are updated as the Scan runs<a name="line.81"></a>
+<span class="sourceLineNo">082</span> * and if enabled, metrics accumulate in the Scan instance. Be aware this is the case when you go to<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * clone a Scan instance or if you go to reuse a created Scan instance; safer is create a Scan<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * instance per usage.<a name="line.84"></a>
+<span class="sourceLineNo">085</span> */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>@InterfaceAudience.Public<a name="line.86"></a>
+<span class="sourceLineNo">087</span>public class Scan extends Query {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private static final Logger LOG = LoggerFactory.getLogger(Scan.class);<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private static final String RAW_ATTR = "_raw_";<a name="line.90"></a>
 <span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private static final String RAW_ATTR = "_raw_";<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private byte[] startRow = HConstants.EMPTY_START_ROW;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  private boolean includeStartRow = true;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  private byte[] stopRow  = HConstants.EMPTY_END_ROW;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private boolean includeStopRow = false;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  private int maxVersions = 1;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  private int batch = -1;<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>  /**<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * Partial {@link Result}s are {@link Result}s must be combined to form a complete {@link Result}.<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * The {@link Result}s had to be returned in fragments (i.e. as partials) because the size of the<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * cells in the row exceeded max result size on the server. Typically partial results will be<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * combined client side into complete results before being delivered to the caller. However, if<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * this flag is set, the caller is indicating that they do not mind seeing partial results (i.e.<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * they understand that the results returned from the Scanner may only represent part of a<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * particular row). In such a case, any attempt to combine the partials into a complete result on<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * the client side will be skipped, and the caller will be able to see the exact results returned<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * from the server.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private boolean allowPartialResults = false;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  private int storeLimit = -1;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private int storeOffset = 0;<a name="line.115"></a>
+<span class="sourceLineNo">092</span>  private byte[] startRow = HConstants.EMPTY_START_ROW;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  private boolean includeStartRow = true;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  private byte[] stopRow  = HConstants.EMPTY_END_ROW;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  private boolean includeStopRow = false;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  private int maxVersions = 1;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  private int batch = -1;<a name="line.97"></a>
+<span class="sourceLineNo">098</span><a name="line.98"></a>
+<span class="sourceLineNo">099</span>  /**<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * Partial {@link Result}s are {@link Result}s must be combined to form a complete {@link Result}.<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * The {@link Result}s had to be returned in fragments (i.e. as partials) because the size of the<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * cells in the row exceeded max result size on the server. Typically partial results will be<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * combined client side into complete results before being delivered to the caller. However, if<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * this flag is set, the caller is indicating that they do not mind seeing partial results (i.e.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * they understand that the results returned from the Scanner may only represent part of a<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * particular row). In such a case, any attempt to combine the partials into a complete result on<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * the client side will be skipped, and the caller will be able to see the exact results returned<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * from the server.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  private boolean allowPartialResults = false;<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>  private int storeLimit = -1;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  private int storeOffset = 0;<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  private static final String SCAN_ATTRIBUTES_METRICS_ENABLE = "scan.attributes.metrics.enable";<a name="line.115"></a>
 <span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /**<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * @deprecated since 1.0.0. Use {@link #setScanMetricsEnabled(boolean)}<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  // Make private or remove.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  @Deprecated<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  static public final String SCAN_ATTRIBUTES_METRICS_ENABLE = "scan.attributes.metrics.enable";<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  /**<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * Use {@link #getScanMetrics()}<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  // Make this private or remove.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  @Deprecated<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  static public final String SCAN_ATTRIBUTES_METRICS_DATA = "scan.attributes.metrics.data";<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  // If an application wants to use multiple scans over different tables each scan must<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  // define this attribute with the appropriate table name by calling<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  // scan.setAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME, Bytes.toBytes(tableName))<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  static public final String SCAN_ATTRIBUTES_TABLE_NAME = "scan.attributes.table.name";<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>   * -1 means no caching specified and the value of {@link HConstants#HBASE_CLIENT_SCANNER_CACHING}<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * (default to {@link HConstants#DEFAULT_HBASE_CLIENT_SCANNER_CACHING}) will be used<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  private int caching = -1;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private long maxResultSize = -1;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  private boolean cacheBlocks = true;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  private boolean reversed = false;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  private TimeRange tr = TimeRange.allTime();<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  private Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap =<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    new TreeMap&lt;byte [], NavigableSet&lt;byte []&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  private Boolean asyncPrefetch = null;<a name="line.147"></a>
+<span class="sourceLineNo">117</span>  // If an application wants to use multiple scans over different tables each scan must<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  // define this attribute with the appropriate table name by calling<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  // scan.setAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME, Bytes.toBytes(tableName))<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  static public final String SCAN_ATTRIBUTES_TABLE_NAME = "scan.attributes.table.name";<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * -1 means no caching specified and the value of {@link HConstants#HBASE_CLIENT_SCANNER_CACHING}<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * (default to {@link HConstants#DEFAULT_HBASE_CLIENT_SCANNER_CACHING}) will be used<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  private int caching = -1;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  private long maxResultSize = -1;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  private boolean cacheBlocks = true;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  private boolean reversed = false;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  private TimeRange tr = TimeRange.allTime();<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  private Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap =<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    new TreeMap&lt;byte [], NavigableSet&lt;byte []&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  private Boolean asyncPrefetch = null;<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>   * Parameter name for client scanner sync/async prefetch toggle.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * When using async scanner, prefetching data from the server is done at the background.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * The parameter currently won't have any effect in the case that the user has set<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * Scan#setSmall or Scan#setReversed<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public static final String HBASE_CLIENT_SCANNER_ASYNC_PREFETCH =<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      "hbase.client.scanner.async.prefetch";<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * Default value of {@link #HBASE_CLIENT_SCANNER_ASYNC_PREFETCH}.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public static final boolean DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH = false;<a name="line.147"></a>
 <span class="sourceLineNo">148</span><a name="line.148"></a>
 <span class="sourceLineNo">149</span>  /**<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * Parameter name for client scanner sync/async prefetch toggle.<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * When using async scanner, prefetching data from the server is done at the background.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * The parameter currently won't have any effect in the case that the user has set<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * Scan#setSmall or Scan#setReversed<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public static final String HBASE_CLIENT_SCANNER_ASYNC_PREFETCH =<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      "hbase.client.scanner.async.prefetch";<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * Default value of {@link #HBASE_CLIENT_SCANNER_ASYNC_PREFETCH}.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public static final boolean DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH = false;<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>   * Set it true for small scan to get better performance Small scan should use pread and big scan<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * can use seek + read seek + read is fast but can cause two problem (1) resource contention (2)<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * cause too much network io [89-fb] Using pread for non-compaction read request<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * https://issues.apache.org/jira/browse/HBASE-7266 On the other hand, if setting it true, we<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * would do openScanner,next,closeScanner in one RPC call. It means the better performance for<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * small scan. [HBASE-9488]. Generally, if the scan range is within one data block(64KB), it could<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * be considered as a small scan.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  private boolean small = false;<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  /**<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * The mvcc read point to use when open a scanner. Remember to clear it after switching regions as<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * the mvcc is only valid within region scope.<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  private long mvccReadPoint = -1L;<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * The number of rows we want for this scan. We will terminate the scan if the number of return<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * rows reaches this value.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  private int limit = -1;<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * Control whether to use pread at server side.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  private ReadType readType = ReadType.DEFAULT;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private boolean needCursorResult = false;<a name="line.191"></a>
+<span class="sourceLineNo">150</span>   * Set it true for small scan to get better performance Small scan should use pread and big scan<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * can use seek + read seek + read is fast but can cause two problem (1) resource contention (2)<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * cause too much network io [89-fb] Using pread for non-compaction read request<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   * https://issues.apache.org/jira/browse/HBASE-7266 On the other hand, if setting it true, we<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * would do openScanner,next,closeScanner in one RPC call. It means the better performance for<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * small scan. [HBASE-9488]. Generally, if the scan range is within one data block(64KB), it could<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * be considered as a small scan.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  private boolean small = false;<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * The mvcc read point to use when open a scanner. Remember to clear it after switching regions as<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * the mvcc is only valid within region scope.<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  private long mvccReadPoint = -1L;<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   * The number of rows we want for this scan. We will terminate the scan if the number of return<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * rows reaches this value.<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   */<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  private int limit = -1;<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">173</span>   * Control whether to use pread at server side.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  private ReadType readType = ReadType.DEFAULT;<a name="line.175"></a>
+<span class="sourceLineNo">176</span><a name="line.176"></a>
+<span class="sourceLineNo">177</span>  private boolean needCursorResult = false;<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * Create a Scan operation across all rows.<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   */<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  public Scan() {}<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  /**<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * @deprecated use {@code new Scan().withStartRow(startRow).setFilter(filter)} instead.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  @Deprecated<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  public Scan(byte[] startRow, Filter filter) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    this(startRow);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    this.filter = filter;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
 <span class="sourceLineNo">192</span><a name="line.192"></a>
 <span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * Create a Scan operation across all rows.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  public Scan() {}<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /**<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * @deprecated use {@code new Scan().withStartRow(startRow).setFilter(filter)} instead.<a name="line.199"></a>
+<span class="sourceLineNo">194</span>   * Create a Scan operation starting at the specified row.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * &lt;p&gt;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * specified row.<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @param startRow row to start scanner at or after<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * @deprecated use {@code new Scan().withStartRow(startRow)} instead.<a name="line.199"></a>
 <span class="sourceLineNo">200</span>   */<a name="line.200"></a>
 <span class="sourceLineNo">201</span>  @Deprecated<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  public Scan(byte[] startRow, Filter filter) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    this(startRow);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    this.filter = filter;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Create a Scan operation starting at the specified row.<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * &lt;p&gt;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * specified row.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @param startRow row to start scanner at or after<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * @deprecated use {@code new Scan().withStartRow(startRow)} instead.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @Deprecated<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public Scan(byte[] startRow) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    setStartRow(startRow);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * Create a Scan operation for the range of rows specified.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * @param startRow row to start scanner at or after (inclusive)<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * @param stopRow row to stop scanner before (exclusive)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * @deprecated use {@code new Scan().withStartRow(startRow).withStopRow(stopRow)} instead.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  @Deprecated<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public Scan(byte[] startRow, byte[] stopRow) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    setStartRow(startRow);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    setStopRow(stopRow);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * Creates a new instance of this class while copying all values.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   *<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * @param scan  The scan instance to copy from.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * @throws IOException When copying the values fails.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   */<a name="line.237"></a>
-<span class="sourceLineNo">238</span>  public Scan(Scan scan) throws IOException {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    startRow = scan.getStartRow();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    includeStartRow = scan.includeStartRow();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    stopRow  = scan.getStopRow();<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    includeStopRow = scan.includeStopRow();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    maxVersions = scan.getMaxVersions();<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    batch = scan.getBatch();<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    storeLimit = scan.getMaxResultsPerColumnFamily();<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    storeOffset = scan.getRowOffsetPerColumnFamily();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    caching = scan.getCaching();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    maxResultSize = scan.getMaxResultSize();<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    cacheBlocks = scan.getCacheBlocks();<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    filter = scan.getFilter(); // clone?<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    consistency = scan.getConsistency();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    this.setIsolationLevel(scan.getIsolationLevel());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    reversed = scan.isReversed();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    small = scan.isSmall();<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    tr = scan.getTimeRange(); // TimeRange is immutable<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      byte [] fam = entry.getKey();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        for (byte[] col : cols) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>          addColumn(fam, col);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        }<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      } else {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        addFamily(fam);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      }<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    }<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    }<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      TimeRange tr = entry.getValue();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    this.mvccReadPoint = scan.getMvccReadPoint();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    this.limit = scan.getLimit();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    this.needCursorResult = scan.isNeedCursorResult();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    setPriority(scan.getPriority());<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    readType = scan.getReadType();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    super.setReplicaId(scan.getReplicaId());<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  }<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * Builds a scan object with the same specs as get.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   * @param get get to model scan after<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   */<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public Scan(Get get) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    this.startRow = get.getRow();<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    this.includeStartRow = true;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    this.stopRow = get.getRow();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.includeStopRow = true;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    this.filter = get.getFilter();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    this.maxVersions = get.getMaxVersions();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    this.tr = get.getTimeRange();<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    this.familyMap = get.getFamilyMap();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    this.asyncPrefetch = false;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    this.consistency = get.getConsistency();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    this.setIsolationLevel(get.getIsolationLevel());<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    this.loadColumnFamiliesOnDemand = get.getLoadColumnFamiliesOnDemandValue();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    }<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      TimeRange tr = entry.getValue();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    this.mvccReadPoint = -1L;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    setPriority(get.getPriority());<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    super.setReplicaId(get.getReplicaId());<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public boolean isGetScan() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    return includeStartRow &amp;&amp; includeStopRow<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        &amp;&amp; ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow);<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  /**<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * Get all columns from the specified family.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * &lt;p&gt;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * Overrides previous calls to addColumn for this family.<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * @param family family name<a name="line.327"></a>
+<span class="sourceLineNo">202</span>  public Scan(byte[] startRow) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    setStartRow(startRow);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * Create a Scan operation for the range of rows specified.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @param startRow row to start scanner at or after (inclusive)<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @param stopRow row to stop scanner before (exclusive)<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @deprecated use {@code new Scan().withStartRow(startRow).withStopRow(stopRow)} instead.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   */<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  @Deprecated<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  public Scan(byte[] startRow, byte[] stopRow) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    setStartRow(startRow);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    setStopRow(stopRow);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>  /**<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   * Creates a new instance of this class while copying all values.<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   *<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   * @param scan  The scan instance to copy from.<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * @throws IOException When copying the values fails.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   */<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  public Scan(Scan scan) throws IOException {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    startRow = scan.getStartRow();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    includeStartRow = scan.includeStartRow();<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    stopRow  = scan.getStopRow();<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    includeStopRow = scan.includeStopRow();<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    maxVersions = scan.getMaxVersions();<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    batch = scan.getBatch();<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    storeLimit = scan.getMaxResultsPerColumnFamily();<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    storeOffset = scan.getRowOffsetPerColumnFamily();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    caching = scan.getCaching();<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    maxResultSize = scan.getMaxResultSize();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    cacheBlocks = scan.getCacheBlocks();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    filter = scan.getFilter(); // clone?<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    consistency = scan.getConsistency();<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    this.setIsolationLevel(scan.getIsolationLevel());<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    reversed = scan.isReversed();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    small = scan.isSmall();<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    tr = scan.getTimeRange(); // TimeRange is immutable<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      byte [] fam = entry.getKey();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        for (byte[] col : cols) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>          addColumn(fam, col);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      } else {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        addFamily(fam);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      }<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      TimeRange tr = entry.getValue();<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    this.mvccReadPoint = scan.getMvccReadPoint();<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    this.limit = scan.getLimit();<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    this.needCursorResult = scan.isNeedCursorResult();<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    setPriority(scan.getPriority());<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    readType = scan.getReadType();<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    super.setReplicaId(scan.getReplicaId());<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  }<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>  /**<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   * Builds a scan object with the same specs as get.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   * @param get get to model scan after<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   */<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public Scan(Get get) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    this.startRow = get.getRow();<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    this.includeStartRow = true;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    this.stopRow = get.getRow();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    this.includeStopRow = true;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    this.filter = get.getFilter();<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    this.maxVersions = get.getMaxVersions();<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    this.tr = get.getTimeRange();<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    this.familyMap = get.getFamilyMap();<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    this.asyncPrefetch = false;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    this.consistency = get.getConsistency();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    this.setIsolationLevel(get.getIsolationLevel());<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    this.loadColumnFamiliesOnDemand = get.getLoadColumnFamiliesOnDemandValue();<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      TimeRange tr = entry.getValue();<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    this.mvccReadPoint = -1L;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    setPriority(get.getPriority());<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    super.setReplicaId(get.getReplicaId());<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public boolean isGetScan() {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    return includeStartRow &amp;&amp; includeStopRow<a name="line.305"></a>
+<span class="sourceLineNo">306</span>        &amp;&amp; ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  /**<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * Get all columns from the specified family.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * &lt;p&gt;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * Overrides previous calls to addColumn for this family.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @param family family name<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @return this<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  public Scan addFamily(byte [] family) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    familyMap.remove(family);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    familyMap.put(family, null);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    return this;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  }<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * Get the column from the specified family with the specified qualifier.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * &lt;p&gt;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * Overrides previous calls to addFamily for this family.<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * @param family family name<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param qualifier column qualifier<a name="line.327"></a>
 <span class="sourceLineNo">328</span>   * @return this<a name="line.328"></a>
 <span class="sourceLineNo">329</span>   */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  public Scan addFamily(byte [] family) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    familyMap.remove(family);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    familyMap.put(family, null);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return this;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>  /**<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * Get the column from the specified family with the specified qualifier.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * &lt;p&gt;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * Overrides previous calls to addFamily for this family.<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param family family name<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param qualifier column qualifier<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @return this<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    if(set == null) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      set = new TreeSet&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      familyMap.put(family, set);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    }<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    if (qualifier == null) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    set.add(qualifier);<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return this;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  /**<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * Get versions of columns only within the specified timestamp range,<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * your time range spans more than one version and you want all versions<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * returned, up the number of versions beyond the default.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @see #setMaxVersions()<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @see #setMaxVersions(int)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @return this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    tr = new TimeRange(minStamp, maxStamp);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    return this;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * defaut.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param timestamp version timestamp<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @see #setMaxVersions()<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @see #setMaxVersions(int)<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   *             Use {@link #setTimestamp(long)} instead<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  @Deprecated<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  public Scan setTimeStamp(long timestamp)<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return this.setTimestamp(timestamp);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>  }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>  /**<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * defaut.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * @param timestamp version timestamp<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * @see #setMaxVersions()<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @see #setMaxVersions(int)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @return this<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   */<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  public Scan setTimestamp(long timestamp) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    try {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      tr = new TimeRange(timestamp, timestamp + 1);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    } catch(Exception e) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      throw e;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    return this;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  }<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>  @Override public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  }<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>  /**<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * Set the start row of the scan.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * &lt;p&gt;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   * specified row.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   * @param startRow row to start scanner at or after<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * @return this<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @deprecated use {@link #withStartRow(byte[])} instead. This method may change the inclusive of<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   *             the stop row to keep compatible with the old behavior.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   */<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  @Deprecated<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public Scan setStartRow(byte[] startRow) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    withStartRow(startRow);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    if (ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow)) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      this.includeStopRow = true;<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    return this;<a name="line.436"></a>
+<span class="sourceLineNo">330</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    if(set == null) {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      set = new TreeSet&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      familyMap.put(family, set);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    if (qualifier == null) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    set.add(qualifier);<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    return this;<a name="line.340"></a>
+<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">342</span><a name="line.342"></a>
+<span class="sourceLineNo">343</span>  /**<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * Get versions of columns only within the specified timestamp range,<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * your time range spans more than one version and you want all versions<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * returned, up the number of versions beyond the default.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @see #setMaxVersions()<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @see #setMaxVersions(int)<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @return this<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   */<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    tr = new TimeRange(minStamp, maxStamp);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    return this;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * defaut.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param timestamp version timestamp<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @see #setMaxVersions()<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @see #setMaxVersions(int)<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   *             Use {@link #setTimestamp(long)} instead<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   */<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  @Deprecated<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  public Scan setTimeStamp(long timestamp)<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  throws IOException {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    return this.setTimestamp(timestamp);<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  /**<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * defaut.<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param timestamp version timestamp<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @see #setMaxVersions()<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * @see #setMaxVersions(int)<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * @return this<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public Scan setTimestamp(long timestamp) {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    try {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      tr = new TimeRange(timestamp, timestamp + 1);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    } catch(Exception e) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      throw e;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>    return this;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  }<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>  @Override public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * Set the start row of the scan.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * &lt;p&gt;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * specified row.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * @param startRow row to start scanner at or after<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * @return this<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * @deprecated use {@link #withStartRow(byte[])} instead. This method may change the inclusive of<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   *             the stop row to keep compatible with the old behavior.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   */<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  @Deprecated<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  public Scan setStartRow(byte[] startRow) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    withStartRow(startRow);<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    if (ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow)) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      this.includeStopRow = true;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    return this;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * Set the start row of the scan.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * &lt;p&gt;<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * specified row.<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @param startRow row to start scanner at or after<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @return this<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   */<a name="line.434"></a>
+<span class="sourceLineNo">435</span>  public Scan withStartRow(byte[] startRow) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    return withStartRow(startRow, true);<a name="line.436"></a>
 <span class="sourceLineNo">437</span>  }<a name="line.437"></a>
 <span class="sourceLineNo">438</span><a name="line.438"></a>
 <span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
 <span class="sourceLineNo">440</span>   * Set the start row of the scan.<a name="line.440"></a>
 <span class="sourceLineNo">441</span>   * &lt;p&gt;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * specified row.<a name="line.443"></a>
+<span class="sourceLineNo">442</span>   * If the specified row does not exist, or the {@code inclusive} is {@code false}, the Scanner<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * will start from the next closest row after the specified row.<a name="line.443"></a>
 <span class="sourceLineNo">444</span>   * @param startRow row to start scanner at or after<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * @return this<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  public Scan withStartRow(byte[] startRow) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    return withStartRow(startRow, true);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * Set the start row of the scan.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * &lt;p&gt;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * If the specified row does not exist, or the {@code inclusive} is {@code false}, the Scanner<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * will start from the next closest row after the specified row.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * @param startRow row to start scanner at or after<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * @param inclusive whether we should include the start row when scan<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @return this<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  public Scan withStartRow(byte[] startRow, boolean inclusive) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    if (Bytes.len(startRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      throw new IllegalArgumentException("startRow's length must be less than or equal to "<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    this.startRow = startRow;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    this.includeStartRow = inclusive;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    return this;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  }<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Set the stop row of the scan.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * &lt;p&gt;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * &lt;p&gt;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * &lt;/p&gt;<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param stopRow row to end at (exclusive)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @return this<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @deprecated use {@link #withStopRow(byte[])} instead. This method may change the inclusive of<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   *             the stop row to keep compatible with the old behavior.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  @Deprecated<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  public Scan setStopRow(byte[] stopRow) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    withStopRow(stopRow);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    if (ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow)) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      this.includeStopRow = true;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    return this;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  }<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span>  /**<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   * Set the stop row of the scan.<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * &lt;p&gt;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * &lt;p&gt;<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * &lt;/p&gt;<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   * @param stopRow row to end at (exclusive)<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * @return this<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   */<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  public Scan withStopRow(byte[] stopRow) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return withStopRow(stopRow, false);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>  /**<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * Set the stop row of the scan.<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * &lt;p&gt;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * The scan will include rows that are lexicographically less than (or equal to if<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * {@code inclusive} is {@code true}) the provided stopRow.<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * @param stopRow row to end at<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * @param inclusive whether we should include the stop row when scan<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * @return this<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public Scan withStopRow(byte[] stopRow, boolean inclusive) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    if (Bytes.len(stopRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      throw new IllegalArgumentException("stopRow's length must be less than or equal to "<a name="line.529"></a>
-<span class="sourceLineNo">530</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    this.stopRow = stopRow;<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    this.includeStopRow = inclusive;<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    return this;<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  }<a name="line.535"></a>
-<span class="sourceLineNo">536</span><a name="line.536"></a>
-<span class="sourceLineNo">537</span>  /**<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.543"></a>
-<span class="sourceLineNo">544</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.545"></a>
-<span class="sourceLineNo">546</span>   * @return this<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   */<a name="line.547"></a>
-<span class="sourceLineNo">548</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    if (rowPrefix == null) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    } else {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.setStartRow(rowPrefix);<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    return this;<a name="line.556"></a>
-<span class="sourceLineNo">557</span>  }<a name="line.557"></a>
-<span class="sourceLineNo">558</span><a name="line.558"></a>
-<span class="sourceLineNo">559</span>  /**<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * simply increment the last byte of the array.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * prefix is something like:&lt;/p&gt;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * This method calculates the correct stop row value for this usecase.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   *<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   */<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    // Search for the place where the trailing 0xFFs start<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    int offset = rowKeyPrefix.length;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    while (offset &gt; 0) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        break;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      offset--;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    }<a name="line.585"></a>
+<span class="sourceLineNo">445</span>   * @param inclusive whether we should include the start row when scan<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @return this<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   */<a name="line.449"></a>
+<span class="sourceLineNo">450</span>  public Scan withStartRow(byte[] startRow, boolean inclusive) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    if (Bytes.len(startRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      throw new IllegalArgumentException("startRow's length must be less than or equal to "<a name="line.452"></a>
+<span class="sourceLineNo">453</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    this.startRow = startRow;<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    this.includeStartRow = inclusive;<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    return this;<a name="line.457"></a>
+<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>  /**<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   * Set the stop row of the scan.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   * &lt;p&gt;<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   * &lt;p&gt;<a name="line.464"></a>
+<span class="sourceLineNo">465</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.465"></a>
+<span class="sourceLineNo">466</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.466"></a>
+<span class="sourceLineNo">467</span>   * &lt;/p&gt;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * @param stopRow row to end at (exclusive)<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   * @return this<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @deprecated use {@link #withStopRow(byte[])} instead. This method may change the inclusive of<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   *             the stop row to keep compatible with the old behavior.<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   */<a name="line.474"></a>
+<span class="sourceLineNo">475</span>  @Deprecated<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  public Scan setStopRow(byte[] stopRow) {<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    withStopRow(stopRow);<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    if (ClientUtil.areScanStartRowAndStopRowEqual(this.startRow, this.stopRow)) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.479"></a>
+<span class="sourceLineNo">480</span>      this.includeStopRow = true;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    }<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    return this;<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  }<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  /**<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * Set the stop row of the scan.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   * &lt;p&gt;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * &lt;p&gt;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * &lt;/p&gt;<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * @param stopRow row to end at (exclusive)<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * @return this<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
+<span class="sourceLineNo">498</span>  public Scan withStopRow(byte[] stopRow) {<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    return withStopRow(stopRow, false);<a name="line.499"></a>
+<span class="sourceLineNo">500</span>  }<a name="line.500"></a>
+<span class="sourceLineNo">501</span><a name="line.501"></a>
+<span class="sourceLineNo">502</span>  /**<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * Set the stop row of the scan.<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * &lt;p&gt;<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * The scan will include rows that are lexicographically less than (or equal to if<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * {@code inclusive} is {@code true}) the provided stopRow.<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   * @param stopRow row to end at<a name="line.507"></a>
+<span class="sourceLineNo">508</span>   * @param inclusive whether we should include the stop row when scan<a name="line.508"></a>
+<span class="sourceLineNo">509</span>   * @return this<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
+<span class="sourceLineNo">513</span>  public Scan withStopRow(byte[] stopRow, boolean inclusive) {<a name="line.513"></a>
+<span class="sourceLineNo">514</span>    if (Bytes.len(stopRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.514"></a>
+<span class="sourceLineNo">515</span>      throw new IllegalArgumentException("stopRow's length must be less than or equal to "<a name="line.515"></a>
+<span class="sourceLineNo">516</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.516"></a>
+<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    this.stopRow = stopRow;<a name="line.518"></a>
+<span class="sourceLineNo">519</span>    this.includeStopRow = inclusive;<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    return this;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  /**<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.524"></a>
+<span class="sourceLineNo">525</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.527"></a>
+<span class="sourceLineNo">528</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.528"></a>
+<span class="sourceLineNo">529</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   * @return this<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   */<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    if (rowPrefix == null) {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.536"></a>
+<span class="sourceLineNo">537</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    } else {<a name="line.538"></a>
+<span class="sourceLineNo">539</span>      this.setStartRow(rowPrefix);<a name="line.539"></a>
+<span class="sourceLineNo">540</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    }<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    return this;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>  }<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span>  /**<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.546"></a>
+<span class="sourceLineNo">547</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * simply increment the last byte of the array.<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * prefix is something like:&lt;/p&gt;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   * This method calculates the correct stop row value for this usecase.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   *<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   */<a name="line.561"></a>
+<span class="sourceLineNo">562</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    // Search for the place where the trailing 0xFFs start<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    int offset = rowKeyPrefix.length;<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    while (offset &gt; 0) {<a name="line.566"></a>
+<span class="sourceLineNo">567</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.567"></a>
+<span class="sourceLineNo">568</span>        break;<a name="line.568"></a>
+<span class="sourceLineNo">569</span>      }<a name="line.569"></a>
+<span class="sourceLineNo">570</span>      offset--;<a name="line.570"></a>
+<span class="sourceLineNo">571</span>    }<a name="line.571"></a>
+<span class="sourceLineNo">572</span><a name="line.572"></a>
+<span class="sourceLineNo">573</span>    if (offset == 0) {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      // the last possible prefix before the end of the table.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      // So set it to stop at the 'end of the table'<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      return HConstants.EMPTY_END_ROW;<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
+<span class="sourceLineNo">579</span><a name="line.579"></a>
+<span class="sourceLineNo">580</span>    // Copy the right length of the original<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    // And increment the last one<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    newStopRow[newStopRow.length - 1]++;<a name="line.583"></a>
+<span class="sourceLineNo">584</span>    return newStopRow;<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  }<a name="line.585"></a>
 <span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>    if (offset == 0) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // the last possible prefix before the end of the table.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // So set it to stop at the 'end of the table'<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      return HConstants.EMPTY_END_ROW;<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    }<a name="line.592"></a>
-<span class="sourceLineNo">593</span><a name="line.593"></a>
-<span class="sourceLineNo">594</span>    // Copy the right length of the original<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    // And increment the last one<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    newStopRow[newStopRow.length - 1]++;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    return newStopRow;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * Get all available versions.<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * @return this<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * @deprecated It is easy to misunderstand with column family's max versions, so use<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *             {@link #readAllVersions()} instead.<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  @Deprecated<a name="line.607"></a>
-<span class="sourceLineNo">608</span>  public Scan setMaxVersions() {<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    return readAllVersions();<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>  /**<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * Get up to the specified number of versions of each column.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param maxVersions maximum versions for each column<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @return this<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @deprecated It is easy to misunderstand with column family's max versions, so use<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   *             {@link #readVersions(int)} instead.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   */<a name="line.618"></a>
-<span class="sourceLineNo">619</span>  @Deprecated<a name="line.619"></a>
-<span class="sourceLineNo">620</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    return readVersions(maxVersions);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>  /**<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   * Get all available versions.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   * @return this<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   */<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  public Scan readAllVersions() {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>    return this;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>  }<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>  /**<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * Get up to the specified number of versions of each column.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   * @param versions specified number of versions for each column<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @return this<a name="line.636"></a>
+<span class="sourceLineNo">587</span>  /**<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * Get all available versions.<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @return this<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   * @deprecated It is easy to misunderstand with column family's max versions, so use<a name="line.590"></a>
+<span class="sourceLineNo">591</span>   *             {@link #readAllVersions()} instead.<a name="line.591"></a>
+<span class="sourceLineNo">592</span>   */<a name="line.592"></a>
+<span class="sourceLineNo">593</span>  @Deprecated<a name="line.593"></a>
+<span class="sourceLineNo">594</span>  public Scan setMaxVersions() {<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    return readAllVersions();<a name="line.595"></a>
+<span class="sourceLineNo">596</span>  }<a name="line.596"></a>
+<span class="sourceLineNo">597</span><a name="line.597"></a>
+<span class="sourceLineNo">598</span>  /**<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   * Get up to the specified number of versions of each column.<a name="line.599"></a>
+<span class="sourceLineNo">600</span>   * @param maxVersions maximum versions for each column<a name="line.600"></a>
+<span class="sourceLineNo">601</span>   * @return this<a name="line.601"></a>
+<span class="sourceLineNo">602</span>   * @deprecated It is easy to misunderstand with column family's max versions, so use<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   *             {@link #readVersions(int)} instead.<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   */<a name="line.604"></a>
+<span class="sourceLineNo">605</span>  @Deprecated<a name="line.605"></a>
+<span class="sourceLineNo">606</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    return readVersions(maxVersions);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>  }<a name="line.608"></a>
+<span class="sourceLineNo">609</span><a name="line.609"></a>
+<span class="sourceLineNo">610</span>  /**<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * Get all available versions.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @return this<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
+<span class="sourceLineNo">614</span>  public Scan readAllVersions() {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    return this;<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  }<a name="line.617"></a>
+<span class="sourceLineNo">618</span><a name="line.618"></a>
+<span class="sourceLineNo">619</span>  /**<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   * Get up to the specified number of versions of each column.<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * @param versions specified number of versions for each column<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * @return this<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   */<a name="line.623"></a>
+<span class="sourceLineNo">624</span>  public Scan readVersions(int versions) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>    this.maxVersions = versions;<a name="line.625"></a>
+<span class="sourceLineNo">626</span>    return this;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>  }<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>  /**<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * Set the maximum number of cells to return for each call to next(). Callers should be aware<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   * that this is not equivalent to calling {@link #setAllowPartialResults(boolean)}.<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   * If you don't allow partial results, the number of cells in each Result must equal to your<a name="line.632"></a>
+<span class="sourceLineNo">633</span>   * batch setting unless it is the last Result for current row. So this method is helpful in paging<a name="line.633"></a>
+<span class="sourceLineNo">634</span>   * queries. If you just want to prevent OOM at client, use setAllowPartialResults(true) is better.<a name="line.634"></a>
+<span class="sourceLineNo">635</span>   * @param batch the maximum number of values<a name="line.635"></a>
+<span class="sourceLineNo">636</span>   * @see Result#mayHaveMoreCellsInRow()<a name="line.636"></a>
 <span class="sourceLineNo">637</span>   */<a name="line.637"></a>
-<span class="sourceLineNo">638</span>  public Scan readVersions(int versions) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    this.maxVersions = versions;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    return this;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  }<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>  /**<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * Set the maximum number of cells to return for each call to next(). Callers should be aware<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * that this is not equivalent to calling {@link #setAllowPartialResults(boolean)}.<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   * If you don't allow partial results, the number of cells in each Result must equal to your<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * batch setting unless it is the last Result for current row. So this method is helpful in paging<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   * queries. If you just want to prevent OOM at client, use setAllowPartialResults(true) is better.<a name="line.648"></a>
-<span class="sourceLineNo">649</span>   * @param batch the maximum number of values<a name="line.649"></a>
-<span class="sourceLineNo">650</span>   * @see Result#mayHaveMoreCellsInRow()<a name="line.650"></a>
+<span class="sourceLineNo">638</span>  public Scan setBatch(int batch) {<a name="line.638"></a>
+<span class="sourceLineNo">639</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.639"></a>
+<span class="sourceLineNo">640</span>      throw new IncompatibleFilterException(<a name="line.640"></a>
+<span class="sourceLineNo">641</span>        "Cannot set batch on a scan using a filter" +<a name="line.641"></a>
+<span class="sourceLineNo">642</span>        " that returns true for filter.hasFilterRow");<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    }<a name="line.643"></a>
+<span class="sourceLineNo">644</span>    this.batch = batch;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>    return this;<a name="line.645"></a>
+<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
+<span class="sourceLineNo">647</span><a name="line.647"></a>
+<span class="sourceLineNo">648</span>  /**<a name="line.648"></a>
+<span class="sourceLineNo">649</span>   * Set the maximum number of values to return per row per Column Family<a name="line.649"></a>
+<span class="sourceLineNo">650</span>   * @param limit the maximum number of values returned / row / CF<a name="line.650"></a>
 <span class="sourceLineNo">651</span>   */<a name="line.651"></a>
-<span class="sourceLineNo">652</span>  public Scan setBatch(int batch) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IncompatibleFilterException(<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        "Cannot set batch on a scan using a filter" +<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        " that returns true for filter.hasFilterRow");<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    }<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.batch = batch;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    return this;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  }<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  /**<a name="line.662"></a>
-<span class="sourceLineNo">663</span>   * Set the maximum number of values to return per row per Column Family<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   * @param limit the maximum number of values returned / row / CF<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   */<a name="line.665"></a>
-<span class="sourceLineNo">666</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    this.storeLimit = limit;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    return this;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>  }<a name="line.669"></a>
-<span class="sourceLineNo">670</span><a name="line.670"></a>
-<span class="sourceLineNo">671</span>  /**<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   * Set offset for the row per Column Family.<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * @param offset is the number of kvs that will be skipped.<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   */<a name="line.674"></a>
-<span class="sourceLineNo">675</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.storeOffset = offset;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    return this;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>  }<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>  /**<a name="line.680"></a>
-<span class="sourceLineNo">681</span>   * Set the number of rows for caching that will be passed to scanners.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * apply.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * @param caching the number of rows for caching<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   */<a name="line.686"></a>
-<span class="sourceLineNo">687</span>  public Scan setCaching(int caching) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    this.caching = caching;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    return this;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>  }<a name="line.690"></a>
-<span class="sourceLineNo">691</span><a name="line.691"></a>
-<span class="sourceLineNo">692</span>  /**<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * @return the maximum result size in bytes. See {@link #setMaxResultSize(long)}<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   */<a name="line.694"></a>
-<span class="sourceLineNo">695</span>  public long getMaxResultSize() {<a name="line.695"></a>
-<span class="sourceLineNo">696</span>    return maxResultSize;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  }<a name="line.697"></a>
-<span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span>  /**<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   * Set the maximum result size. The default is -1; this means that no specific<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   * maximum result size will be set for this scan, and the global configured<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   * value will be used instead. (Defaults to unlimited).<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   *<a name="line.703"></a>
-<span class="sourceLineNo">704</span>   * @param maxResultSize The maximum result size in bytes.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   */<a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public Scan setMaxResultSize(long maxResultSize) {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    this.maxResultSize = maxResultSize;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    return this;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>  }<a name="line.709"></a>
-<span class="sourceLineNo">710</span><a name="line.710"></a>
-<span class="sourceLineNo">711</span>  @Override<a name="line.711"></a>
-<span class="sourceLineNo">712</span>  public Scan setFilter(Filter filter) {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    super.setFilter(filter);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    return this;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * Setting the familyMap<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * @param familyMap map of family to qualifier<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * @return this<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   */<a name="line.721"></a>
-<span class="sourceLineNo">722</span>  public Scan setFamilyMap(Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    this.familyMap = familyMap;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    return this;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>  }<a name="line.725"></a>
-<span class="sourceLineNo">726</span><a name="line.726"></a>
-<span class="sourceLineNo">727</span>  /**<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   * Getting the familyMap<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @return familyMap<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   */<a name="line.730"></a>
-<span class="sourceLineNo">731</span>  public Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; getFamilyMap() {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    return this.familyMap;<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  }<a name="line.733"></a>
-<span class="sourceLineNo">734</span><a name="line.734"></a>
-<span class="sourceLineNo">735</span>  /**<a name="line.735"></a>
-<span class="sourceLineNo">736</span>   * @return the number of families in familyMap<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   */<a name="line.737"></a>
-<span class="sourceLineNo">738</span>  public int numFamilies() {<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    if(hasFamilies()) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>      return this.familyMap.size();<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    }<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    return 0;<a name="line.742"></a>
-<span class="sourceLineNo">743</span>  }<a name="line.743"></a>
-<span class="sourceLineNo">744</span><a name="line.744"></a>
-<span class="sourceLineNo">745</span>  /**<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * @return true if familyMap is non empty, false otherwise<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   */<a name="line.747"></a>
-<span class="sourceLineNo">748</span>  public boolean hasFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    return !this.familyMap.isEmpty();<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>  /**<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * @return the keys of the familyMap<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   */<a name="line.754"></a>
-<span class="sourceLineNo">755</span>  public byte[][] getFamilies() {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if(hasFamilies()) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.familyMap.keySet().toArray(new byte[0][0]);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    return null;<a name="line.759"></a>
+<span class="sourceLineNo">652</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.652"></a>
+<span class="sourceLineNo">653</span>    this.storeLimit = limit;<a name="line.653"></a>
+<span class="sourceLineNo">654</span>    return this;<a name="line.654"></a>
+<span class="sourceLineNo">655</span>  }<a name="line.655"></a>
+<span class="sourceLineNo">656</span><a name="line.656"></a>
+<span class="sourceLineNo">657</span>  /**<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   * Set offset for the row per Column Family.<a name="line.658"></a>
+<span class="sourceLineNo">659</span>   * @param offset is the number of kvs that will be skipped.<a name="line.659"></a>
+<span class="sourceLineNo">660</span>   */<a name="line.660"></a>
+<span class="sourceLineNo">661</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    this.storeOffset = offset;<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    return this;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>  }<a name="line.664"></a>
+<span class="sourceLineNo">665</span><a name="line.665"></a>
+<span class="sourceLineNo">666</span>  /**<a name="line.666"></a>
+<span class="sourceLineNo">667</span>   * Set the number of rows for caching that will be passed to scanners.<a name="line.667"></a>
+<span class="sourceLineNo">668</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.668"></a>
+<span class="sourceLineNo">669</span>   * apply.<a name="line.669"></a>
+<span class="sourceLineNo">670</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.670"></a>
+<span class="sourceLineNo">671</span>   * @param caching the number of rows for caching<a name="line.671"></a>
+<span class="sourceLineNo">672</span>   */<a name="line.672"></a>
+<span class="sourceLineNo">673</span>  public Scan setCaching(int caching) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    this.caching = caching;<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    return this;<a name="line.675"></a>
+<span class="sourceLineNo">676</span>  }<a name="line.676"></a>
+<span class="sourceLineNo">677</span><a name="line.677"></a>
+<span class="sourceLineNo">678</span>  /**<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   * @return the maximum result size in bytes. See {@link #setMaxResultSize(long)}<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   */<a name="line.680"></a>
+<span class="sourceLineNo">681</span>  public long getMaxResultSize() {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    return maxResultSize;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Set the maximum result size. The default is -1; this means that no specific<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * maximum result size will be set for this scan, and the global configured<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * value will be used instead. (Defaults to unlimited).<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   *<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * @param maxResultSize The maximum result size in bytes.<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   */<a name="line.691"></a>
+<span class="sourceLineNo">692</span>  public Scan setMaxResultSize(long maxResultSize) {<a name="line.692"></a>
+<span class="sourceLineNo">693</span>    this.maxResultSize = maxResultSize;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    return this;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>  }<a name="line.695"></a>
+<span class="sourceLineNo">696</span><a name="line.696"></a>
+<span class="sourceLineNo">697</span>  @Override<a name="line.697"></a>
+<span class="sourceLineNo">698</span>  public Scan setFilter(Filter filter) {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    super.setFilter(filter);<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    return this;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>  }<a name="line.701"></a>
+<span class="sourceLineNo">702</span><a name="line.702"></a>
+<span class="sourceLineNo">703</span>  /**<a name="line.703"></a>
+<span class="sourceLineNo">704</span>   * Setting the familyMap<a name="line.704"></a>
+<span class="sourceLineNo">705</span>   * @param familyMap map of family to qualifier<a name="line.705"></a>
+<span class="sourceLineNo">706</span>   * @return this<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   */<a name="line.707"></a>
+<span class="sourceLineNo">708</span>  public Scan setFamilyMap(Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>    this.familyMap = familyMap;<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    return this;<a name="line.710"></a>
+<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
+<span class="sourceLineNo">712</span><a name="line.712"></a>
+<span class="sourceLineNo">713</span>  /**<a name="line.713"></a>
+<span class="sourceLineNo">714</span>   * Getting the familyMap<a name="line.714"></a>
+<span class="sourceLineNo">715</span>   * @return familyMap<a name="line.715"></a>
+<span class="sourceLineNo">716</span>   */<a name="line.716"></a>
+<span class="sourceLineNo">717</span>  public Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; getFamilyMap() {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>    return this.familyMap;<a name="line.718"></a>
+<span class="sourceLineNo">719</span>  }<a name="line.719"></a>
+<span class="sourceLineNo">720</span><a name="line.720"></a>
+<span class="sourceLineNo">721</span>  /**<a name="line.721"></a>
+<span class="sourceLineNo">722</span>   * @return the number of families in familyMap<a name="line.722"></a>
+<span class="sourceLineNo">723</span>   */<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  public int numFamilies() {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    if(hasFamilies()) {<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      return this.familyMap.size();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    return 0;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<a name="line.729"></a>
+<span class="sourceLineNo">730</span><a name="line.730"></a>
+<span class="sourceLineNo">731</span>  /**<a name="line.731"></a>
+<span class="sourceLineNo">732</span>   * @return true if familyMap is non empty, false otherwise<a name="line.732"></a>
+<span class="sourceLineNo">733</span>   */<a name="line.733"></a>
+<span class="sourceLineNo">734</span>  public boolean hasFamilies() {<a name="line.734"></a>
+<span class="sourceLineNo">735</span>    return !this.familyMap.isEmpty();<a name="line.735"></a>
+<span class="sourceLineNo">736</span>  }<a name="line.736"></a>
+<span class="sourceLineNo">737</span><a name="line.737"></a>
+<span class="sourceLineNo">738</span>  /**<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   * @return the keys of the familyMap<a name="line.739"></a>
+<span class="sourceLineNo">740</span>   */<a name="line.740"></a>
+<span class="sourceLineNo">741</span>  public byte[][] getFamilies() {<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    if(hasFamilies()) {<a name="line.742"></a>
+<span class="sourceLineNo">743</span>      return this.familyMap.keySet().toArray(new byte[0][0]);<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    }<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    return null;<a name="line.745"></a>
+<span class="sourceLineNo">746</span>  }<a name="line.746"></a>
+<span class="sourceLineNo">747</span><a name="line.747"></a>
+<span class="sourceLineNo">748</span>  /**<a name="line.748"></a>
+<span class="sourceLineNo">749</span>   * @return the startrow<a name="line.749"></a>
+<span class="sourceLineNo">750</span>   */<a name="line.750"></a>
+<span class="sourceLineNo">751</span>  public byte [] getStartRow() {<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    return this.startRow;<a name="line.752"></a>
+<span class="sourceLineNo">753</span>  }<a name="line.753"></a>
+<span class="sourceLineNo">754</span><a name="line.754"></a>
+<span class="sourceLineNo">755</span>  /**<a name="line.755"></a>
+<span class="sourceLineNo">756</span>   * @return if we should include start row when scan<a name="line.756"></a>
+<span class="sourceLineNo">757</span>   */<a name="line.757"></a>
+<span class="sourceLineNo">758</span>  public boolean includeStartRow() {<a name="line.758"></a>
+<span class="sourceLineNo">759</span>    return includeStartRow;<a name="line.759"></a>
 <span class="sourceLineNo">760</span>  }<a name="line.760"></a>
 <span class="sourceLineNo">761</span><a name="line.761"></a>
 <span class="sourceLineNo">762</span>  /**<a name="line.762"></a>
-<span class="sourceLineNo">763</span>   * @return the startrow<a name="line.763"></a>
+<span class="sourceLineNo">763</span>   * @return the stoprow<a name="line.763"></a>
 <span class="sourceLineNo">764</span>   */<a name="line.764"></a>
-<span class="sourceLineNo">765</span>  public byte [] getStartRow() {<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    return this.startRow;<a name="line.766"></a>
+<span class="sourceLineNo">765</span>  public byte[] getStopRow() {<a name="line.765"></a>
+<span class="sourceLineNo">766</span>    return this.stopRow;<a name="line.766"></a>
 <span class="sourceLineNo">767</span>  }<a name="line.767"></a>
 <span class="sourceLineNo">768</span><a name="line.768"></a>
 <span class="sourceLineNo">769</span>  /**<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @return if we should include start row when scan<a name="line.770"></a>
+<span class="sourceLineNo">770</span>   * @return if we should include stop row when scan<a name="line.770"></a>
 <span class="sourceLineNo">771</span>   */<a name="line.771"></a>
-<span class="sourceLineNo">772</span>  public boolean includeStartRow() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    return includeStartRow;<a name="line.773"></a>
+<span class="sourceLineNo">772</span>  public boolean includeStopRow() {<a name="line.772"></a>
+<span class="sourceLineNo">773</span>    return includeStopRow;<a name="line.773"></a>
 <span class="sourceLineNo">774</span>  }<a name="line.774"></a>
 <span class="sourceLineNo">775</span><a name="line.775"></a>
 <span class="sourceLineNo">776</span>  /**<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   * @return the stoprow<a name="line.777"></a>
+<span class="sourceLineNo">777</span>   * @return the max number of versions to fetch<a name="line.777"></a>
 <span class="sourceLineNo">778</span>   */<a name="line.778"></a>
-<span class="sourceLineNo">779</span>  public byte[] getStopRow() {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    return this.stopRow;<a name="line.780"></a>
+<span class="sourceLineNo">779</span>  public int getMaxVersions() {<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    return this.maxVersions;<a name="line.780"></a>
 <span class="sourceLineNo">781</span>  }<a name="line.781"></a>
 <span class="sourceLineNo">782</span><a name="line.782"></a>
 <span class="sourceLineNo">783</span>  /**<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * @return if we should include stop row when scan<a name="line.784"></a>
+<span class="sourceLineNo">784</span>   * @return maximum number of values to return for a single call to next()<a name="line.784"></a>
 <span class="sourceLineNo">785</span>   */<a name="line.785"></a>
-<span class="sourceLineNo">786</span>  public boolean includeStopRow() {<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    return includeStopRow;<a name="line.787"></a>
+<span class="sourceLineNo">786</span>  public int getBatch() {<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    return this.batch;<a name="line.787"></a>
 <span class="sourceLineNo">788</span>  }<a name="line.788"></a>
 <span class="sourceLineNo">789</span><a name="line.789"></a>
 <span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * @return the max number of versions to fetch<a name="line.791"></a>
+<span class="sourceLineNo">791</span>   * @return maximum number of values to return per row per CF<a name="line.791"></a>
 <span class="sourceLineNo">792</span>   */<a name="line.792"></a>
-<span class="sourceLineNo">793</span>  public int getMaxVersions() {<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    return this.maxVersions;<a name="line.794"></a>
+<span class="sourceLineNo">793</span>  public int getMaxResultsPerColumnFamily() {<a name="line.793"></a>
+<span class="sourceLineNo">794</span>    return this.storeLimit;<a name="line.794"></a>
 <span class="sourceLineNo">795</span>  }<a name="line.795"></a>
 <span class="sourceLineNo">796</span><a name="line.796"></a>
 <span class="sourceLineNo">797</span>  /**<a name="line.797"></a>
-<span class="sourceLineNo">798</span>   * @return maximum number of values to return for a single call to next()<a name="line.798"></a>
-<span class="sourceLineNo">799</span>   */<a name="line.799"></a>
-<span class="sourceLineNo">800</span>  public int getBatch() {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    return this.batch;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>  }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>  /**<a name="line.804"></a>
-<span class="sourceLineNo">805</span>   * @return maximum number of values to return per row per CF<a name="line.805"></a>
-<span class="sourceLineNo">806</span>   */<a name="line.806"></a>
-<span class="sourceLineNo">807</span>  public int getMaxResultsPerColumnFamily() {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    return this.storeLimit;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>  }<a name="line.809"></a>
-<span class="sourceLineNo">810</span><a name="line.810"></a>
-<span class="sourceLineNo">811</span>  /**<a name="line.811"></a>
-<span class="sourceLineNo">812</span>   * Method for retrieving the scan's offset per row per column<a name="line.812"></a>
-<span class="sourceLineNo">813</span>   * family (#kvs to be skipped)<a name="line.813"></a>
-<span class="sourceLineNo">814</span>   * @return row offset<a name="line.814"></a>
+<span class="sourceLineNo">798</span>   * Method for retrieving the scan's offset per row per column<a name="line.798"></a>
+<span class="sourceLineNo">799</span>   * family (#kvs to be skipped)<a name="line.799"></a>
+<span class="sourceLineNo">800</span>   * @return row offset<a name="line.800"></a>
+<span class="sourceLineNo">801</span>   */<a name="line.801"></a>
+<span class="sourceLineNo">802</span>  public int getRowOffsetPerColumnFamily() {<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    return this.storeOffset;<a name="line.803"></a>
+<span class="sourceLineNo">804</span>  }<a name="line.804"></a>
+<span class="sourceLineNo">805</span><a name="line.805"></a>
+<span class="sourceLineNo">806</span>  /**<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   * @return caching the number of rows fetched when calling next on a scanner<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   */<a name="line.808"></a>
+<span class="sourceLineNo">809</span>  public int getCaching() {<a name="line.809"></a>
+<span class="sourceLineNo">810</span>    return this.caching;<a name="line.810"></a>
+<span class="sourceLineNo">811</span>  }<a name="line.811"></a>
+<span class="sourceLineNo">812</span><a name="line.812"></a>
+<span class="sourceLineNo">813</span>  /**<a name="line.813"></a>
+<span class="sourceLineNo">814</span>   * @return TimeRange<a name="line.814"></a>
 <span class="sourceLineNo">815</span>   */<a name="line.815"></a>
-<span class="sourceLineNo">816</span>  public int getRowOffsetPerColumnFamily() {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    return this.storeOffset;<a name="line.817"></a>
+<span class="sourceLineNo">816</span>  public TimeRange getTimeRange() {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>    return this.tr;<a name="line.817"></a>
 <span class="sourceLineNo">818</span>  }<a name="line.818"></a>
 <span class="sourceLineNo">819</span><a name="line.819"></a>
 <span class="sourceLineNo">820</span>  /**<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   * @return caching the number of rows fetched when calling next on a scanner<a name="line.821"></a>
+<span class="sourceLineNo">821</span>   * @return RowFilter<a name="line.821"></a>
 <span class="sourceLineNo">822</span>   */<a name="line.822"></a>
-<span class="sourceLineNo">823</span>  public int getCaching() {<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    return this.caching;<a name="line.824"></a>
-<span class="sourceLineNo">825</span>  }<a name="line.825"></a>
-<span class="sourceLineNo">826</span><a name="line.826"></a>
-<span class="sourceLineNo">827</span>  /**<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * @return TimeRange<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   */<a name="line.829"></a>
-<span class="sourceLineNo">830</span>  public TimeRange getTimeRange() {<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    return this.tr;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>  }<a name="line.832"></a>
-<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span>  /**<a name="line.834"></a>
-<span class="sourceLineNo">835</span>   * @return RowFilter<a name="line.835"></a>
-<span class="sourceLineNo">836</span>   */<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>  public Filter getFilter() {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    return filter;<a name="line.839"></a>
-<span class="sourceLineNo">840</span>  }<a name="line.840"></a>
-<span class="sourceLineNo">841</span><a name="line.841"></a>
-<span class="sourceLineNo">842</span>  /**<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @return true is a filter has been specified, false if not<a name="line.843"></a>
+<span class="sourceLineNo">823</span>  @Override<a name="line.823"></a>
+<span class="sourceLineNo">824</span>  public Filter getFilter() {<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    return filter;<a name="line.825"></a>
+<span class="sourceLineNo">826</span>  }<a name="line.826"></a>
+<span class="sourceLineNo">827</span><a name="line.827"></a>
+<span class="sourceLineNo">828</span>  /**<a name="line.828"></a>
+<span class="sourceLineNo">829</span>   * @return true is a filter has been specified, false if not<a name="line.829"></a>
+<span class="sourceLineNo">830</span>   */<a name="line.830"></a>
+<span class="sourceLineNo">831</span>  public boolean hasFilter() {<a name="line.831"></a>
+<span class="sourceLineNo">832</span>    return filter != null;<a name="line.832"></a>
+<span class="sourceLineNo">833</span>  }<a name="line.833"></a>
+<span class="sourceLineNo">834</span><a name="line.834"></a>
+<span class="sourceLineNo">835</span>  /**<a name="line.835"></a>
+<span class="sourceLineNo">836</span>   * Set whether blocks should be cached for this Scan.<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * &lt;p&gt;<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * This is true by default.  When true, default settings of the table and<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   * family are used (this will never override caching blocks if the block<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * cache is disabled for that family or entirely).<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   *<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * will not be cached<a name="line.843"></a>
 <span class="sourceLineNo">844</span>   */<a name="line.844"></a>
-<span class="sourceLineNo">845</span>  public boolean hasFilter() {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return filter != null;<a name="line.846"></a>
-<span class="sourceLineNo">847</span>  }<a name="line.847"></a>
-<span class="sourceLineNo">848</span><a name="line.848"></a>
-<span class="sourceLineNo">849</span>  /**<a name="line.849"></a>
-<span class="sourceLineNo">850</span>   * Set whether blocks should be cached for this Scan.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>   * &lt;p&gt;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>   * This is true by default.  When true, default settings of the table and<a name="line.852"></a>
-<span class="sourceLineNo">853</span>   * family are used (this will never override caching blocks if the block<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   * cache is disabled for that family or entirely).<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   *<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * will not be cached<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   */<a name="line.858"></a>
-<span class="sourceLineNo">859</span>  public Scan setCacheBlocks(boolean cacheBlocks) {<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    this.cacheBlocks = cacheBlocks;<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    return this;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>  }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>  /**<a name="line.864"></a>
-<span class="sourceLineNo">865</span>   * Get whether blocks should be cached for this Scan.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>   * @return true if default caching should be used, false if blocks should not<a name="line.866"></a>
-<span class="sourceLineNo">867</span>   * be cached<a name="line.867"></a>
-<span class="sourceLineNo">868</span>   */<a name="line.868"></a>
-<span class="sourceLineNo">869</span>  public boolean getCacheBlocks() {<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    return cacheBlocks;<a name="line.870"></a>
-<span class="sourceLineNo">871</span>  }<a name="line.871"></a>
-<span class="sourceLineNo">872</span><a name="line.872"></a>
-<span class="sourceLineNo">873</span>  /**<a name="line.873"></a>
-<span class="sourceLineNo">874</span>   * Set whether this scan is a reversed one<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * &lt;p&gt;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   * This is false by default which means forward(normal) scan.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>   *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   * @param reversed if true, scan will be backward order<a name="line.878"></a>
-<span class="sourceLineNo">879</span>   * @return this<a name="line.879"></a>
-<span class="sourceLineNo">880</span>   */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>  public Scan setReversed(boolean reversed) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    this.reversed = reversed;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    return this;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>  }<a name="line.884"></a>
-<span class="sourceLineNo">885</span><a name="line.885"></a>
-<span class="sourceLineNo">886</span>  /**<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * Get whether this scan is a reversed one.<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @return true if backward scan, false if forward(default) scan<a name="line.888"></a>
+<span class="sourceLineNo">845</span>  public Scan setCacheBlocks(boolean cacheBlocks) {<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    this.cacheBlocks = cacheBlocks;<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    return this;<a name="line.847"></a>
+<span class="sourceLineNo">848</span>  }<a name="line.848"></a>
+<span class="sourceLineNo">849</span><a name="line.849"></a>
+<span class="sourceLineNo">850</span>  /**<a name="line.850"></a>
+<span class="sourceLineNo">851</span>   * Get whether blocks should be cached for this Scan.<a name="line.851"></a>
+<span class="sourceLineNo">852</span>   * @return true if default caching should be used, false if blocks should not<a name="line.852"></a>
+<span class="sourceLineNo">853</span>   * be cached<a name="line.853"></a>
+<span class="sourceLineNo">854</span>   */<a name="line.854"></a>
+<span class="sourceLineNo">855</span>  public boolean getCacheBlocks() {<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    return cacheBlocks;<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span>   * Set whether this scan is a reversed one<a name="line.860"></a>
+<span class="sourceLineNo">861</span>   * &lt;p&gt;<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   * This is false by default which means forward(normal) scan.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>   *<a name="line.863"></a>
+<span class="sourceLineNo">864</span>   * @param reversed if true, scan will be backward order<a name="line.864"></a>
+<span class="sourceLineNo">865</span>   * @return this<a name="line.865"></a>
+<span class="sourceLineNo">866</span>   */<a name="line.866"></a>
+<span class="sourceLineNo">867</span>  public Scan setReversed(boolean reversed) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    this.reversed = reversed;<a name="line.868"></a>
+<span class="sourceLineNo">869</span>    return this;<a name="line.869"></a>
+<span class="sourceLineNo">870</span>  }<a name="line.870"></a>
+<span class="sourceLineNo">871</span><a name="line.871"></a>
+<span class="sourceLineNo">872</span>  /**<a name="line.872"></a>
+<span class="sourceLineNo">873</span>   * Get whether this scan is a reversed one.<a name="line.873"></a>
+<span class="sourceLineNo">874</span>   * @return true if backward scan, false if forward(default) scan<a name="line.874"></a>
+<span class="sourceLineNo">875</span>   */<a name="line.875"></a>
+<span class="sourceLineNo">876</span>  public boolean isReversed() {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>    return reversed;<a name="line.877"></a>
+<span class="sourceLineNo">878</span>  }<a name="line.878"></a>
+<span class="sourceLineNo">879</span><a name="line.879"></a>
+<span class="sourceLineNo">880</span>  /**<a name="line.880"></a>
+<span class="sourceLineNo">881</span>   * Setting whether the caller wants to see the partial results when server returns<a name="line.881"></a>
+<span class="sourceLineNo">882</span>   * less-than-expected cells. It is helpful while scanning a huge row to prevent OOM at client.<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   * By default this value is false and the complete results will be assembled client side<a name="line.883"></a>
+<span class="sourceLineNo">884</span>   * before being delivered to the caller.<a name="line.884"></a>
+<span class="sourceLineNo">885</span>   * @param allowPartialResults<a name="line.885"></a>
+<span class="sourceLineNo">886</span>   * @return this<a name="line.886"></a>
+<span class="sourceLineNo">887</span>   * @see Result#mayHaveMoreCellsInRow()<a name="line.887"></a>
+<span class="sourceLineNo">888</span>   * @see #setBatch(int)<a name="line.888"></a>
 <span class="sourceLineNo">889</span>   */<a name="line.889"></a>
-<span class="sourceLineNo">890</span>  public boolean isReversed() {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    return reversed;<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  /**<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * Setting whether the caller wants to see the partial results when server returns<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * less-than-expected cells. It is helpful while scanning a huge row to prevent OOM at client.<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   * By default this value is false and the complete results will be assembled client side<a name="line.897"></a>
-<span class="sourceLineNo">898</span>   * before being delivered to the caller.<a name="line.898"></a>
-<span class="sourceLineNo">899</span>   * @param allowPartialResults<a name="line.899"></a>
-<span class="sourceLineNo">900</span>   * @return this<a name="line.900"></a>
-<span class="sourceLineNo">901</span>   * @see Result#mayHaveMoreCellsInRow()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>   * @see #setBatch(int)<a name="line.902"></a>
-<span class="sourceLineNo">903</span>   */<a name="line.903"></a>
-<span class="sourceLineNo">904</span>  public Scan setAllowPartialResults(final boolean allowPartialResults) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>    this.allowPartialResults = allowPartialResults;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    return this;<a name="line.906"></a>
+<span class="sourceLineNo">890</span>  public Scan setAllowPartialResults(final boolean allowPartialResults) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span>    this.allowPartialResults = allowPartialResults;<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    return this;<a name="line.892"></a>
+<span class="sourceLineNo">893</span>  }<a name="line.893"></a>
+<span class="sourceLineNo">894</span><a name="line.894"></a>
+<span class="sourceLineNo">895</span>  /**<a name="line.895"></a>
+<span class="sourceLineNo">896</span>   * @return true when the constructor of this scan understands that the results they will see may<a name="line.896"></a>
+<span class="sourceLineNo">897</span>   *         only represent a partial portion of a row. The entire row would be retrieved by<a name="line.897"></a>
+<span class="sourceLineNo">898</span>   *         subsequent calls to {@link ResultScanner#next()}<a name="line.898"></a>
+<span class="sourceLineNo">899</span>   */<a name="line.899"></a>
+<span class="sourceLineNo">900</span>  public boolean getAllowPartialResults() {<a name="line.900"></a>
+<span class="sourceLineNo">901</span>    return allowPartialResults;<a name="line.901"></a>
+<span class="sourceLineNo">902</span>  }<a name="line.902"></a>
+<span class="sourceLineNo">903</span><a name="line.903"></a>
+<span class="sourceLineNo">904</span>  @Override<a name="line.904"></a>
+<span class="sourceLineNo">905</span>  public Scan setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.905"></a>
+<span class="sourceLineNo">906</span>    return (Scan) super.setLoadColumnFamiliesOnDemand(value);<a name="line.906"></a>
 <span class="sourceLineNo">907</span>  }<a name="line.907"></a>
 <span class="sourceLineNo">908</span><a name="line.908"></a>
 <span class="sourceLineNo">909</span>  /**<a name="line.909"></a>
-<span class="sourceLineNo">910</span>   * @return true when the constructor of this scan understands that the results they will see may<a name="line.910"></a>
-<span class="sourceLineNo">911</span>   *         only represent a partial portion of a row. The entire row would be retrieved by<a name="line.911"></a>
-<span class="sourceLineNo">912</span>   *         subsequent calls to {@link ResultScanner#next()}<a name="line.912"></a>
-<span class="sourceLineNo">913</span>   */<a name="line.913"></a>
-<span class="sourceLineNo">914</span>  public boolean getAllowPartialResults() {<a name="line.914"></a>
-<span class="sourceLineNo">915</span>    return allowPartialResults;<a name="line.915"></a>
-<span class="sourceLineNo">916</span>  }<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>  @Override<a name="line.918"></a>
-<span class="sourceLineNo">919</span>  public Scan setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    return (Scan) super.setLoadColumnFamiliesOnDemand(value);<a name="line.920"></a>
-<span class="sourceLineNo">921</span>  }<a name="line.921"></a>
-<span class="sourceLineNo">922</span><a name="line.922"></a>
-<span class="sourceLineNo">923</span>  /**<a name="line.923"></a>
-<span class="sourceLineNo">924</span>   * Compile the table and column family (i.e. schema) information<a name="line.924"></a>
-<span class="sourceLineNo">925</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.925"></a>
-<span class="sourceLineNo">926</span>   * logging, and administration tools.<a name="line.926"></a>
-<span class="sourceLineNo">927</span>   * @return Map<a name="line.927"></a>
-<span class="sourceLineNo">928</span>   */<a name="line.928"></a>
-<span class="sourceLineNo">929</span>  @Override<a name="line.929"></a>
-<span class="sourceLineNo">930</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>    Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();<a name="line.931"></a>
-<span class="sourceLineNo">932</span>    List&lt;String&gt; families = new ArrayList&lt;&gt;();<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    if(this.familyMap.isEmpty()) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>      map.put("families", "ALL");<a name="line.934"></a>
-<span class="sourceLineNo">935</span>      return map;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    } else {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      map.put("families", families);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.939"></a>
-<span class="sourceLineNo">940</span>        this.familyMap.entrySet()) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    return map;<a name="line.943"></a>
-<span class="sourceLineNo">944</span>  }<a name="line.944"></a>
-<span class="sourceLineNo">945</span><a name="line.945"></a>
-<span class="sourceLineNo">946</span>  /**<a name="line.946"></a>
-<span class="sourceLineNo">947</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.947"></a>
-<span class="sourceLineNo">948</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.948"></a>
-<span class="sourceLineNo">949</span>   * Useful for debugging, logging, and administration tools.<a name="line.949"></a>
-<span class="sourceLineNo">950</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.950"></a>
-<span class="sourceLineNo">951</span>   * @return Map<a name="line.951"></a>
-<span class="sourceLineNo">952</span>   */<a name="line.952"></a>
-<span class="sourceLineNo">953</span>  @Override<a name="line.953"></a>
-<span class="sourceLineNo">954</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    // start with the fingerpring map and build on top of it<a name="line.955"></a>
-<span class="sourceLineNo">956</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.956"></a>
-<span class="sourceLineNo">957</span>    // map from families to column list replaces fingerprint's list of families<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    Map&lt;String, List&lt;String&gt;&gt; familyColumns = new HashMap&lt;&gt;();<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    map.put("families", familyColumns);<a name="line.959"></a>
-<span class="sourceLineNo">960</span>    // add scalar information first<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    map.put("startRow", Bytes.toStringBinary(this.startRow));<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    map.put("stopRow", Bytes.toStringBinary(this.stopRow));<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    map.put("maxVersions", this.maxVersions);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    map.put("batch", this.batch);<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    map.put("caching", this.caching);<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    map.put("maxResultSize", this.maxResultSize);<a name="line.966"></a>
-<span class="sourceLineNo">967</span>    map.put("cacheBlocks", this.cacheBlocks);<a name="line.967"></a>
-<span class="sourceLineNo">968</span>    map.put("loadColumnFamiliesOnDemand", this.loadColumnFamiliesOnDemand);<a name="line.968"></a>
-<span class="sourceLineNo">969</span>    List&lt;Long&gt; timeRange = new ArrayList&lt;&gt;(2);<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    timeRange.add(this.tr.getMin());<a name="line.970"></a>
-<span class="sourceLineNo">971</span>    timeRange.add(this.tr.getMax());<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    map.put("timeRange", timeRange);<a name="line.972"></a>
-<span class="sourceLineNo">973</span>    int colCount = 0;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    // iterate through affected families and list out up to maxCols columns<a name="line.974"></a>
-<span class="sourceLineNo">975</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      this.familyMap.entrySet()) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      List&lt;String&gt; columns = new ArrayList&lt;&gt;();<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      familyColumns.put(Bytes.toStringBinary(entry.getKey()), columns);<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      if(entry.getValue() == null) {<a name="line.979"></a>
-<span class="sourceLineNo">980</span>        colCount++;<a name="line.980"></a>
-<span class="sourceLineNo">981</span>        --maxCols;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>        columns.add("ALL");<a name="line.982"></a>
-<span class="sourceLineNo">983</span>      } else {<a name="line.983"></a>
-<span class="sourceLineNo">984</span>        colCount += entry.getValue().size();<a name="line.984"></a>
-<span class="sourceLineNo">985</span>        if (maxCols &lt;= 0) {<a name="line.985"></a>
-<span class="sourceLineNo">986</span>          continue;<a name="line.986"></a>
-<span class="sourceLineNo">987</span>        }<a name="line.987"></a>
-<span class="sourceLineNo">988</span>        for (byte [] column : entry.getValue()) {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>          if (--maxCols &lt;= 0) {<a name="line.989"></a>
-<span class="sourceLineNo">990</span>            continue;<a name="line.990"></a>
-<span class="sourceLineNo">991</span>          }<a name="line.991"></a>
-<span class="sourceLineNo">992</span>          columns.add(Bytes.toStringBinary(column));<a name="line.992"></a>
-<span class="sourceLineNo">993</span>        }<a name="line.993"></a>
-<span class="sourceLineNo">994</span>      }<a name="line.994"></a>
-<span class="sourceLineNo">995</span>    }<a name="line.995"></a>
-<span class="sourceLineNo">996</span>    map.put("totalColumns", colCount);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    if (this.filter != null) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span>      map.put("filter", this.filter.toString());<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // add the id if set<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    if (getId() != null) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>      map.put("id", getId());<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>    }<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    return map;<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>  }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>  /**<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>   * Enable/disable "raw" mode for this scan.<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * If "raw" is enabled the scan will return all<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   * delete marker and deleted rows that have not<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>   * been collected, yet.<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>   * This is mostly useful for Scan on column families<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>   * that have KEEP_DELETED_ROWS enabled.<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>   * It is an error to specify any column when "raw" is set.<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>   * @param raw True/False to enable/disable "raw" mode.<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   */<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>  public Scan setRaw(boolean raw) {<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    setAttribute(RAW_ATTR, Bytes.toBytes(raw));<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    return this;<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>  }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span><a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>  /**<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>   * @return True if this Scan is in "raw" mode.<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>   */<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>  public boolean isRaw() {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    byte[] attr = getAttribute(RAW_ATTR);<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>  }<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span><a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>  /**<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>   * Set whether this scan is a small scan<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>   * &lt;p&gt;<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>   * Small scan should use pread and big scan can use seek + read seek + read is fast but can cause<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>   * two problem (1) resource contention (2) cause too much network io [89-fb] Using pread for<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>   * non-compaction read request https://issues.apache.org/jira/browse/HBASE-7266 On the other hand,<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>   * if setting it true, we would do openScanner,next,closeScanner in one RPC call. It means the<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * better performance for small scan. [HBASE-9488]. Generally, if the scan range is within one<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * data block(64KB), it could be considered as a small scan.<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param small<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @deprecated since 2.0.0. Use {@link #setLimit(int)} and {@link #setReadType(ReadType)} instead.<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   *             And for the one rpc optimization, now we will also fetch data when openScanner, and<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   *             if the number of rows reaches the limit then we will close the scanner<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   *             automatically which means we will fall back to one rpc.<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>   * @see #setLimit(int)<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>   * @see #setReadType(ReadType)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>   */<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  @Deprecated<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  public Scan setSmall(boolean small) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    this.small = small;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    this.readType = ReadType.PREAD;<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    return this;<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>  }<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span><a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>  /**<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Get whether this scan is a small scan<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return true if small scan<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @deprecated since 2.0.0. See the comment of {@link #setSmall(boolean)}<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  @Deprecated<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>  public boolean isSmall() {<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    return small;<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>  }<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span><a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>  @Override<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>  public Scan setAttribute(String name, byte[] value) {<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    return (Scan) super.setAttribute(name, value);<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>  }<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span><a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>  @Override<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>  public Scan setId(String id) {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    return (Scan) super.setId(id);<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>  }<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span><a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>  @Override<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>  public Scan setAuthorizations(Authorizations authorizations) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    return (Scan) super.setAuthorizations(authorizations);<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>  }<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span><a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>  @Override<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>  public Scan setACL(Map&lt;String, Permission&gt; perms) {<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>    return (Scan) super.setACL(perms);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>  }<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>  @Override<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public Scan setACL(String user, Permission perms) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    return (Scan) super.setACL(user, perms);<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>  }<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span><a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>  @Override<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  public Scan setConsistency(Consistency consistency) {<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>    return (Scan) super.setConsistency(consistency);<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  }<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span><a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>  @Override<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  public Scan setReplicaId(int Id) {<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>    return (Scan) super.setReplicaId(Id);<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>  }<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span><a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>  @Override<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>  public Scan setIsolationLevel(IsolationLevel level) {<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>    return (Scan) super.setIsolationLevel(level);<a name="line.1101"></a>
+<span class="sourceLineNo">910</span>   * Compile the table and column family (i.e. schema) information<a name="line.910"></a>
+<span class="sourceLineNo">911</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.911"></a>
+<span class="sourceLineNo">912</span>   * logging, and administration tools.<a name="line.912"></a>
+<span class="sourceLineNo">913</span>   * @return Map<a name="line.913"></a>
+<span class="sourceLineNo">914</span>   */<a name="line.914"></a>
+<span class="sourceLineNo">915</span>  @Override<a name="line.915"></a>
+<span class="sourceLineNo">916</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.916"></a>
+<span class="sourceLineNo">917</span>    Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();<a name="line.917"></a>
+<span class="sourceLineNo">918</span>    List&lt;String&gt; families = new ArrayList&lt;&gt;();<a name="line.918"></a>
+<span class="sourceLineNo">919</span>    if(this.familyMap.isEmpty()) {<a name="line.919"></a>
+<span class="sourceLineNo">920</span>      map.put("families", "ALL");<a name="line.920"></a>
+<span class="sourceLineNo">921</span>      return map;<a name="line.921"></a>
+<span class="sourceLineNo">922</span>    } else {<a name="line.922"></a>
+<span class="sourceLineNo">923</span>      map.put("families", families);<a name="line.923"></a>
+<span class="sourceLineNo">924</span>    }<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.925"></a>
+<span class="sourceLineNo">926</span>        this.familyMap.entrySet()) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.927"></a>
+<span class="sourceLineNo">928</span>    }<a name="line.928"></a>
+<span class="sourceLineNo">929</span>    return map;<a name="line.929"></a>
+<span class="sourceLineNo">930</span>  }<a name="line.930"></a>
+<span class="sourceLineNo">931</span><a name="line.931"></a>
+<span class="sourceLineNo">932</span>  /**<a name="line.932"></a>
+<span class="sourceLineNo">933</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.933"></a>
+<span class="sourceLineNo">934</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.934"></a>
+<span class="sourceLineNo">935</span>   * Useful for debugging, logging, and administration tools.<a name="line.935"></a>
+<span class="sourceLineNo">936</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.936"></a>
+<span class="sourceLineNo">937</span>   * @return Map<a name="line.937"></a>
+<span class="sourceLineNo">938</span>   */<a name="line.938"></a>
+<span class="sourceLineNo">939</span>  @Override<a name="line.939"></a>
+<span class="sourceLineNo">940</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.940"></a>
+<span class="sourceLineNo">941</span>    // start with the fingerpring map and build on top of it<a name="line.941"></a>
+<span class="sourceLineNo">942</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.942"></a>
+<span class="sourceLineNo">943</span>    // map from families to column list replaces fingerprint's list of families<a name="line.943"></a>
+<span class="sourceLineNo">944</span>    Map&lt;String, List&lt;String&gt;&gt; familyColumns = new HashMap&lt;&gt;();<a name="line.944"></a>
+<span class="sourceLineNo">945</span>    map.put("families", familyColumns);<a name="line.945"></a>
+<span class="sourceLineNo">946</span>    // add scalar information first<a name="line.946"></a>
+<span class="sourceLineNo">947</span>    map.put("startRow", Bytes.toStringBinary(this.startRow));<a name="line.947"></a>
+<span class="sourceLineNo">948</span>    map.put("stopRow", Bytes.toStringBinary(this.stopRow));<a name="line.948"></a>
+<span class="sourceLineNo">949</span>    map.put("maxVersions", this.maxVersions);<a name="line.949"></a>
+<span class="sourceLineNo">950</span>    map.put("batch", this.batch);<a name="line.950"></a>
+<span class="sourceLineNo">951</span>    map.put("caching", this.caching);<a name="line.951"></a>
+<span class="sourceLineNo">952</span>    map.put("maxResultSize", this.maxResultSize);<a name="line.952"></a>
+<span class="sourceLineNo">953</span>    map.put("cacheBlocks", this.cacheBlocks);<a name="line.953"></a>
+<span class="sourceLineNo">954</span>    map.put("loadColumnFamiliesOnDemand", this.loadColumnFamiliesOnDemand);<a name="line.954"></a>
+<span class="sourceLineNo">955</span>    List&lt;Long&gt; timeRange = new ArrayList&lt;&gt;(2);<a name="line.955"></a>
+<span class="sourceLineNo">956</span>    timeRange.add(this.tr.getMin());<a name="line.956"></a>
+<span class="sourceLineNo">957</span>    timeRange.add(this.tr.getMax());<a name="line.957"></a>
+<span class="sourceLineNo">958</span>    map.put("timeRange", timeRange);<a name="line.958"></a>
+<span class="sourceLineNo">959</span>    int colCount = 0;<a name="line.959"></a>
+<span class="sourceLineNo">960</span>    // iterate through affected families and list out up to maxCols columns<a name="line.960"></a>
+<span class="sourceLineNo">961</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.961"></a>
+<span class="sourceLineNo">962</span>      this.familyMap.entrySet()) {<a name="line.962"></a>
+<span class="sourceLineNo">963</span>      List&lt;String&gt; columns = new ArrayList&lt;&gt;();<a name="line.963"></a>
+<span class="sourceLineNo">964</span>      familyColumns.put(Bytes.toStringBinary(entry.getKey()), columns);<a name="line.964"></a>
+<span class="sourceLineNo">965</span>      if(entry.getValue() == null) {<a name="line.965"></a>
+<span class="sourceLineNo">966</span>        colCount++;<a name="line.966"></a>
+<span class="sourceLineNo">967</span>        --maxCols;<a name="line.967"></a>
+<span class="sourceLineNo">968</span>        columns.add("ALL");<a name="line.968"></a>
+<span class="sourceLineNo">969</span>      } else {<a name="line.969"></a>
+<span class="sourceLineNo">970</span>        colCount += entry.getValue().size();<a name="line.970"></a>
+<span class="sourceLineNo">971</span>        if (maxCols &lt;= 0) {<a name="line.971"></a>
+<span class="sourceLineNo">972</span>          continue;<a name="line.972"></a>
+<span class="sourceLineNo">973</span>        }<a name="line.973"></a>
+<span class="sourceLineNo">974</span>        for (byte [] column : entry.getValue()) {<a name="line.974"></a>
+<span class="sourceLineNo">975</span>          if (--maxCols &lt;= 0) {<a name="line.975"></a>
+<span class="sourceLineNo">976</span>            continue;<a name="line.976"></a>
+<span class="sourceLineNo">977</span>          }<a name="line.977"></a>
+<span class="sourceLineNo">978</span>          columns.add(Bytes.toStringBinary(column));<a name="line.978"></a>
+<span class="sourceLineNo">979</span>        }<a name="line.979"></a>
+<span class="sourceLineNo">980</span>      }<a name="line.980"></a>
+<span class="sourceLineNo">981</span>    }<a name="line.981"></a>
+<span class="sourceLineNo">982</span>    map.put("totalColumns", colCount);<a name="line.982"></a>
+<span class="sourceLineNo">983</span>    if (this.filter != null) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span>      map.put("filter", this.filter.toString());<a name="line.984"></a>
+<span class="sourceLineNo">985</span>    }<a name="line.985"></a>
+<span class="sourceLineNo">986</span>    // add the id if set<a name="line.986"></a>
+<span class="sourceLineNo">987</span>    if (getId() != null) {<a name="line.987"></a>
+<span class="sourceLineNo">988</span>      map.put("id", getId());<a name="line.988"></a>
+<span class="sourceLineNo">989</span>    }<a name="line.989"></a>
+<span class="sourceLineNo">990</span>    return map;<a name="line.990"></a>
+<span class="sourceLineNo">991</span>  }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span>  /**<a name="line.993"></a>
+<span class="sourceLineNo">994</span>   * Enable/disable "raw" mode for this scan.<a name="line.994"></a>
+<span class="sourceLineNo">995</span>   * If "raw" is enabled the scan will return all<a name="line.995"></a>
+<span class="sourceLineNo">996</span>   * delete marker and deleted rows that have not<a name="line.996"></a>
+<span class="sourceLineNo">997</span>   * been collected, yet.<a name="line.997"></a>
+<span class="sourceLineNo">998</span>   * This is mostly useful for Scan on column families<a name="line.998"></a>
+<span class="sourceLineNo">999</span>   * that have KEEP_DELETED_ROWS enabled.<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>   * It is an error to specify any column when "raw" is set.<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>   * @param raw True/False to enable/disable "raw" mode.<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>   */<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>  public Scan setRaw(boolean raw) {<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>    setAttribute(RAW_ATTR, Bytes.toBytes(raw));<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>    return this;<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span><a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>   * @return True if this Scan is in "raw" mode.<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>  public boolean isRaw() {<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>    byte[] attr = getAttribute(RAW_ATTR);<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>  }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>  /**<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>   * Set whether this scan is a small scan<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>   * &lt;p&gt;<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>   * Small scan should use pread and big scan can use seek + read seek + read is fast but can cause<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>   * two problem (1) resource contention (2) cause too much network io [89-fb] Using pread for<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>   * non-compaction read request https://issues.apache.org/jira/browse/HBASE-7266 On the other hand,<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>   * if setting it true, we would do openScanner,next,closeScanner in one RPC call. It means the<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>   * better performance for small scan. [HBASE-9488]. Generally, if the scan range is within one<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>   * data block(64KB), it could be considered as a small scan.<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>   * @param small<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>   * @deprecated since 2.0.0. Use {@link #setLimit(int)} and {@link #setReadType(ReadType)} instead.<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>   *             And for the one rpc optimization, now we will also fetch data when openScanner, and<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>   *             if the number of rows reaches the limit then we will close the scanner<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>   *             automatically which means we will fall back to one rpc.<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>   * @see #setLimit(int)<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>   * @see #setReadType(ReadType)<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>   */<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>  @Deprecated<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>  public Scan setSmall(boolean small) {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>    this.small = small;<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>    this.readType = ReadType.PREAD;<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>    return this;<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>  }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>  /**<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>   * Get whether this scan is a small scan<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>   * @return true if small scan<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>   * @deprecated since 2.0.0. See the comment of {@link #setSmall(boolean)}<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>   */<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>  @Deprecated<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>  public boolean isSmall() {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>    return small;<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span><a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>  @Override<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  public Scan setAttribute(String name, byte[] value) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>    return (Scan) super.setAttribute(name, value);<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>  }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span><a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>  @Override<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>  public Scan setId(String id) {<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>    return (Scan) super.setId(id);<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>  }<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span><a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>  @Override<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>  public Scan setAuthorizations(Authorizations authorizations) {<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>    return (Scan) super.setAuthorizations(authorizations);<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>  }<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span><a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>  @Override<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>  public Scan setACL(Map&lt;String, Permission&gt; perms) {<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>    return (Scan) super.setACL(perms);<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>  }<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span><a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>  @Override<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>  public Scan setACL(String user, Permission perms) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>    return (Scan) super.setACL(user, perms);<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>  }<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span><a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>  @Override<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>  public Scan setConsistency(Consistency consistency) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>    return (Scan) super.setConsistency(consistency);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>  }<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span><a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>  @Override<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>  public Scan setReplicaId(int Id) {<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>    return (Scan) super.setReplicaId(Id);<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  }<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span><a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  @Override<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>  public Scan setIsolationLevel(IsolationLevel level) {<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>    return (Scan) super.setIsolationLevel(level);<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>  }<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span><a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  @Override<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>  public Scan setPriority(int priority) {<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>    return (Scan) super.setPriority(priority);<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>  }<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span><a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>  /**<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>   * Enable collection of {@link ScanMetrics}. For advanced users.<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   * @param enabled Set to true to enable accumulating scan metrics<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>   */<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>  public Scan setScanMetricsEnabled(final boolean enabled) {<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>    setAttribute(Scan.SCAN_ATTRIBUTES_METRICS_ENABLE, Bytes.toBytes(Boolean.valueOf(enabled)));<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    return this;<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>  }<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span><a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>  @Override<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  public Scan setPriority(int priority) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>    return (Scan) super.setPriority(priority);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>  }<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span><a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>  /**<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>   * Enable collection of {@link ScanMetrics}. For advanced users.<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>   * @param enabled Set to true to enable accumulating scan metrics<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>   */<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  public Scan setScanMetricsEnabled(final boolean enabled) {<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>    setAttribute(Scan.SCAN_ATTRIBUTES_METRICS_ENABLE, Bytes.toBytes(Boolean.valueOf(enabled)));<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>    return this;<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  }<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span><a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>  /**<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>   * @return True if collection of scan metrics is enabled. For advanced users.<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>   */<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public boolean isScanMetricsEnabled() {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    byte[] attr = getAttribute(Scan.SCAN_ATTRIBUTES_METRICS_ENABLE);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  }<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span><a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  /**<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>   * @return Metrics on this Scan, if metrics were enabled.<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>   * @see #setScanMetricsEnabled(boolean)<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>   * @deprecated Use {@link ResultScanner#getScanMetrics()} instead. And notice that, please do not<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>   *             use this method and {@link ResultScanner#getScanMetrics()} together, the metrics<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>   *             will be messed up.<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>   */<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  @Deprecated<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>  public ScanMetrics getScanMetrics() {<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>    byte[] bytes = getAttribute(Scan.SCAN_ATTRIBUTES_METRICS_DATA);<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>    if (bytes == null) return null;<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return ProtobufUtil.toScanMetrics(bytes);<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  public Boolean isAsyncPrefetch() {<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>    return asyncPrefetch;<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  }<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span><a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>  public Scan setAsyncPrefetch(boolean asyncPrefetch) {<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>    this.asyncPrefetch = asyncPrefetch;<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>    return this;<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>  }<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span><a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  /**<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>   * @return the limit of rows for this scan<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>   */<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>  public int getLimit() {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>    return limit;<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  }<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span><a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  /**<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>   * Set the limit of rows for this scan. We will terminate the scan if the number of returned rows<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>   * reaches this value.<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>   * &lt;p&gt;<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>   * This condition will be tested at last, after all other conditions such as stopRow, filter, etc.<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>   * @param limit the limit of rows for this scan<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>   * @return this<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>   */<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>  public Scan setLimit(int limit) {<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>    this.limit = limit;<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>    return this;<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>  }<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span><a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>  /**<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>   * Call this when you only want to get one row. It will set {@code limit} to {@code 1}, and also<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * set {@code readType} to {@link ReadType#PREAD}.<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   * @return this<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>   */<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  public Scan setOneRowLimit() {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>    return setLimit(1).setReadType(ReadType.PREAD);<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>  }<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  @InterfaceAudience.Public<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>  public enum ReadType {<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>    DEFAULT, STREAM, PREAD<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>  }<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span><a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>  /**<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>   * @return the read type for this scan<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  public ReadType getReadType() {<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>    return readType;<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>  }<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span><a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>  /**<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>   * Set the read type for this scan.<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>   * &lt;p&gt;<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>   * Notice that we may choose to use pread even if you specific {@link ReadType#STREAM} here. For<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>   * example, we will always use pread if this is a get scan.<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>   * @return this<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>   */<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>  public Scan setReadType(ReadType readType) {<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>    this.readType = readType;<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>    return this;<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>  }<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span><a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  /**<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>   * Get the mvcc read point used to open a scanner.<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>   */<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>  long getMvccReadPoint() {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>    return mvccReadPoint;<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>  }<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>  /**<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>   * Set the mvcc read point used to open a scanner.<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>   */<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>  Scan setMvccReadPoint(long mvccReadPoint) {<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>    this.mvccReadPoint = mvccReadPoint;<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>    return this;<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>  }<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span><a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>  /**<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>   * Set the mvcc read point to -1 which means do not use it.<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>   */<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  Scan resetMvccReadPoint() {<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>    return setMvccReadPoint(-1L);<a name="line.1221"></a>
+<span class="sourceLineNo">1104</span>  /**<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>   * @return True if collection of scan metrics is enabled. For advanced users.<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>   */<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>  public boolean isScanMetricsEnabled() {<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>    byte[] attr = getAttribute(Scan.SCAN_ATTRIBUTES_METRICS_ENABLE);<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  }<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span><a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>  public Boolean isAsyncPrefetch() {<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    return asyncPrefetch;<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>  }<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span><a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  public Scan setAsyncPrefetch(boolean asyncPrefetch) {<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>    this.asyncPrefetch = asyncPrefetch;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>    return this;<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  }<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span><a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>  /**<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>   * @return the limit of rows for this scan<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>   */<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  public int getLimit() {<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>    return limit;<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>  }<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span><a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>  /**<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>   * Set the limit of rows for this scan. We will terminate the scan if the number of returned rows<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   * reaches this value.<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>   * &lt;p&gt;<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>   * This condition will be tested at last, after all other conditions such as stopRow, filter, etc.<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>   * @param limit the limit of rows for this scan<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>   * @return this<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>   */<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>  public Scan setLimit(int limit) {<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>    this.limit = limit;<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>    return this;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  }<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span><a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>  /**<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>   * Call this when you only want to get one row. It will set {@code limit} to {@code 1}, and also<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>   * set {@code readType} to {@link ReadType#PREAD}.<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>   * @return this<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>   */<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>  public Scan setOneRowLimit() {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>    return setLimit(1).setReadType(ReadType.PREAD);<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>  }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  @InterfaceAudience.Public<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>  public enum ReadType {<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    DEFAULT, STREAM, PREAD<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span><a name="line.1154"></a>
+<span class="sourceLineNo">1155</span>  /**<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>   * @return the read type for this scan<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>   */<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  public ReadType getReadType() {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>    return readType;<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>  }<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span><a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /**<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>   * Set the read type for this scan.<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   * &lt;p&gt;<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>   * Notice that we may choose to use pread even if you specific {@link ReadType#STREAM} here. For<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>   * example, we will always use pread if this is a get scan.<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>   * @return this<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>   */<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>  public Scan setReadType(ReadType readType) {<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>    this.readType = readType;<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>    return this;<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>  }<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span><a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>  /**<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   * Get the mvcc read point used to open a scanner.<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   */<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>  long getMvccReadPoint() {<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>    return mvccReadPoint;<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>  }<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span><a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>   * Set the mvcc read point used to open a scanner.<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>   */<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>  Scan setMvccReadPoint(long mvccReadPoint) {<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>    this.mvccReadPoint = mvccReadPoint;<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>    return this;<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>  }<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span><a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>  /**<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>   * Set the mvcc read point to -1 which means do not use it.<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>   */<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>  Scan resetMvccReadPoint() {<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>    return setMvccReadPoint(-1L);<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  }<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span><a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>  /**<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>   * When the server is slow or we scan a table with many deleted data or we use a sparse filter,<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>   * the server will response heartbeat to prevent timeout. However the scanner will return a Result<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>   * only when client can do it. So if there are many heartbeats, the blocking time on<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>   * ResultScanner#next() may be very long, which is not friendly to online services.<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>   *<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>   * Set this to true then you can get a special Result whose #isCursor() returns true and is not<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>   * contains any real data. It only tells you where the server has scanned. You can call next<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>   * to continue scanning or open a new scanner with this row key as start row whenever you want.<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>   *<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>   * Users can get a cursor when and only when there is a response from the server but we can not<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>   * return a Result to users, for example, this response is a heartbeat or there are partial cells<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>   * but users do not allow partial result.<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>   *<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>   * Now the cursor is in row level which means the special Result will only contains a row key.<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>   * {@link Result#isCursor()}<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>   * {@link Result#getCursor()}<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>   * {@link Cursor}<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>   */<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>  public Scan setNeedCursorResult(boolean needCursorResult) {<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>    this.needCursorResult = needCursorResult;<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>    return this;<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  }<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span><a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>  public boolean isNeedCursorResult() {<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>    return needCursorResult;<a name="line.1221"></a>
 <span class="sourceLineNo">1222</span>  }<a name="line.1222"></a>
 <span class="sourceLineNo">1223</span><a name="line.1223"></a>
 <span class="sourceLineNo">1224</span>  /**<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>   * When the server is slow or we scan a table with many deleted data or we use a sparse filter,<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>   * the server will response heartbeat to prevent timeout. However the scanner will return a Result<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>   * only when client can do it. So if there are many heartbeats, the blocking time on<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>   * ResultScanner#next() may be very long, which is not friendly to online services.<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>   *<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>   * Set this to true then you can get a special Result whose #isCursor() returns true and is not<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>   * contains any real data. It only tells you where the server has scanned. You can call next<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>   * to continue scanning or open a new scanner with this row key as start row whenever you want.<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>   *<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>   * Users can get a cursor when and only when there is a response from the server but we can not<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>   * return a Result to users, for example, this response is a heartbeat or there are partial cells<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>   * but users do not allow partial result.<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>   *<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>   * Now the cursor is in row level which means the special Result will only contains a row key.<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>   * {@link Result#isCursor()}<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>   * {@link Result#getCursor()}<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>   * {@link Cursor}<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>   */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>  public Scan setNeedCursorResult(boolean needCursorResult) {<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>    this.needCursorResult = needCursorResult;<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>    return this;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>  }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  public boolean isNeedCursorResult() {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>    return needCursorResult;<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>  }<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span><a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>  /**<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>   * Create a new Scan with a cursor. It only set the position information like start row key.<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>   * The others (like cfs, stop row, limit) should still be filled in by the user.<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>   * {@link Result#isCursor()}<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>   * {@link Result#getCursor()}<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>   * {@link Cursor}<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>   */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static Scan createScanFromCursor(Cursor cursor) {<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>    return new Scan().withStartRow(cursor.getRow());<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>  }<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>}<a name="line.1262"></a>
+<span class="sourceLineNo">1225</span>   * Create a new Scan with a cursor. It only set the position information like start row key.<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>   * The others (like cfs, stop row, limit) should still be filled in by the user.<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>   * {@link Result#isCursor()}<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>   * {@link Result#getCursor()}<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>   * {@link Cursor}<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   */<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  public static Scan createScanFromCursor(Cursor cursor) {<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>    return new Scan().withStartRow(cursor.getRow());<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>  }<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>}<a name="line.1234"></a>
 
 
 
diff --git a/book.html b/book.html
index 2e6c73c..3aff20d 100644
--- a/book.html
+++ b/book.html
@@ -41579,7 +41579,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2019-02-15 17:01:56 UTC
+Last updated 2019-02-16 14:29:40 UTC
 </div>
 </div>
 </body>
diff --git a/bulk-loads.html b/bulk-loads.html
index 78356c1..db4f01b 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="20190215" />
+    <meta name="Date-Revision-yyyymmdd" content="20190216" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -316,7 +316,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: 2019-02-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2019-02-16</li>
             </p>
                 </div>
 
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index da76889..b8818ca 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.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="20190215" />
+    <meta name="Date-Revision-yyyymmdd" content="20190216" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -294,7 +294,7 @@
 <td>3871</td>
 <td>0</td>
 <td>0</td>
-<td>14173</td></tr></table></div>
+<td>14163</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -1187,7 +1187,7 @@
 <td><a href="#org.apache.hadoop.hbase.client.ClientScanner.java">org/apache/hadoop/hbase/client/ClientScanner.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>7</td></tr>
+<td>1</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.client.ClientServiceCallable.java">org/apache/hadoop/hbase/client/ClientServiceCallable.java</a></td>
 <td>0</td>
@@ -1507,7 +1507,7 @@
 <td><a href="#org.apache.hadoop.hbase.client.Scan.java">org/apache/hadoop/hbase/client/Scan.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>9</td></tr>
+<td>5</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.client.ScannerCallable.java">org/apache/hadoop/hbase/client/ScannerCallable.java</a></td>
 <td>0</td>
@@ -9454,7 +9454,7 @@
 <tr class="a">
 <td>annotation</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_annotation.html#MissingDeprecated">MissingDeprecated</a></td>
-<td>141</td>
+<td>140</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>blocks</td>
@@ -9469,7 +9469,7 @@
 <tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#NeedBraces">NeedBraces</a></td>
-<td>1727</td>
+<td>1725</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td>coding</td>
@@ -9528,7 +9528,7 @@
 <li>sortStaticImportsAlphabetically: <tt>&quot;true&quot;</tt></li>
 <li>groups: <tt>&quot;*,org.apache.hbase.thirdparty,org.apache.hadoop.hbase.shaded&quot;</tt></li>
 <li>option: <tt>&quot;top&quot;</tt></li></ul></td>
-<td>1061</td>
+<td>1054</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
@@ -9558,12 +9558,12 @@
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation">JavadocTagContinuationIndentation</a>
 <ul>
 <li>offset: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>724</td>
+<td>725</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>3391</td>
+<td>3390</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -18536,7 +18536,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>JavadocTagContinuationIndentation</td>
 <td>Javadoc comment at column 0 has parse error. Details: no viable alternative at input '   *' while parsing JAVADOC_TAG</td>
 <td>117</td></tr>
 <tr class="b">
@@ -21748,46 +21748,10 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'java.io.IOException' import.</td>
-<td>26</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.DoNotRetryIOException' import.</td>
-<td>35</td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.HConstants' import.</td>
-<td>38</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.NotServingRegionException' import.</td>
-<td>41</td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.TableName' import.</td>
-<td>43</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>97</td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>blocks</td>
-<td>NeedBraces</td>
-<td>'if' construct must use '{}'s.</td>
-<td>551</td></tr></table></div>
+<td>93</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ClientServiceCallable.java">org/apache/hadoop/hbase/client/ClientServiceCallable.java</h3>
 <table border="0" class="table table-striped">
@@ -23290,301 +23254,301 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.client.coprocessor.Batch' import.</td>
-<td>41</td></tr>
+<td>40</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>58</td></tr>
+<td>57</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.io.IOException' import.</td>
-<td>63</td></tr>
+<td>62</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.client.ConnectionUtils.checkHasFamilies' import.</td>
-<td>78</td></tr>
+<td>77</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>227</td></tr>
+<td>226</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>351</td></tr>
+<td>350</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
-<td>374</td></tr>
+<td>373</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>507</td></tr>
+<td>506</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>610</td></tr>
+<td>609</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>640</td></tr>
+<td>639</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>647</td></tr>
+<td>646</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>676</td></tr>
+<td>675</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>683</td></tr>
+<td>682</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>690</td></tr>
+<td>689</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>719</td></tr>
+<td>718</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>727</td></tr>
+<td>726</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>734</td></tr>
+<td>733</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'new' has incorrect indentation level 4, expected level should be 6.</td>
-<td>784</td></tr>
+<td>783</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'rpcControllerFactory' has incorrect indentation level 4, expected level should be 6.</td>
-<td>785</td></tr>
+<td>784</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>813</td></tr>
+<td>812</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>814</td></tr>
+<td>813</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>815</td></tr>
+<td>814</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>816</td></tr>
+<td>815</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>817</td></tr>
+<td>816</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>819</td></tr>
+<td>818</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>820</td></tr>
+<td>819</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>821</td></tr>
+<td>820</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'.' has incorrect indentation level 4, expected level should be 6.</td>
-<td>822</td></tr>
+<td>821</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>832</td></tr>
+<td>831</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>836</td></tr>
+<td>835</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>840</td></tr>
+<td>839</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>856</td></tr>
+<td>855</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>857</td></tr>
+<td>856</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>1021</td></tr>
+<td>1004</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>1036</td></tr>
+<td>1019</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>1042</td></tr>
+<td>1025</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>1054</td></tr>
+<td>1037</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>1060</td></tr>
+<td>1043</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>1071</td></tr>
+<td>1054</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>1077</td></tr>
+<td>1060</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>1088</td></tr>
+<td>1071</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>1094</td></tr>
+<td>1077</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1113</td></tr>
+<td>1096</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1115</td></tr>
+<td>1098</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>1116</td></tr>
+<td>1099</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>1117</td></tr>
+<td>1100</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>1118</td></tr>
+<td>1101</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>1119</td></tr>
+<td>1102</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
-<td>1149</td></tr>
+<td>1132</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'=' has incorrect indentation level 4, expected level should be 6.</td>
-<td>1171</td></tr></table></div>
+<td>1154</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ImmutableHColumnDescriptor.java">org/apache/hadoop/hbase/client/ImmutableHColumnDescriptor.java</h3>
 <table border="0" class="table table-striped">
@@ -25690,58 +25654,34 @@
 <th>Line</th></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.client.metrics.ScanMetrics' import.</td>
-<td>36</td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>43</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>annotation</td>
-<td>MissingDeprecated</td>
-<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>128</td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>387</td></tr>
-<tr class="a">
+<td>373</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>857</td></tr>
-<tr class="b">
+<td>843</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>867</td></tr>
-<tr class="a">
+<td>853</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>899</td></tr>
-<tr class="b">
+<td>885</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1039</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>blocks</td>
-<td>NeedBraces</td>
-<td>'if' construct must use '{}'s.</td>
-<td>1136</td></tr></table></div>
+<td>1025</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ScannerCallable.java">org/apache/hadoop/hbase/client/ScannerCallable.java</h3>
 <table border="0" class="table table-striped">
@@ -28705,61 +28645,61 @@
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>5439</td></tr>
+<td>5430</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>5607</td></tr>
+<td>5598</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>5621</td></tr>
+<td>5612</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>5635</td></tr>
+<td>5626</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>5675</td></tr>
+<td>5666</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
-<td>5676</td></tr>
+<td>5667</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 180 lines (max allowed is 150).</td>
-<td>5947</td></tr>
+<td>5938</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>6610</td></tr>
+<td>6601</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>6629</td></tr>
+<td>6620</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>6649</td></tr></table></div>
+<td>6640</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.TestFromClientSide3.java">org/apache/hadoop/hbase/client/TestFromClientSide3.java</h3>
 <table border="0" class="table table-striped">
@@ -111107,7 +111047,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2019-02-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2019-02-16</li>
             </p>
                 </div>
 
diff --git a/checkstyle.rss b/checkstyle.rss
index 527b6ae..96fb065 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
     <copyright>&#169;2007 - 2019 The Apache Software Foundation</copyright>
     <item>
       <title>File: 3871,
-             Errors: 14173,
+             Errors: 14163,
              Warnings: 0,
              Infos: 0
       </title>
@@ -14069,7 +14069,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  7
+                  1
                 </td>
               </tr>
                           <tr>
@@ -32297,7 +32297,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  9
+                  5
                 </td>
               </tr>
                           <tr>
diff --git a/coc.html b/coc.html
index c4bb62b..f70f4d8 100644
--- a/coc.html
+++ b/coc.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="20190215" />
+    <meta name="Date-Revision-yyyymmdd" content="20190216" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -385,7 +385,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2019-02-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2019-02-16</li>
             </p>
                 </div>
 
diff --git a/dependencies.html b/dependencies.html
index f800dc8..eb86096 100644
--- a/dependencies.html
+++ b/dependencies.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="20190215" />
+    <meta name="Date-Revision-yyyymmdd" content="20190216" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -450,7 +450,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2019-02-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2019-02-16</li>
             </p>
                 </div>
 
diff --git a/dependency-convergence.html b/dependency-convergence.html
index d286abd..aac5820 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.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="20190215" />
+    <meta name="Date-Revision-yyyymmdd" content="20190216" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -680,7 +680,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2019-02-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2019-02-16</li>
             </p>
                 </div>
 
diff --git a/dependency-info.html b/dependency-info.html
index 2bc6d46..9c33c95 100644
--- a/dependency-info.html
+++ b/dependency-info.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="20190215" />
+    <meta name="Date-Revision-yyyymmdd" content="20190216" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -323,7 +323,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2019-02-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2019-02-16</li>
             </p>
                 </div>
 
diff --git a/dependency-management.html b/dependency-management.html
index ccab56d..760ac45 100644
--- a/dependency-management.html
+++ b/dependency-management.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="20190215" />
+    <meta name="Date-Revision-yyyymmdd" content="20190216" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -1009,7 +1009,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2019-02-15</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2019-02-16</li>
             </p>
                 </div>
 
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 23dc2a7..0844a9e 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3880,7 +3880,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Fri Feb 15 17:10:40 UTC 2019"</code></td>
+<td class="colLast"><code>"Sat Feb 16 14:38:39 UTC 2019"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
@@ -3894,7 +3894,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"4ada8a28980b723dec43f077bc50af5e"</code></td>
+<td class="colLast"><code>"3b59e57cf1b0ac4c1275eb6a6f5b183b"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -6229,20 +6229,13 @@
 <td class="colLast"><code>"_raw_"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_DATA">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_DATA">SCAN_ATTRIBUTES_METRICS_DATA</a></code></td>
-<td class="colLast"><code>"scan.attributes.metrics.data"</code></td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_ENABLE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_ENABLE">SCAN_ATTRIBUTES_METRICS_ENABLE</a></code></td>
 <td class="colLast"><code>"scan.attributes.metrics.enable"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_TABLE_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
diff --git a/devapidocs/deprecated-list.html b/devapidocs/deprecated-list.html
index da1129d..418fc53 100644
--- a/devapidocs/deprecated-list.html
+++ b/devapidocs/deprecated-list.html
@@ -502,14 +502,6 @@
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/KeyPrefixRegionSplitPolicy.html#PREFIX_LENGTH_KEY_DEPRECATED">org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy.PREFIX_LENGTH_KEY_DEPRECATED</a></td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_DATA">org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_DATA</a></td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_ENABLE">org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_ENABLE</a>
-<div class="block"><span class="deprecationComment">since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled-boolean-"><code>Scan.setScanMetricsEnabled(boolean)</code></a></span></div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html#SCANNER_ALREADY_CLOSED">org.apache.hadoop.hbase.regionserver.RSRpcServices.SCANNER_ALREADY_CLOSED</a></td>
 </tr>
 <tr class="altColor">
@@ -1860,1209 +1852,1202 @@
 <td class="colOne"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getScanForTableName-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.MetaTableAccessor.getScanForTableName(Connection, TableName)</a></td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">org.apache.hadoop.hbase.client.Scan.getScanMetrics()</a>
-<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
-             use this method and <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
-             will be messed up.</span></div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/StoreFileReader.html#getScanner-boolean-boolean-">org.apache.hadoop.hbase.regionserver.StoreFileReader.getScanner(boolean, boolean)</a>
 <div class="block"><span class="deprecationComment">Do not write further code which depends on this call. Instead
    use getStoreFileScanner() which uses the StoreFileScanner class/interface
    which is the preferred way to scan a store with higher level concepts.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/StoreFileReader.html#getScanner-boolean-boolean-boolean-">org.apache.hadoop.hbase.regionserver.StoreFileReader.getScanner(boolean, boolean, boolean)</a>
 <div class="block"><span class="deprecationComment">Do not write further code which depends on this call. Instead
    use getStoreFileScanner() which uses the StoreFileScanner class/interface
    which is the preferred way to scan a store with higher level concepts.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getSequenceId--">org.apache.hadoop.hbase.Cell.getSequenceId()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerName-java.lang.String-int-long-">org.apache.hadoop.hbase.ServerName.getServerName(String, int, long)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-int-long-"><code>ServerName.valueOf(String, int, long)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerName-java.lang.String-long-">org.apache.hadoop.hbase.ServerName.getServerName(String, long)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-long-"><code>ServerName.valueOf(String, long)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerNameLessStartCode-java.lang.String-">org.apache.hadoop.hbase.ServerName.getServerNameLessStartCode(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#getAddress--"><code>ServerName.getAddress()</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getServers--">org.apache.hadoop.hbase.ClusterStatus.getServers()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ClusterStatus.html#getLiveServerMetrics--"><code>ClusterStatus.getLiveServerMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getServersSize--">org.apache.hadoop.hbase.ClusterStatus.getServersSize()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ClusterStatus.html#getLiveServerMetrics--"><code>ClusterStatus.getLiveServerMetrics()</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerStartcodeFromServerName-java.lang.String-">org.apache.hadoop.hbase.ServerName.getServerStartcodeFromServerName(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use instance of ServerName to pull out start code.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.KVComparator.html#getShortMidpointKey-byte:A-byte:A-">org.apache.hadoop.hbase.KeyValue.KVComparator.getShortMidpointKey(byte[], byte[])</a>
 <div class="block"><span class="deprecationComment">Since 0.99.2;</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getShortNameToLog-org.apache.hadoop.hbase.HRegionInfo...-">org.apache.hadoop.hbase.HRegionInfo.getShortNameToLog(HRegionInfo...)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#getShortNameToLog-org.apache.hadoop.hbase.client.RegionInfo...-"><code>RegionInfo.getShortNameToLog(RegionInfo...)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getShortNameToLog-java.util.List-">org.apache.hadoop.hbase.HRegionInfo.getShortNameToLog(List&lt;HRegionInfo&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#getShortNameToLog-java.util.List-"><code>RegionInfo.getShortNameToLog(List)</code></a>)}.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#getSize--">org.apache.hadoop.hbase.util.Bytes.getSize()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/util/Bytes.html#getLength--"><code>Bytes.getLength()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getSize--">org.apache.hadoop.hbase.io.ImmutableBytesWritable.getSize()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getLength--"><code>ImmutableBytesWritable.getLength()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getStartKey-byte:A-">org.apache.hadoop.hbase.HRegionInfo.getStartKey(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#getStartKey-byte:A-"><code>RegionInfo.getStartKey(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getStartKeyForDisplay-org.apache.hadoop.hbase.HRegionInfo-org.apache.hadoop.conf.Configuration-">org.apache.hadoop.hbase.HRegionInfo.getStartKeyForDisplay(HRegionInfo, Configuration)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use RegionInfoDisplay#getStartKeyForDisplay(RegionInfo, Configuration)
              over in hbase-server module.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreCompleteSequenceId--">org.apache.hadoop.hbase.RegionLoad.getStoreCompleteSequenceId()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreSequenceId--"><code>RegionLoad.getStoreSequenceId()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefileIndexSizeInMB--">org.apache.hadoop.hbase.ServerLoad.getStorefileIndexSizeInMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefileIndexSizeKB--">org.apache.hadoop.hbase.ServerLoad.getStorefileIndexSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStorefileIndexSizeKB--">org.apache.hadoop.hbase.RegionLoad.getStorefileIndexSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileRootLevelIndexSize--"><code>RegionLoad.getStoreFileRootLevelIndexSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStorefileIndexSizeMB--">org.apache.hadoop.hbase.RegionLoad.getStorefileIndexSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              ((<a href="https://issues.apache.org/jira/browse/HBASE-3935">HBASE-3935</a>)).
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileRootLevelIndexSize--"><code>RegionLoad.getStoreFileRootLevelIndexSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefiles--">org.apache.hadoop.hbase.ServerLoad.getStorefiles()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStorefiles--">org.apache.hadoop.hbase.RegionLoad.getStorefiles()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileCount--"><code>RegionLoad.getStoreFileCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefileSizeInMB--">org.apache.hadoop.hbase.ServerLoad.getStorefileSizeInMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStorefileSizeMB--">org.apache.hadoop.hbase.ServerLoad.getStorefileSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStorefileSizeMB--">org.apache.hadoop.hbase.RegionLoad.getStorefileSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileSize--"><code>RegionLoad.getStoreFileSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-byte:A-">org.apache.hadoop.hbase.regionserver.HStore.getStoreHomedir(Path, RegionInfo, byte[])</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir-org.apache.hadoop.fs.Path-java.lang.String-byte:A-">org.apache.hadoop.hbase.regionserver.HStore.getStoreHomedir(Path, String, byte[])</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStores--">org.apache.hadoop.hbase.ServerLoad.getStores()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStores--">org.apache.hadoop.hbase.RegionLoad.getStores()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreCount--"><code>RegionLoad.getStoreCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getStoreUncompressedSizeMB--">org.apache.hadoop.hbase.ServerLoad.getStoreUncompressedSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreUncompressedSizeMB--">org.apache.hadoop.hbase.RegionLoad.getStoreUncompressedSizeMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getUncompressedStoreFileSize--"><code>RegionLoad.getUncompressedStoreFileSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/SnapshotDescription.html#getTable--">org.apache.hadoop.hbase.client.SnapshotDescription.getTable()</a>
 <div class="block"><span class="deprecationComment">Use getTableName() or getTableNameAsString() instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getTable-byte:A-">org.apache.hadoop.hbase.HRegionInfo.getTable(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#getTable-byte:A-"><code>RegionInfo.getTable(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#getTableDescriptor--">org.apache.hadoop.hbase.client.Table.getTableDescriptor()</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Table.html#getDescriptor--"><code>Table.getDescriptor()</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTable.html#getTableDescriptor--">org.apache.hadoop.hbase.client.HTable.getTableDescriptor()</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#getTableDescriptor--">org.apache.hadoop.hbase.rest.client.RemoteHTable.getTableDescriptor()</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.client.Admin.getTableDescriptor(TableName)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#getDescriptor-org.apache.hadoop.hbase.TableName-"><code>Admin.getDescriptor(TableName)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableDescriptors-java.util.List-">org.apache.hadoop.hbase.client.Admin.getTableDescriptors(List&lt;String&gt;)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.List-"><code>Admin.listTableDescriptors(List)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableDescriptorsByTableName-java.util.List-">org.apache.hadoop.hbase.client.Admin.getTableDescriptorsByTableName(List&lt;TableName&gt;)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.List-"><code>Admin.listTableDescriptors(List)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.client.Admin.getTableRegions(TableName)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-17980">HBASE-17980</a>).
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#getRegions-org.apache.hadoop.hbase.TableName-"><code>Admin.getRegions(TableName)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.client.HBaseAdmin.getTableRegions(TableName)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getRegions-org.apache.hadoop.hbase.TableName-"><code>HBaseAdmin.getRegions(TableName)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/ZKDataMigrator.html#getTableState-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.util.ZKDataMigrator.getTableState(ZKWatcher, TableName)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. To be removed in hbase-3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getTag-org.apache.hadoop.hbase.Cell-byte-">org.apache.hadoop.hbase.CellUtil.getTag(Cell, byte)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/RawCell.html#getTag-byte-"><code>RawCell.getTag(byte)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getTagArray-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.getTagArray(Cell)</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getTags-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.getTags(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/RawCell.html#getTags--"><code>RawCell.getTags()</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsArray--">org.apache.hadoop.hbase.Cell.getTagsArray()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsLength--">org.apache.hadoop.hbase.Cell.getTagsLength()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsOffset--">org.apache.hadoop.hbase.Cell.getTagsOffset()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Mutation.html#getTimeStamp--">org.apache.hadoop.hbase.client.Mutation.getTimeStamp()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Mutation.html#getTimestamp--"><code>Mutation.getTimestamp()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/regionserver/MetricsSink.html#getTimeStampOfLastAppliedOp--">org.apache.hadoop.hbase.replication.regionserver.MetricsSink.getTimeStampOfLastAppliedOp()</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationLoadSource.html#getTimeStampOfLastShippedOp--">org.apache.hadoop.hbase.replication.ReplicationLoadSource.getTimeStampOfLastShippedOp()</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/regionserver/MetricsSource.html#getTimeStampOfLastShippedOp--">org.apache.hadoop.hbase.replication.regionserver.MetricsSource.getTimeStampOfLastShippedOp()</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Removed in 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationLoadSink.html#getTimeStampsOfLastAppliedOp--">org.apache.hadoop.hbase.replication.ReplicationLoadSink.getTimeStampsOfLastAppliedOp()</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. Will be removed in 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getTotalCompactingKVs--">org.apache.hadoop.hbase.ServerLoad.getTotalCompactingKVs()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getTotalCompactingKVs--">org.apache.hadoop.hbase.RegionLoad.getTotalCompactingKVs()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getCompactingCellCount--"><code>RegionLoad.getCompactingCellCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getTotalNumberOfRequests--">org.apache.hadoop.hbase.ServerLoad.getTotalNumberOfRequests()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRequestCount--"><code>ServerLoad.getRequestCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getTotalStaticBloomSizeKB--">org.apache.hadoop.hbase.ServerLoad.getTotalStaticBloomSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getTotalStaticBloomSizeKB--">org.apache.hadoop.hbase.RegionLoad.getTotalStaticBloomSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getBloomFilterSize--"><code>RegionLoad.getBloomFilterSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getTotalStaticIndexSizeKB--">org.apache.hadoop.hbase.ServerLoad.getTotalStaticIndexSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getTotalStaticIndexSizeKB--">org.apache.hadoop.hbase.RegionLoad.getTotalStaticIndexSizeKB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getStoreFileUncompressedDataIndexSize--"><code>RegionLoad.getStoreFileUncompressedDataIndexSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTypeByte--">org.apache.hadoop.hbase.Cell.getTypeByte()</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Use <a href="org/apache/hadoop/hbase/Cell.html#getType--"><code>Cell.getType()</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getUsedHeapMB--">org.apache.hadoop.hbase.ServerLoad.getUsedHeapMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getUsedHeapSize--"><code>ServerLoad.getUsedHeapSize()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getValueBufferShallowCopy-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.getValueBufferShallowCopy(Cell)</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in 3.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValueString--">org.apache.hadoop.hbase.io.hfile.HFileScanner.getValueString()</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getVersion--">org.apache.hadoop.hbase.ClusterStatus.getVersion()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#getWriteRequestsCount--">org.apache.hadoop.hbase.ServerLoad.getWriteRequestsCount()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
      Use <a href="org/apache/hadoop/hbase/ServerLoad.html#getRegionMetrics--"><code>ServerLoad.getRegionMetrics()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/RegionLoad.html#getWriteRequestsCount--">org.apache.hadoop.hbase.RegionLoad.getWriteRequestsCount()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/RegionLoad.html#getWriteRequestCount--"><code>RegionLoad.getWriteRequestCount()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#getWriteRpcTimeout--">org.apache.hadoop.hbase.client.Table.getWriteRpcTimeout()</a>
 <div class="block"><span class="deprecationComment">since 2.0 and will be removed in 3.0 version
              use <a href="org/apache/hadoop/hbase/client/Table.html#getWriteRpcTimeout-java.util.concurrent.TimeUnit-"><code>Table.getWriteRpcTimeout(TimeUnit)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTable.html#getWriteRpcTimeout--">org.apache.hadoop.hbase.client.HTable.getWriteRpcTimeout()</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#getWriteRpcTimeout--">org.apache.hadoop.hbase.rest.client.RemoteHTable.getWriteRpcTimeout()</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/access/AccessControlUtil.html#grant-com.google.protobuf.RpcController-org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.BlockingInterface-java.lang.String-boolean-org.apache.hadoop.hbase.security.access.Permission.Action...-">org.apache.hadoop.hbase.security.access.AccessControlUtil.grant(RpcController, AccessControlProtos.AccessControlService.BlockingInterface, String, boolean, Permission.Acti [...]
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/Admin.html#grant-org.apache.hadoop.hbase.security.access.UserPermission-boolean-"><code>Admin.grant(UserPermission, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/access/AccessControlUtil.html#grant-com.google.protobuf.RpcController-org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.BlockingInterface-java.lang.String-java.lang.String-boolean-org.apache.hadoop.hbase.security.access.Permission.Action...-">org.apache.hadoop.hbase.security.access.AccessControlUtil.grant(RpcController, AccessControlProtos.AccessControlService.BlockingInterface, String, String, [...]
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/Admin.html#grant-org.apache.hadoop.hbase.security.access.UserPermission-boolean-"><code>Admin.grant(UserPermission, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/access/AccessControlUtil.html#grant-com.google.protobuf.RpcController-org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.BlockingInterface-java.lang.String-org.apache.hadoop.hbase.TableName-byte:A-byte:A-boolean-org.apache.hadoop.hbase.security.access.Permission.Action...-">org.apache.hadoop.hbase.security.access.AccessControlUtil.grant(RpcController, AccessControlProtos.AccessControlService.Blo [...]
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/Admin.html#grant-org.apache.hadoop.hbase.security.access.UserPermission-boolean-"><code>Admin.grant(UserPermission, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#grant-com.google.protobuf.RpcController-org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.GrantRequest-com.google.protobuf.RpcCallback-">org.apache.hadoop.hbase.security.access.AccessController.grant(RpcController, AccessControlProtos.GrantRequest, RpcCallback&lt;AccessControlProtos.GrantResponse&gt;)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/Admin.html#grant-org.apache.hadoop.hbase.security.access.UserPermission-boolean-"><code>Admin.grant(UserPermission, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Increment.html#hashCode--">org.apache.hadoop.hbase.client.Increment.hashCode()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              No replacement.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/RowMutations.html#hashCode--">org.apache.hadoop.hbase.client.RowMutations.hashCode()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              No replacement</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasMaxHeapMB--">org.apache.hadoop.hbase.ServerLoad.hasMaxHeapMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasNumberOfRequests--">org.apache.hadoop.hbase.ServerLoad.hasNumberOfRequests()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#hasRegionMemstoreReplication--">org.apache.hadoop.hbase.HTableDescriptor.hasRegionMemstoreReplication()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/HTableDescriptor.html#hasRegionMemStoreReplication--"><code>HTableDescriptor.hasRegionMemStoreReplication()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasTotalNumberOfRequests--">org.apache.hadoop.hbase.ServerLoad.hasTotalNumberOfRequests()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasUsedHeapMB--">org.apache.hadoop.hbase.ServerLoad.hasUsedHeapMB()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster-org.apache.hadoop.mapreduce.Job-java.lang.String-">org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initCredentialsForCluster(Job, String)</a>
 <div class="block"><span class="deprecationComment">Since 1.2.0, use <a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster-org.apache.hadoop.mapreduce.Job-org.apache.hadoop.conf.Configuration-"><code>TableMapReduceUtil.initCredentialsForCluster(Job, Configuration)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#initialize--">org.apache.hadoop.hbase.regionserver.HRegion.initialize()</a>
 <div class="block"><span class="deprecationComment">use HRegion.createHRegion() or HRegion.openHRegion()</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#isBalancerOn--">org.apache.hadoop.hbase.ClusterStatus.isBalancerOn()</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              No flag in 2.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#isClosestRowBefore--">org.apache.hadoop.hbase.client.Get.isClosestRowBefore()</a>
 <div class="block"><span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDelete-byte-">org.apache.hadoop.hbase.CellUtil.isDelete(byte)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteColumnOrFamily-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteColumnOrFamily(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteColumns-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteColumns(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteColumnVersion-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteColumnVersion(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteFamily-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteFamily(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteFamilyVersion-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteFamilyVersion(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#isDeleteType-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.isDeleteType(Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#isEncodedRegionName-byte:A-">org.apache.hadoop.hbase.HRegionInfo.isEncodedRegionName(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#isEncodedRegionName-byte:A-"><code>RegionInfo.isEncodedRegionName(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isLegalFamilyName-byte:A-">org.apache.hadoop.hbase.HColumnDescriptor.isLegalFamilyName(byte[])</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html#isLegalColumnFamilyName-byte:A-"><code>ColumnFamilyDescriptorBuilder.isLegalColumnFamilyName(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ClusterConnection.html#isMasterRunning--">org.apache.hadoop.hbase.client.ClusterConnection.isMasterRunning()</a>
 <div class="block"><span class="deprecationComment">this has been deprecated without a replacement</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#isMasterRunning--">org.apache.hadoop.hbase.client.ConnectionImplementation.isMasterRunning()</a>
 <div class="block"><span class="deprecationComment">this has been deprecated without a replacement</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#isPartial--">org.apache.hadoop.hbase.client.Result.isPartial()</a>
 <div class="block"><span class="deprecationComment">the word 'partial' ambiguous, use <a href="org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--"><code>Result.mayHaveMoreCellsInRow()</code></a> instead.
              Deprecated since 1.4.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#isSmall--">org.apache.hadoop.hbase.client.Scan.isSmall()</a>
 <div class="block"><span class="deprecationComment">since 2.0.0. See the comment of <a href="org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-"><code>Scan.setSmall(boolean)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#isSplitOrMergeEnabled-org.apache.hadoop.hbase.client.MasterSwitchType-">org.apache.hadoop.hbase.client.Admin.isSplitOrMergeEnabled(MasterSwitchType)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use
  <a href="org/apache/hadoop/hbase/client/Admin.html#isSplitEnabled--"><code>Admin.isSplitEnabled()</code></a> or <a href="org/apache/hadoop/hbase/client/Admin.html#isMergeEnabled--"><code>Admin.isMergeEnabled()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-byte:A:A-">org.apache.hadoop.hbase.client.Admin.isTableAvailable(TableName, byte[][])</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#isTableAvailable-org.apache.hadoop.hbase.TableName-"><code>Admin.isTableAvailable(TableName)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#listLabels-org.apache.hadoop.conf.Configuration-java.lang.String-">org.apache.hadoop.hbase.security.visibility.VisibilityClient.listLabels(Configuration, String)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#listLabels-org.apache.hadoop.hbase.client.Connection-java.lang.String-"><code>VisibilityClient.listLabels(Connection,String)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listPeerConfigs--">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listPeerConfigs()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#listReplicationPeers--"><code>Admin.listReplicationPeers()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listReplicated--">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listReplicated()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#listReplicatedTableCFs--"><code>Admin.listReplicatedTableCFs()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listReplicationPeers--">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listReplicationPeers()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#listReplicationPeers--"><code>Admin.listReplicationPeers()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listSnapshots-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listSnapshots(String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listSnapshots-java.util.regex.Pattern-"><code>Admin.listSnapshots(Pattern)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptorsByNamespace-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listTableDescriptorsByNamespace(String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptorsByNamespace-byte:A-"><code>Admin.listTableDescriptorsByNamespace(byte[])</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listTableNames(String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version. Use
              <a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames-java.util.regex.Pattern-"><code>Admin.listTableNames(Pattern)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames-java.lang.String-boolean-">org.apache.hadoop.hbase.client.Admin.listTableNames(String, boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version. Use
              <a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames-java.util.regex.Pattern-boolean-"><code>Admin.listTableNames(Pattern, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables--">org.apache.hadoop.hbase.client.Admin.listTables()</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors--"><code>Admin.listTableDescriptors()</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables-java.util.regex.Pattern-">org.apache.hadoop.hbase.client.Admin.listTables(Pattern)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.regex.Pattern-"><code>Admin.listTableDescriptors(java.util.regex.Pattern)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables-java.util.regex.Pattern-boolean-">org.apache.hadoop.hbase.client.Admin.listTables(Pattern, boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.regex.Pattern-boolean-"><code>Admin.listTableDescriptors(java.util.regex.Pattern, boolean)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listTables(String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version. Use
              <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.regex.Pattern-"><code>Admin.listTableDescriptors(Pattern)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables-java.lang.String-boolean-">org.apache.hadoop.hbase.client.Admin.listTables(String, boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableDescriptors-java.util.regex.Pattern-boolean-"><code>Admin.listTableDescriptors(Pattern, boolean)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableSnapshots-java.lang.String-java.lang.String-">org.apache.hadoop.hbase.client.Admin.listTableSnapshots(String, String)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableSnapshots-java.util.regex.Pattern-java.util.regex.Pattern-"><code>Admin.listTableSnapshots(Pattern, Pattern)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingColumn-org.apache.hadoop.hbase.Cell-byte:A-int-int-byte:A-int-int-">org.apache.hadoop.hbase.CellUtil.matchingColumn(Cell, byte[], int, int, byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingFamily-org.apache.hadoop.hbase.Cell-byte:A-int-int-">org.apache.hadoop.hbase.CellUtil.matchingFamily(Cell, byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingQualifier-org.apache.hadoop.hbase.Cell-byte:A-int-int-">org.apache.hadoop.hbase.CellUtil.matchingQualifier(Cell, byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingRow-org.apache.hadoop.hbase.Cell-byte:A-">org.apache.hadoop.hbase.CellUtil.matchingRow(Cell, byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="org/apache/hadoop/hbase/CellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-byte:A-"><code>CellUtil.matchingRows(Cell, byte[])</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingRow-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.matchingRow(Cell, Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="org/apache/hadoop/hbase/CellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-"><code>CellUtil.matchingRows(Cell, Cell)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingType-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.matchingType(Cell, Cell)</a>
 <div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#mergeRegions-byte:A-byte:A-boolean-">org.apache.hadoop.hbase.client.Admin.mergeRegions(byte[], byte[], boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Will be removed in 3.0. Use
      <a href="org/apache/hadoop/hbase/client/Admin.html#mergeRegionsAsync-byte:A-byte:A-boolean-"><code>Admin.mergeRegionsAsync(byte[], byte[], boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#mergeRegions-byte:A-byte:A-boolean-">org.apache.hadoop.hbase.client.HBaseAdmin.mergeRegions(byte[], byte[], boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Will be removed in 3.0. Use
      <a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#mergeRegionsAsync-byte:A-byte:A-boolean-"><code>HBaseAdmin.mergeRegionsAsync(byte[], byte[], boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/master/TableStateManager.html#migrateZooKeeper--">org.apache.hadoop.hbase.master.TableStateManager.migrateZooKeeper()</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Remove in hbase-3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">org.apache.hadoop.hbase.client.Admin.modifyColumn(TableName, ColumnFamilyDescriptor)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0.
              This will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-"><code>Admin.modifyColumnFamily(TableName, ColumnFamilyDescriptor)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.client.Admin.modifyTable(TableName, TableDescriptor)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyTable-org.apache.hadoop.hbase.client.TableDescriptor-"><code>Admin.modifyTable(TableDescriptor)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyTableAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.client.Admin.modifyTableAsync(TableName, TableDescriptor)</a>
 <div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
              use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyTableAsync-org.apache.hadoop.hbase.client.TableDescriptor-"><code>Admin.modifyTableAsync(TableDescriptor)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerLoad.html#obtainServerLoadPB--">org.apache.hadoop.hbase.ServerLoad.obtainServerLoadPB()</a>
 <div class="block"><span class="deprecationComment">DONT use this pb object since the byte array backed may be modified in rpc layer</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.html#oswrite-org.apache.hadoop.hbase.KeyValue-java.io.OutputStream-boolean-">org.apache.hadoop.hbase.KeyValue.oswrite(KeyValue, OutputStream, boolean)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="org/apache/hadoop/hbase/KeyValue.html#write-java.io.OutputStream-boolean-"><code>KeyValue.write(OutputStream, boolean)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#overlappingKeys-byte:A-byte:A-byte:A-byte:A-">org.apache.hadoop.hbase.CellUtil.overlappingKeys(byte[], byte[], byte[], byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseDelimitedFrom-byte:A-int-int-">org.apache.hadoop.hbase.HRegionInfo.parseDelimitedFrom(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseDelimitedFrom-byte:A-int-int-"><code>RegionInfo.parseDelimitedFrom(byte[], int, int)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFrom-byte:A-">org.apache.hadoop.hbase.HRegionInfo.parseFrom(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFrom-byte:A-"><code>RegionInfo.parseFrom(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFrom-byte:A-int-int-">org.apache.hadoop.hbase.HRegionInfo.parseFrom(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFrom-byte:A-int-int-"><code>RegionInfo.parseFrom(byte[], int, int)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFrom-java.io.DataInputStream-">org.apache.hadoop.hbase.HRegionInfo.parseFrom(DataInputStream)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFrom-java.io.DataInputStream-"><code>RegionInfo.parseFrom(DataInputStream)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFromOrNull-byte:A-">org.apache.hadoop.hbase.HRegionInfo.parseFromOrNull(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFromOrNull-byte:A-"><code>RegionInfo.parseFromOrNull(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseFromOrNull-byte:A-int-int-">org.apache.hadoop.hbase.HRegionInfo.parseFromOrNull(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseFromOrNull-byte:A-int-int-"><code>RegionInfo.parseFromOrNull(byte[], int, int)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parseHostname-java.lang.String-">org.apache.hadoop.hbase.ServerName.parseHostname(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parsePort-java.lang.String-">org.apache.hadoop.hbase.ServerName.parsePort(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#parseRegionName-byte:A-">org.apache.hadoop.hbase.HRegionInfo.parseRegionName(byte[])</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#parseRegionName-byte:A-"><code>RegionInfo.parseRegionName(byte[])</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parseStartcode-java.lang.String-">org.apache.hadoop.hbase.ServerName.parseStartcode(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#parseTableCFsFromConfig-java.lang.String-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.parseTableCFsFromConfig(String)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.postCompletedModifyTableAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a>
 <div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postInstantiateDeleteTracker-org.apache.hadoop.hbase.regionserver.querymatcher.DeleteTracker-">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postInstantiateDeleteTracker(DeleteTracker)</a>
 <div class="block"><span class="deprecationComment">Since 2.0 with out any replacement and will be removed in 3.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postInstantiateDeleteTracker-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.querymatcher.DeleteTracker-">org.apache.hadoop.hbase.coprocessor.RegionObserver.postInstantiateDeleteTracker(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, DeleteTracker)</a>
 <div class="block"><span class="deprecationComment">Since 2.0 with out any replacement and will be removed in 3.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.postModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor)</a>
 <div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.postModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a>
 <div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postMutationBeforeWAL-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType-org.apache.hadoop.hbase.client.Mutation-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.coprocessor.RegionObserver.postMutationBeforeWAL(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, RegionObserver.MutationType, Mutation, Cell, [...]
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postIncrementBeforeWAL-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Mutation-java.util.List-"><code>RegionObserver.postIncrementBeforeWAL(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment&gt;, org.apache.hadoop.hbase.client.Mutation, java.util.List&lt;org.apache. [...]
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#postReplicateLogEntries-org.apache.hadoop.hbase.coprocessor.ObserverContext-">org.apache.hadoop.hbase.coprocessor.RegionServerObserver.postReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0 with out any replacement. This is maintained for internal
  usage by AccessController. Do not use these hooks in custom co-processors.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postStoreFileReaderOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.FSDataInputStreamWrapper-long-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.hbase.io.Reference-org.apache.hadoop.hbase.regionserver.StoreFileReader-">org.apache.hadoop.hbase.coprocessor.RegionObserver.postStoreFileReaderOpen(Obser [...]
 <div class="block"><span class="deprecationComment">For Phoenix only, StoreFileReader is not a stable interface.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postWALRestore-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postWALRestore(RegionInfo, WALKey, WALEdit)</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. No replacement. To be removed in hbase-3.0.0 and replaced
  with something that doesn't expose IntefaceAudience.Private classes.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/WALObserver.html#postWALWrite-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">org.apache.hadoop.hbase.coprocessor.WALObserver.postWALWrite(ObserverContext&lt;? extends WALCoprocessorEnvironment&gt;, RegionInfo, WALKey, WALEdit)</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. To be replaced with an alternative that does not expose
  InterfaceAudience classes such as WALKey and WALEdit. Will be removed in hbase-3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.preModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor)</a>
 <div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.preModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a>
 <div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.preModifyTableAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a>
 <div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#prePrepareTimeStampForDeleteVersion-org.apache.hadoop.hbase.client.Mutation-org.apache.hadoop.hbase.Cell-byte:A-org.apache.hadoop.hbase.client.Get-">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.prePrepareTimeStampForDeleteVersion(Mutation, Cell, byte[], Get)</a>
 <div class="block"><span class="deprecationComment">In hbase-2.0.0. Will be removed in hbase-3.0.0. Added explicitly for a single
  Coprocessor for its needs only. Will be removed.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#prePrepareTimeStampForDeleteVersion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Mutation-org.apache.hadoop.hbase.Cell-byte:A-org.apache.hadoop.hbase.client.Get-">org.apache.hadoop.hbase.coprocessor.RegionObserver.prePrepareTimeStampForDeleteVersion(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, Mutation, Cell, byte[], Get)</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. No replacement. To be removed in hbase-3.0.0 and replaced
  with something that doesn't expose IntefaceAudience.Private classes.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#preReplicateLogEntries-org.apache.hadoop.hbase.coprocessor.ObserverContext-">org.apache.hadoop.hbase.coprocessor.RegionServerObserver.preReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0 with out any replacement. This is maintained for internal
  usage by AccessController. Do not use these hooks in custom co-processors.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preStoreFileReaderOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.FSDataInputStreamWrapper-long-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.hbase.io.Reference-org.apache.hadoop.hbase.regionserver.StoreFileReader-">org.apache.hadoop.hbase.coprocessor.RegionObserver.preStoreFileReaderOpen(Observe [...]
 <div class="block"><span class="deprecationComment">For Phoenix only, StoreFileReader is not a stable interface.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#prettyPrint-java.lang.String-">org.apache.hadoop.hbase.HRegionInfo.prettyPrint(String)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#prettyPrint-java.lang.String-"><code>RegionInfo.prettyPrint(String)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preWALRestore-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preWALRestore(RegionInfo, WALKey, WALEdit)</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. No replacement. To be removed in hbase-3.0.0 and replaced
  with something that doesn't expose IntefaceAudience.Private classes.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/WALObserver.html#preWALWrite-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">org.apache.hadoop.hbase.coprocessor.WALObserver.preWALWrite(ObserverContext&lt;? extends WALCoprocessorEnvironment&gt;, RegionInfo, WALKey, WALEdit)</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. To be replaced with an alternative that does not expose
  InterfaceAudience classes such as WALKey and WALEdit. Will be removed in hbase-3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/Region.html#processRowsWithLocks-org.apache.hadoop.hbase.regionserver.RowProcessor-">org.apache.hadoop.hbase.regionserver.Region.processRowsWithLocks(RowProcessor&lt;?, ?&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0. For customization, use
  Coprocessors instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/Region.html#processRowsWithLocks-org.apache.hadoop.hbase.regionserver.RowProcessor-long-long-">org.apache.hadoop.hbase.regionserver.Region.processRowsWithLocks(RowProcessor&lt;?, ?&gt;, long, long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0. For customization, use
  Coprocessors instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/Region.html#processRowsWithLocks-org.apache.hadoop.hbase.regionserver.RowProcessor-long-long-long-">org.apache.hadoop.hbase.regionserver.Region.processRowsWithLocks(RowProcessor&lt;?, ?&gt;, long, long, long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0. For customization, use
  Coprocessors instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putIntUnsafe-byte:A-int-int-">org.apache.hadoop.hbase.util.Bytes.putIntUnsafe(byte[], int, int)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putLongUnsafe-byte:A-int-long-">org.apache.hadoop.hbase.util.Bytes.putLongUnsafe(byte[], int, long)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putShortUnsafe-byte:A-int-short-">org.apache.hadoop.hbase.util.Bytes.putShortUnsafe(byte[], int, short)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/ZKDataMigrator.html#queryForTableStates-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">org.apache.hadoop.hbase.util.ZKDataMigrator.queryForTableStates(ZKWatcher)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. To be removed in hbase-3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/wal/Compressor.html#readCompressed-java.io.DataInput-org.apache.hadoop.hbase.io.util.Dictionary-">org.apache.hadoop.hbase.regionserver.wal.Compressor.readCompressed(DataInput, Dictionary)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/io/Reference.html#readFields-java.io.DataInput-">org.apache.hadoop.hbase.io.Reference.readFields(DataInput)</a>
 <div class="block"><span class="deprecationComment">Writables are going away. Use the pb serialization methods instead.
  Remove in a release after 0.96 goes out.  This is here only to migrate
  old Reference files written with Writables before 0.96.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#readVLong-byte:A-int-">org.apache.hadoop.hbase.util.Bytes.readVLong(byte[], int)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/util/Bytes.html#readAsVLong-byte:A-int-"><code>Bytes.readAsVLong(byte[],int)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#removePeer-java.lang.String-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.removePeer(String)</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#removeReplicationPeer-java.lang.String-"><code>Admin.removeReplicationPeer(String)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#removePeerTableCFs-java.lang.String-java.util.Map-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.removePeerTableCFs(String, Map&lt;TableName, ? extends Collection&lt;String&gt;&gt;)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#removePeerTableCFs-java.lang.String-java.lang.String-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.removePeerTableCFs(String, String)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0,
  use <a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#removePeerTableCFs-java.lang.String-java.util.Map-"><code>ReplicationAdmin.removePeerTableCFs(String, Map)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/access/AccessControlUtil.html#revoke-com.google.protobuf.RpcController-org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.BlockingInterface-java.lang.String-org.apache.hadoop.hbase.security.access.Permission.Action...-">org.apache.hadoop.hbase.security.access.AccessControlUtil.revoke(RpcController, AccessControlProtos.AccessControlService.BlockingInterface, String, Permission.Action...)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/Admin.html#grant-org.apache.hadoop.hbase.security.access.UserPermission-boolean-"><code>Admin.grant(UserPermission, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/access/AccessControlUtil.html#revoke-com.google.protobuf.RpcController-org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.BlockingInterface-java.lang.String-java.lang.String-org.apache.hadoop.hbase.security.access.Permission.Action...-">org.apache.hadoop.hbase.security.access.AccessControlUtil.revoke(RpcController, AccessControlProtos.AccessControlService.BlockingInterface, String, String, Permi [...]
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/Admin.html#grant-org.apache.hadoop.hbase.security.access.UserPermission-boolean-"><code>Admin.grant(UserPermission, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/access/AccessControlUtil.html#revoke-com.google.protobuf.RpcController-org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService.BlockingInterface-java.lang.String-org.apache.hadoop.hbase.TableName-byte:A-byte:A-org.apache.hadoop.hbase.security.access.Permission.Action...-">org.apache.hadoop.hbase.security.access.AccessControlUtil.revoke(RpcController, AccessControlProtos.AccessControlService.BlockingI [...]
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/Admin.html#grant-org.apache.hadoop.hbase.security.access.UserPermission-boolean-"><code>Admin.grant(UserPermission, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#revoke-com.google.protobuf.RpcController-org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.RevokeRequest-com.google.protobuf.RpcCallback-">org.apache.hadoop.hbase.security.access.AccessController.revoke(RpcController, AccessControlProtos.RevokeRequest, RpcCallback&lt;AccessControlProtos.RevokeResponse&gt;)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/Admin.html#revoke-org.apache.hadoop.hbase.security.access.UserPermission-"><code>Admin.revoke(UserPermission)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#rollHLogWriter-java.lang.String-">org.apache.hadoop.hbase.client.HBaseAdmin.rollHLogWriter(String)</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#rollWALWriter-org.apache.hadoop.hbase.ServerName-"><code>HBaseAdmin.rollWALWriter(ServerName)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#runCatalogScan--">org.apache.hadoop.hbase.client.Admin.runCatalogScan()</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#runCatalogJanitor--"><code>Admin.runCatalogJanitor()</code></a>}
  instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths-org.apache.hadoop.conf.Configuration-java.lang.String:A-java.lang.String-">org.apache.hadoop.hbase.security.visibility.VisibilityClient.setAuths(Configuration, String[], String)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths-org.apache.hadoop.hbase.client.Connection-java.lang.String:A-java.lang.String-"><code>VisibilityClient.setAuths(Connection,String[],String)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#setBalancerRunning-boolean-boolean-">org.apache.hadoop.hbase.client.Admin.setBalancerRunning(boolean, boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
  Use <a href="org/apache/hadoop/hbase/client/Admin.html#balancerSwitch-boolean-boolean-"><code>Admin.balancerSwitch(boolean, boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setBandwidth-long-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setBandwidth(long)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setBandwidth-long-"><code>ReplicationPeerConfigBuilder.setBandwidth(long)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/http/HttpServer.Builder.html#setBindAddress-java.lang.String-">org.apache.hadoop.hbase.http.HttpServer.Builder.setBindAddress(String)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#setCacheDataInL1-boolean-">org.apache.hadoop.hbase.HColumnDescriptor.setCacheDataInL1(boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0 and will be removed in 3.0 with out any replacement. Caching data in on
              heap Cache, when there are both on heap LRU Cache and Bucket Cache will no longer
              be supported from 2.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#setCleanerChoreRunning-boolean-">org.apache.hadoop.hbase.client.Admin.setCleanerChoreRunning(boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#cleanerChoreSwitch-boolean-"><code>Admin.cleanerChoreSwitch(boolean)</code></a>}
  instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#setClosestRowBefore-boolean-">org.apache.hadoop.hbase.client.Get.setClosestRowBefore(boolean)</a>
 <div class="block"><span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setClusterKey-java.lang.String-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setClusterKey(String)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setClusterKey-java.lang.String-"><code>ReplicationPeerConfigBuilder.setClusterKey(String)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setCoprocessorWithSpec-java.lang.String-">org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor.setCoprocessorWithSpec(String)</a>
 <div class="block"><span class="deprecationComment">used by HTableDescriptor and admin.rb.
                        As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setExcludeNamespaces-java.util.Set-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setExcludeNamespaces(Set&lt;String&gt;)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setExcludeNamespaces-java.util.Set-"><code>ReplicationPeerConfigBuilder.setExcludeNamespaces(Set)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#setExcludeTableCFsMap-java.util.Map-">org.apache.hadoop.hbase.replication.ReplicationPeerConfig.setExcludeTableCFsMap(Map&lt;TableName, ? extends Collection&lt;String&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0. Use
              <a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html#setExcludeTableCFsMap-java.util.Map-"><code>ReplicationPeerConfigBuilder.setExcludeTableCFsMap(Map)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Increment.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Increment.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Increment.html#Increment-byte:A-long-java.util.NavigableMap-"><code>Increment.Increment(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Delete.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Delete.html#Delete-byte:A-long-java.util.NavigableMap-"><code>Delete.Delete(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Mutation.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Mutation.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Mutation.html#Mutation-byte:A-long-java.util.NavigableMap-"><code>Mutation.Mutation(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Append.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Append.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Append.html#Append-byte:A-long-java.util.NavigableMap-"><code>Append.Append(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Put.html#setFamilyCellMap-java.util.NavigableMap-">org.apache.hadoop.hbase.client.Put.setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="org/apache/hadoop/hbase/client/Put.html#Put-byte:A-long-java.util.NavigableMap-"><code>Put.Put(byte[], long, NavigableMap)</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#setMaxVersions--">org.apache.hadoop.hbase.client.Get.setMaxVersions()</a>
 <div class="block"><span class="deprecationComment">It is easy to misunderstand with column family's max versions, so use
              <a href="org/apache/hadoop/hbase/client/Get.html#readAllVersions--"><code>Get.readAllVersions()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setMaxVersions--">org.apache.hadoop.hbase.client.Scan.setMaxVersions()</a>
 <div class="block"><span class="deprecationComment">It is easy to misunderstand with column family's max versions, so use
              <a href="org/apache/hadoop/hbase/client/Scan.html#readAllVersions--"><code>Scan.readAllVersions()</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
... 30584 lines suppressed ...