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 2023/07/25 14:43:47 UTC

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

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 04d84309f46 Published site at 83ea0da77a344ae84adb5426c346350a3004bcad.
04d84309f46 is described below

commit 04d84309f461b17a4b831dc614b99426e0657ffd
Author: jenkins <bu...@apache.org>
AuthorDate: Tue Jul 25 14:43:26 2023 +0000

    Published site at 83ea0da77a344ae84adb5426c346350a3004bcad.
---
 acid-semantics.html                                |    2 +-
 apache_hbase_reference_guide.pdf                   |    4 +-
 apidocs/index-all.html                             |   24 +
 .../client/AsyncTable.CoprocessorCallback.html     |   10 +-
 .../org/apache/hadoop/hbase/client/AsyncTable.html |  132 +-
 .../hadoop/hbase/client/AsyncTableBuilder.html     |   34 +-
 .../hadoop/hbase/client/ConnectionFactory.html     |  122 +-
 apidocs/org/apache/hadoop/hbase/client/Table.html  |   44 +-
 .../apache/hadoop/hbase/client/TableBuilder.html   |   24 +-
 .../hbase/client/class-use/AsyncConnection.html    |    8 +
 .../hbase/client/class-use/AsyncTableBuilder.html  |   19 +-
 .../hadoop/hbase/client/class-use/Connection.html  |   13 +-
 .../hbase/client/class-use/TableBuilder.html       |    9 +-
 .../hadoop/hbase/security/class-use/User.html      |   17 +
 .../client/AsyncTable.CoprocessorCallback.html     | 1392 ++++++++--------
 .../org/apache/hadoop/hbase/client/AsyncTable.html | 1392 ++++++++--------
 .../hadoop/hbase/client/AsyncTableBuilder.html     |   11 +-
 .../hadoop/hbase/client/ConnectionFactory.html     |  631 ++++----
 .../org/apache/hadoop/hbase/client/Table.html      |   10 +-
 .../apache/hadoop/hbase/client/TableBuilder.html   |   11 +-
 book.html                                          |    2 +-
 bulk-loads.html                                    |    2 +-
 checkstyle-aggregate.html                          |   38 +-
 checkstyle.rss                                     |   16 +-
 coc.html                                           |    2 +-
 dependencies.html                                  |    2 +-
 dependency-convergence.html                        |    2 +-
 dependency-info.html                               |    2 +-
 dependency-management.html                         |    2 +-
 devapidocs/index-all.html                          |  110 +-
 .../apache/hadoop/hbase/backup/package-tree.html   |    2 +-
 .../apache/hadoop/hbase/class-use/CellScanner.html |    3 +-
 .../hadoop/hbase/class-use/HRegionLocation.html    |    5 +-
 .../apache/hadoop/hbase/class-use/TableName.html   |   15 +-
 .../AsyncAdminRequestRetryingCaller.Callable.html  |    4 +-
 .../client/AsyncAdminRequestRetryingCaller.html    |   10 +-
 .../AsyncBatchRpcRetryingCaller.RegionRequest.html |    8 +-
 .../AsyncBatchRpcRetryingCaller.ServerRequest.html |   12 +-
 .../hbase/client/AsyncBatchRpcRetryingCaller.html  |   73 +-
 .../AsyncClientScanner.OpenScannerResponse.html    |   14 +-
 .../hadoop/hbase/client/AsyncClientScanner.html    |   85 +-
 .../hbase/client/AsyncClusterConnectionImpl.html   |   26 +-
 .../hadoop/hbase/client/AsyncConnectionImpl.html   |  142 +-
 ...yncMasterRequestRpcRetryingCaller.Callable.html |    4 +-
 .../AsyncMasterRequestRpcRetryingCaller.html       |   10 +-
 .../AsyncRegionReplicationRetryingCaller.html      |   18 +-
 .../hbase/client/AsyncRpcRetryingCaller.html       |   62 +-
 ...ingCallerFactory.AdminRequestCallerBuilder.html |   36 +-
 ...pcRetryingCallerFactory.BatchCallerBuilder.html |   66 +-
 .../AsyncRpcRetryingCallerFactory.BuilderBase.html |   12 +-
 ...ngCallerFactory.MasterRequestCallerBuilder.html |   36 +-
 ...allerFactory.ScanSingleRegionCallerBuilder.html |  114 +-
 ...ngCallerFactory.ServerRequestCallerBuilder.html |   32 +-
 ...ngCallerFactory.SingleRequestCallerBuilder.html |   86 +-
 .../client/AsyncRpcRetryingCallerFactory.html      |   20 +-
 ...RegionRpcRetryingCaller.ScanControllerImpl.html |   22 +-
 ...egionRpcRetryingCaller.ScanControllerState.html |   14 +-
 ...gleRegionRpcRetryingCaller.ScanResumerImpl.html |   20 +-
 ...leRegionRpcRetryingCaller.ScanResumerState.html |   12 +-
 .../AsyncScanSingleRegionRpcRetryingCaller.html    |  100 +-
 ...yncServerRequestRpcRetryingCaller.Callable.html |    4 +-
 .../AsyncServerRequestRpcRetryingCaller.html       |   10 +-
 ...yncSingleRequestRpcRetryingCaller.Callable.html |    4 +-
 .../AsyncSingleRequestRpcRetryingCaller.html       |   30 +-
 .../client/AsyncTable.CheckAndMutateBuilder.html   |   18 +-
 ...AsyncTable.CheckAndMutateWithFilterBuilder.html |   10 +-
 .../client/AsyncTable.CoprocessorCallback.html     |   10 +-
 .../AsyncTable.CoprocessorServiceBuilder.html      |   12 +-
 .../org/apache/hadoop/hbase/client/AsyncTable.html |  132 +-
 .../hadoop/hbase/client/AsyncTableBuilder.html     |   34 +-
 .../hadoop/hbase/client/AsyncTableBuilderBase.html |  102 +-
 .../apache/hadoop/hbase/client/AsyncTableImpl.html |  115 +-
 .../hadoop/hbase/client/ConnectionFactory.html     |  122 +-
 .../client/ConnectionOverAsyncConnection.html      |   10 +-
 ...awAsyncTableImpl.CheckAndMutateBuilderImpl.html |   32 +-
 ...leImpl.CheckAndMutateWithFilterBuilderImpl.html |   18 +-
 ...yncTableImpl.CoprocessorServiceBuilderImpl.html |   24 +-
 .../client/RawAsyncTableImpl.NoncedConverter.html  |    4 +-
 .../hadoop/hbase/client/RawAsyncTableImpl.html     |  216 +--
 .../org/apache/hadoop/hbase/client/Table.html      |   44 +-
 .../apache/hadoop/hbase/client/TableBuilder.html   |   24 +-
 .../hadoop/hbase/client/TableBuilderBase.html      |   70 +-
 .../hadoop/hbase/client/TableOverAsyncTable.html   |   49 +-
 .../class-use/AdvancedScanResultConsumer.html      |   10 +-
 .../hbase/client/class-use/AsyncConnection.html    |    8 +
 .../client/class-use/AsyncConnectionImpl.html      |   25 +-
 ...pcRetryingCallerFactory.BatchCallerBuilder.html |    6 +-
 ...allerFactory.ScanSingleRegionCallerBuilder.html |    8 +-
 ...ngCallerFactory.SingleRequestCallerBuilder.html |    8 +-
 ...yncSingleRequestRpcRetryingCaller.Callable.html |    5 +-
 .../hbase/client/class-use/AsyncTableBuilder.html  |   12 +
 .../hadoop/hbase/client/class-use/Connection.html  |   19 +-
 .../hbase/client/class-use/ConnectionRegistry.html |    8 +
 .../class-use/MetricsConnection.CallStats.html     |    3 +-
 .../hbase/client/class-use/MetricsConnection.html  |   27 +-
 .../hbase/client/class-use/RegionLocateType.html   |    5 +-
 .../apache/hadoop/hbase/client/class-use/Row.html  |    5 +-
 .../apache/hadoop/hbase/client/class-use/Scan.html |   10 +-
 .../hbase/client/class-use/ScanResultCache.html    |    5 +-
 .../hbase/client/class-use/TableBuilder.html       |    9 +-
 .../hbase/client/class-use/TableBuilderBase.html   |    7 +-
 .../client/metrics/class-use/ScanMetrics.html      |    5 +-
 .../apache/hadoop/hbase/client/package-tree.html   |   22 +-
 .../apache/hadoop/hbase/codec/class-use/Codec.html |    5 +-
 .../hadoop/hbase/coprocessor/package-tree.html     |    2 +-
 .../apache/hadoop/hbase/filter/package-tree.html   |   10 +-
 .../hadoop/hbase/hbtop/field/package-tree.html     |    2 +-
 .../hadoop/hbase/hbtop/terminal/package-tree.html  |    2 +-
 .../org/apache/hadoop/hbase/http/package-tree.html |    2 +-
 .../hadoop/hbase/io/crypto/tls/package-tree.html   |    2 +-
 .../hadoop/hbase/io/encoding/package-tree.html     |    2 +-
 .../apache/hadoop/hbase/io/hfile/package-tree.html |    6 +-
 .../org/apache/hadoop/hbase/io/package-tree.html   |    2 +-
 .../ipc/AbstractRpcClient.AbstractRpcChannel.html  |   14 +-
 ...RpcClient.BlockingRpcChannelImplementation.html |    6 +-
 ...AbstractRpcClient.RpcChannelImplementation.html |    6 +-
 .../apache/hadoop/hbase/ipc/AbstractRpcClient.html |  159 +-
 .../apache/hadoop/hbase/ipc/BlockingRpcClient.html |   24 +-
 devapidocs/org/apache/hadoop/hbase/ipc/Call.html   |   93 +-
 .../hbase/ipc/DelegatingHBaseRpcController.html    |  112 +-
 .../HBaseRpcController.CancellationCallback.html   |    4 +-
 .../hadoop/hbase/ipc/HBaseRpcController.html       |   82 +-
 .../hadoop/hbase/ipc/HBaseRpcControllerImpl.html   |  153 +-
 .../org/apache/hadoop/hbase/ipc/IPCUtil.html       |   30 +-
 .../apache/hadoop/hbase/ipc/NettyRpcClient.html    |   46 +-
 .../apache/hadoop/hbase/ipc/NettyServerCall.html   |    2 +-
 .../org/apache/hadoop/hbase/ipc/RpcCall.html       |   79 +-
 .../apache/hadoop/hbase/ipc/RpcClientFactory.html  |   26 +-
 .../org/apache/hadoop/hbase/ipc/RpcConnection.html |  103 +-
 .../org/apache/hadoop/hbase/ipc/ServerCall.html    |  211 +--
 .../apache/hadoop/hbase/ipc/SimpleServerCall.html  |    2 +-
 .../apache/hadoop/hbase/ipc/class-use/Call.html    |    3 +-
 .../hadoop/hbase/ipc/class-use/ConnectionId.html   |    5 +-
 .../hadoop/hbase/ipc/class-use/RpcClient.html      |    5 +-
 .../org/apache/hadoop/hbase/ipc/package-tree.html  |    4 +-
 .../hadoop/hbase/mapreduce/package-tree.html       |    2 +-
 .../hbase/master/assignment/package-tree.html      |    2 +-
 .../apache/hadoop/hbase/master/package-tree.html   |    4 +-
 .../hbase/master/procedure/package-tree.html       |    4 +-
 .../org/apache/hadoop/hbase/package-tree.html      |   20 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    2 +-
 .../apache/hadoop/hbase/quotas/package-tree.html   |    6 +-
 .../hadoop/hbase/regionserver/package-tree.html    |   18 +-
 .../regionserver/querymatcher/package-tree.html    |    2 +-
 .../storefiletracker/package-tree.html             |    2 +-
 .../hbase/regionserver/wal/package-tree.html       |    2 +-
 .../hadoop/hbase/replication/package-tree.html     |    2 +-
 .../replication/regionserver/package-tree.html     |    2 +-
 .../hadoop/hbase/security/access/package-tree.html |    6 +-
 .../hadoop/hbase/security/class-use/User.html      |   30 +-
 .../apache/hadoop/hbase/thrift/package-tree.html   |    2 +-
 .../hbase/thrift2/client/ThriftConnection.html     |   26 +-
 .../hadoop/hbase/thrift2/client/ThriftTable.html   |    2 +-
 .../apache/hadoop/hbase/trace/package-tree.html    |    2 +-
 .../org/apache/hadoop/hbase/util/package-tree.html |   12 +-
 .../org/apache/hadoop/hbase/wal/package-tree.html  |    2 +-
 .../AsyncAdminRequestRetryingCaller.Callable.html  |  101 +-
 .../client/AsyncAdminRequestRetryingCaller.html    |  101 +-
 .../AsyncBatchRpcRetryingCaller.RegionRequest.html |  809 +++++-----
 .../AsyncBatchRpcRetryingCaller.ServerRequest.html |  809 +++++-----
 .../hbase/client/AsyncBatchRpcRetryingCaller.html  |  809 +++++-----
 .../AsyncClientScanner.OpenScannerResponse.html    |  481 +++---
 .../hadoop/hbase/client/AsyncClientScanner.html    |  481 +++---
 .../hbase/client/AsyncClusterConnectionImpl.html   |  311 ++--
 .../hadoop/hbase/client/AsyncConnectionImpl.html   |  811 +++++-----
 ...yncMasterRequestRpcRetryingCaller.Callable.html |  125 +-
 .../AsyncMasterRequestRpcRetryingCaller.html       |  125 +-
 .../AsyncRegionReplicationRetryingCaller.html      |  214 +--
 .../hbase/client/AsyncRpcRetryingCaller.html       |  398 ++---
 ...ingCallerFactory.AdminRequestCallerBuilder.html |  997 ++++++------
 ...pcRetryingCallerFactory.BatchCallerBuilder.html |  997 ++++++------
 .../AsyncRpcRetryingCallerFactory.BuilderBase.html |  997 ++++++------
 ...ngCallerFactory.MasterRequestCallerBuilder.html |  997 ++++++------
 ...allerFactory.ScanSingleRegionCallerBuilder.html |  997 ++++++------
 ...ngCallerFactory.ServerRequestCallerBuilder.html |  997 ++++++------
 ...ngCallerFactory.SingleRequestCallerBuilder.html |  997 ++++++------
 .../client/AsyncRpcRetryingCallerFactory.html      |  997 ++++++------
 ...RegionRpcRetryingCaller.ScanControllerImpl.html | 1168 +++++++-------
 ...egionRpcRetryingCaller.ScanControllerState.html | 1168 +++++++-------
 ...gleRegionRpcRetryingCaller.ScanResumerImpl.html | 1168 +++++++-------
 ...leRegionRpcRetryingCaller.ScanResumerState.html | 1168 +++++++-------
 .../AsyncScanSingleRegionRpcRetryingCaller.html    | 1168 +++++++-------
 ...yncServerRequestRpcRetryingCaller.Callable.html |  111 +-
 .../AsyncServerRequestRpcRetryingCaller.html       |  111 +-
 ...yncSingleRequestRpcRetryingCaller.Callable.html |  204 +--
 .../AsyncSingleRequestRpcRetryingCaller.html       |  204 +--
 .../client/AsyncTable.CheckAndMutateBuilder.html   | 1392 ++++++++--------
 ...AsyncTable.CheckAndMutateWithFilterBuilder.html | 1392 ++++++++--------
 .../client/AsyncTable.CoprocessorCallback.html     | 1392 ++++++++--------
 .../AsyncTable.CoprocessorServiceBuilder.html      | 1392 ++++++++--------
 .../org/apache/hadoop/hbase/client/AsyncTable.html | 1392 ++++++++--------
 .../hadoop/hbase/client/AsyncTableBuilder.html     |   11 +-
 .../hadoop/hbase/client/AsyncTableBuilderBase.html |  220 +--
 .../apache/hadoop/hbase/client/AsyncTableImpl.html |  566 +++----
 .../hadoop/hbase/client/ConnectionFactory.html     |  631 ++++----
 .../client/ConnectionOverAsyncConnection.html      |   71 +-
 ...awAsyncTableImpl.CheckAndMutateBuilderImpl.html | 1671 ++++++++++----------
 ...leImpl.CheckAndMutateWithFilterBuilderImpl.html | 1671 ++++++++++----------
 ...yncTableImpl.CoprocessorServiceBuilderImpl.html | 1671 ++++++++++----------
 .../client/RawAsyncTableImpl.NoncedConverter.html  | 1671 ++++++++++----------
 .../hadoop/hbase/client/RawAsyncTableImpl.html     | 1671 ++++++++++----------
 .../hbase/client/Table.CheckAndMutateBuilder.html  |   10 +-
 .../Table.CheckAndMutateWithFilterBuilder.html     |   10 +-
 .../org/apache/hadoop/hbase/client/Table.html      |   10 +-
 .../apache/hadoop/hbase/client/TableBuilder.html   |   11 +-
 .../hadoop/hbase/client/TableBuilderBase.html      |  128 +-
 ...OverAsyncTable.RegionCoprocessorRpcChannel.html |   11 +-
 .../hbase/client/TableOverAsyncTable.StubCall.html |   11 +-
 .../hadoop/hbase/client/TableOverAsyncTable.html   |   11 +-
 .../ipc/AbstractRpcClient.AbstractRpcChannel.html  | 1158 +++++++-------
 ...RpcClient.BlockingRpcChannelImplementation.html | 1158 +++++++-------
 ...AbstractRpcClient.RpcChannelImplementation.html | 1158 +++++++-------
 .../apache/hadoop/hbase/ipc/AbstractRpcClient.html | 1158 +++++++-------
 .../apache/hadoop/hbase/ipc/BlockingRpcClient.html |  104 +-
 .../ipc/BlockingRpcConnection.CallSender.html      |    2 +-
 .../hadoop/hbase/ipc/BlockingRpcConnection.html    |    2 +-
 .../src-html/org/apache/hadoop/hbase/ipc/Call.html |  273 ++--
 .../hbase/ipc/DelegatingHBaseRpcController.html    |  239 +--
 .../HBaseRpcController.CancellationCallback.html   |  193 +--
 .../hadoop/hbase/ipc/HBaseRpcController.html       |  193 +--
 .../hadoop/hbase/ipc/HBaseRpcControllerImpl.html   |  460 +++---
 .../org/apache/hadoop/hbase/ipc/IPCUtil.html       |  531 ++++---
 .../apache/hadoop/hbase/ipc/NettyRpcClient.html    |  197 +--
 .../hadoop/hbase/ipc/NettyRpcConnection.html       |    2 +-
 .../org/apache/hadoop/hbase/ipc/RpcCall.html       |  163 +-
 .../apache/hadoop/hbase/ipc/RpcClientFactory.html  |  139 +-
 .../org/apache/hadoop/hbase/ipc/RpcConnection.html |  413 ++---
 .../org/apache/hadoop/hbase/ipc/ServerCall.html    |  960 +++++------
 ...hriftConnection.DefaultThriftClientBuilder.html |   77 +-
 .../client/ThriftConnection.DelayRetryHandler.html |   77 +-
 .../ThriftConnection.HTTPThriftClientBuilder.html  |   77 +-
 .../hbase/thrift2/client/ThriftConnection.html     |   77 +-
 downloads.html                                     |    2 +-
 export_control.html                                |    2 +-
 index.html                                         |    2 +-
 issue-management.html                              |    2 +-
 licenses.html                                      |    2 +-
 mailing-lists.html                                 |    2 +-
 metrics.html                                       |    2 +-
 old_news.html                                      |    2 +-
 plugin-management.html                             |    2 +-
 plugins.html                                       |    2 +-
 poweredbyhbase.html                                |    2 +-
 project-info.html                                  |    2 +-
 project-reports.html                               |    2 +-
 pseudo-distributed.html                            |    2 +-
 replication.html                                   |    2 +-
 resources.html                                     |    2 +-
 scm.html                                           |    2 +-
 sponsors.html                                      |    2 +-
 summary.html                                       |    2 +-
 supportingprojects.html                            |    2 +-
 team.html                                          |    2 +-
 testdevapidocs/allclasses-frame.html               |    2 +
 testdevapidocs/allclasses-noframe.html             |    2 +
 testdevapidocs/index-all.html                      |   74 +-
 ...ityRpcControllerFactory.PriorityController.html |    2 +-
 .../hadoop/hbase/chaos/actions/package-tree.html   |    2 +-
 .../hadoop/hbase/class-use/HBaseClassTestRule.html |  216 +--
 .../hadoop/hbase/class-use/HBaseTestingUtil.html   |  114 +-
 .../hadoop/hbase/client/DummyAsyncTable.html       |   97 +-
 ...ntTimeouts.RandomTimeoutBlockingRpcChannel.html |    6 +-
 ...TestClientTimeouts.RandomTimeoutRpcChannel.html |    6 +-
 .../TestClientTimeouts.RandomTimeoutRpcClient.html |   20 +-
 .../hadoop/hbase/client/TestClientTimeouts.html    |   20 +-
 .../client/TestReplicaWithCluster.SlowMeCopro.html |    4 +-
 ...onnectionAttributes.AttributesCoprocessor.html} |  195 ++-
 ...tml => TestRequestAndConnectionAttributes.html} |  364 ++---
 .../hbase/client/TestRequestTooBigException.html   |    4 +-
 ...RpcBasedRegistryHedgedReads.RpcChannelImpl.html |    6 +-
 ...tRpcBasedRegistryHedgedReads.RpcClientImpl.html |   24 +-
 .../client/TestRpcBasedRegistryHedgedReads.html    |   50 +-
 ...ConnectionAttributes.AttributesCoprocessor.html |  125 ++
 .../TestRequestAndConnectionAttributes.html        |  125 ++
 .../apache/hadoop/hbase/client/package-frame.html  |    2 +
 .../hadoop/hbase/client/package-summary.html       |    8 +
 .../apache/hadoop/hbase/client/package-tree.html   |    2 +
 .../ipc/TestRpcClientLeaks.MyRpcClientImpl.html    |   24 +-
 .../hadoop/hbase/ipc/TestRpcClientLeaks.html       |   20 +-
 .../hadoop/hbase/ipc/TestTLSHandshadeFailure.html  |   28 +-
 ...utputFormat2.ConfigurationCaptorConnection.html |   48 +-
 ...ltiTableInputFormatBase.MRSplitsConnection.html |   38 +-
 ...eInputFormatBase.ConnectionForMergeTesting.html |   10 +-
 .../hbase/namequeues/TestNamedQueueRecorder.html   |    6 +-
 .../org/apache/hadoop/hbase/package-tree.html      |   18 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    4 +-
 .../store/region/TestRegionProcedureStore.html     |    2 +-
 .../hadoop/hbase/regionserver/RegionAsTable.html   |    2 +-
 .../hadoop/hbase/regionserver/package-tree.html    |    6 +-
 .../hadoop/hbase/rest/client/RemoteHTable.html     |    7 +
 .../org/apache/hadoop/hbase/test/package-tree.html |    6 +-
 .../hbase/util/bulkdatagenerator/package-tree.html |    2 +-
 .../org/apache/hadoop/hbase/wal/package-tree.html  |    2 +-
 testdevapidocs/overview-tree.html                  |    2 +
 .../hadoop/hbase/client/DummyAsyncTable.html       |  304 ++--
 ...ntTimeouts.RandomTimeoutBlockingRpcChannel.html |  351 ++--
 ...TestClientTimeouts.RandomTimeoutRpcChannel.html |  351 ++--
 .../TestClientTimeouts.RandomTimeoutRpcClient.html |  351 ++--
 .../hadoop/hbase/client/TestClientTimeouts.html    |  351 ++--
 ...ConnectionAttributes.AttributesCoprocessor.html |  389 +++++
 .../client/TestRequestAndConnectionAttributes.html |  389 +++++
 ...RpcBasedRegistryHedgedReads.RpcChannelImpl.html |  479 +++---
 ...tRpcBasedRegistryHedgedReads.RpcClientImpl.html |  479 +++---
 .../client/TestRpcBasedRegistryHedgedReads.html    |  479 +++---
 .../ipc/TestRpcClientLeaks.MyRpcClientImpl.html    |  213 +--
 .../hadoop/hbase/ipc/TestRpcClientLeaks.html       |  213 +--
 .../ipc/TestRpcServerSlowConnectionSetup.html      |    2 +-
 .../hadoop/hbase/ipc/TestTLSHandshadeFailure.html  |  264 ++--
 ...utputFormat2.ConfigurationCaptorConnection.html |  221 +--
 ...FileOutputFormat2.RandomKVGeneratingMapper.html |  221 +--
 ...ileOutputFormat2.RandomPutGeneratingMapper.html |  221 +--
 .../hbase/mapreduce/TestHFileOutputFormat2.html    |  221 +--
 ...ltiTableInputFormatBase.MRSplitsConnection.html |  249 +--
 .../mapreduce/TestMultiTableInputFormatBase.html   |  249 +--
 ...eInputFormatBase.ConnectionForMergeTesting.html |    4 +-
 ...FormatBase.TableInputFormatForMergeTesting.html |    4 +-
 .../hbase/mapreduce/TestTableInputFormatBase.html  |    4 +-
 .../hbase/namequeues/TestNamedQueueRecorder.html   |  291 ++--
 .../store/region/TestRegionProcedureStore.html     |  302 ++--
 319 files changed, 32519 insertions(+), 29473 deletions(-)

diff --git a/acid-semantics.html b/acid-semantics.html
index da54503be6b..294ce743b26 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -464,7 +464,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-24</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-25</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 0052dacfbd5..49efd3468c0 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 2.0.6, based on Prawn 2.4.0)
 /Producer (Apache HBase Team)
-/ModDate (D:20230724142937+00'00')
-/CreationDate (D:20230724144020+00'00')
+/ModDate (D:20230725142938+00'00')
+/CreationDate (D:20230725144045+00'00')
 >>
 endobj
 2 0 obj
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index c38d68614a5..13c5d105278 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -2666,6 +2666,10 @@
 <dd>
 <div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-java.util.Map-">createAsyncConnection(Configuration, User, Map&lt;String, byte[]&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ConnectionFactory.html" title="class in org.apache.hadoop.hbase.client">ConnectionFactory</a></dt>
+<dd>
+<div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/CellUtil.html#createCellScanner-java.util.List-">createCellScanner(List&lt;? extends CellScannable&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/CellUtil.html" title="class in org.apache.hadoop.hbase">CellUtil</a></dt>
 <dd>
 <div class="block">Returns CellScanner interface over <code>cellIterables</code></div>
@@ -2745,6 +2749,10 @@
 <dd>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-java.util.Map-">createConnection(Configuration, ExecutorService, User, Map&lt;String, byte[]&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ConnectionFactory.html" title="class in org.apache.hadoop.hbas [...]
+<dd>
+<div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Result.html#createCursorResult-org.apache.hadoop.hbase.client.Cursor-">createCursorResult(Cursor)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html#createDecompressionStream-java.io.InputStream-org.apache.hadoop.io.compress.Decompressor-int-">createDecompressionStream(InputStream, Decompressor, int)</a></span> - Method in enum org.apache.hadoop.hbase.io.compress.<a href="org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a></dt>
@@ -8258,6 +8266,14 @@
 <dd>
 <div class="block">Returns the timestamp (server side) of generating this metrics</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTable.html#getRequestAttributes--">getRequestAttributes()</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">Get the map of request attributes</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Table.html#getRequestAttributes--">getRequestAttributes()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></dt>
+<dd>
+<div class="block">Get the attributes to be submitted with requests</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterMetrics.html#getRequestCount--">getRequestCount()</a></span> - Method in interface org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a></dt>
 <dd>
 <div class="block">Returns the number of requests since last report</div>
@@ -16772,6 +16788,14 @@ service.</div>
 <dd>
 <div class="block">Sets replication scope all & only the columns already in the builder.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute(String, byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a></dt>
+<dd>
+<div class="block">Set a request attribute</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableBuilder.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute(String, byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></dt>
+<dd>
+<div class="block">Set a request attribute</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdminBuilder.html#setRetryPause-long-java.util.concurrent.TimeUnit-">setRetryPause(long, TimeUnit)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdminBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminBuilder</a></dt>
 <dd>
 <div class="block">Set the base pause time for retrying.</div>
diff --git a/apidocs/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html b/apidocs/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html
index acdd96374ad..183f24a7c14 100644
--- a/apidocs/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html
+++ b/apidocs/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html
@@ -106,7 +106,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.640">AsyncTable.CoprocessorCallback</a>&lt;R&gt;</pre>
+public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.650">AsyncTable.CoprocessorCallback</a>&lt;R&gt;</pre>
 <div class="block">The callback when we want to execute a coprocessor call on a range of regions.
  <p>
  As the locating itself also takes some time, the implementation may want to send rpc calls on
@@ -218,7 +218,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionComplete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#line.647">onRegionComplete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#line.657">onRegionComplete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
                       <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html" title="type parameter in AsyncTable.CoprocessorCallback">R</a>&nbsp;resp)</pre>
 <div class="block">Indicate that the respose of a region is available</div>
 <dl>
@@ -234,7 +234,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#line.654">onRegionError</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#line.664">onRegionError</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 <div class="block">Indicate that the error for a region is available</div>
 <dl>
@@ -250,7 +250,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockList">
 <li class="blockList">
 <h4>onComplete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#line.661">onComplete</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#line.671">onComplete</a>()</pre>
 <div class="block">Indicate that all responses of the regions have been notified by calling
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#onRegionComplete-org.apache.hadoop.hbase.client.RegionInfo-R-"><code>onRegionComplete(RegionInfo, Object)</code></a> or
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#onRegionError-org.apache.hadoop.hbase.client.RegionInfo-java.lang.Throwable-"><code>onRegionError(RegionInfo, Throwable)</code></a>.</div>
@@ -262,7 +262,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#line.666">onError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html#line.676">onError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 <div class="block">Indicate that we got an error which does not belong to any regions. Usually a locating error.</div>
 </li>
 </ul>
diff --git a/apidocs/org/apache/hadoop/hbase/client/AsyncTable.html b/apidocs/org/apache/hadoop/hbase/client/AsyncTable.html
index 100db250371..5879a6dfabd 100644
--- a/apidocs/org/apache/hadoop/hbase/client/AsyncTable.html
+++ b/apidocs/org/apache/hadoop/hbase/client/AsyncTable.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":18,"i3":38,"i4":38,"i5":6,"i6":6,"i7":18,"i8":6,"i9":6,"i10":6,"i11":6,"i12":18,"i13":18,"i14":18,"i15":18,"i16":6,"i17":6,"i18":18,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":18,"i27":18,"i28":6,"i29":6,"i30":6,"i31":6,"i32":18,"i33":18,"i34":6,"i35":6,"i36":6,"i37":18,"i38":6,"i39":6};
+var methods = {"i0":6,"i1":6,"i2":18,"i3":38,"i4":38,"i5":6,"i6":6,"i7":18,"i8":6,"i9":6,"i10":6,"i11":6,"i12":18,"i13":18,"i14":18,"i15":18,"i16":6,"i17":6,"i18":18,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":18,"i26":6,"i27":18,"i28":18,"i29":6,"i30":6,"i31":6,"i32":6,"i33":18,"i34":18,"i35":6,"i36":6,"i37":6,"i38":18,"i39":6,"i40":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -102,7 +102,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.50">AsyncTable</a>&lt;C extends <a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumerBase.html" title="interface in org.apache.hadoop.hbase.client">ScanResultConsumerBase</a>&gt;</pre>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.52">AsyncTable</a>&lt;C extends <a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumerBase.html" title="interface in org.apache.hadoop.hbase.client">ScanResultConsumerBase</a>&gt;</pre>
 <div class="block">The interface for asynchronous version of Table. Obtain an instance from a
  <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncConnection</code></a>.
  <p>
@@ -316,49 +316,55 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </td>
 </tr>
 <tr id="i25" class="rowColor">
+<td class="colFirst"><code>default <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>,byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getRequestAttributes--">getRequestAttributes</a></span>()</code>
+<div class="block">Get the map of request attributes</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getRpcTimeout-java.util.concurrent.TimeUnit-">getRpcTimeout</a></span>(<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">Get timeout of each rpc request in this Table instance.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-byte:A-">getScanner</a></span>(byte[]&nbsp;family)</code>
 <div class="block">Gets a scanner on the current table for the given family.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-byte:A-byte:A-">getScanner</a></span>(byte[]&nbsp;family,
           byte[]&nbsp;qualifier)</code>
 <div class="block">Gets a scanner on the current table for the given family and qualifier.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> object.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanTimeout-java.util.concurrent.TimeUnit-">getScanTimeout</a></span>(<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">Get the timeout of a single operation in a scan.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getWriteRpcTimeout-java.util.concurrent.TimeUnit-">getWriteRpcTimeout</a></span>(<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">Get timeout of each rpc write request in this Table instance.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#increment-org.apache.hadoop.hbase.client.Increment-">increment</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)</code>
 <div class="block">Increments one or more columns within a single row.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#incrementColumnValue-byte:A-byte:A-byte:A-long-">incrementColumnValue</a></span>(byte[]&nbsp;row,
                     byte[]&nbsp;family,
@@ -367,7 +373,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">See <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#incrementColumnValue-byte:A-byte:A-byte:A-long-org.apache.hadoop.hbase.client.Durability-"><code>incrementColumnValue(byte[], byte[], byte[], long, Durability)</code></a></div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#incrementColumnValue-byte:A-byte:A-byte:A-long-org.apache.hadoop.hbase.client.Durability-">incrementColumnValue</a></span>(byte[]&nbsp;row,
                     byte[]&nbsp;family,
@@ -377,38 +383,38 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Atomically increments a column value.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#mutateRow-org.apache.hadoop.hbase.client.RowMutations-">mutateRow</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutation)</code>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</ [...]
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#put-java.util.List-">put</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">Puts some data in the table, in batch.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#put-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">Puts some data to the table.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#putAll-java.util.List-">putAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">A simple version of batch put.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#scan-org.apache.hadoop.hbase.client.Scan-C-">scan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
     <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="type parameter in AsyncTable">C</a>&nbsp;consumer)</code>
 <div class="block">The scan API uses the observer pattern.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;< [...]
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#scanAll-org.apache.hadoop.hbase.client.Scan-">scanAll</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Return all the results that match the given scan object.</div>
@@ -435,7 +441,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.55">getName</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.57">getName</a>()</pre>
 <div class="block">Gets the fully qualified table name instance of this table.</div>
 </li>
 </ul>
@@ -445,7 +451,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.62">getConfiguration</a>()</pre>
+<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.64">getConfiguration</a>()</pre>
 <div class="block">Returns the <code>Configuration</code> object used by this instance.
  <p>
  The reference returned is not a copy, so any change made to it will affect this instance.</div>
@@ -457,7 +463,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getDescriptor</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.67">getDescriptor</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.69">getDescriptor</a>()</pre>
 <div class="block">Gets the <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client"><code>TableDescriptor</code></a> for this table.</div>
 </li>
 </ul>
@@ -467,7 +473,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionLocator</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.72">getRegionLocator</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.74">getRegionLocator</a>()</pre>
 <div class="block">Gets the <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTableRegionLocator</code></a> for this table.</div>
 </li>
 </ul>
@@ -477,7 +483,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getRpcTimeout</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.82">getRpcTimeout</a>(<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)</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.84">getRpcTimeout</a>(<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)</pre>
 <div class="block">Get timeout of each rpc request in this Table instance. It will be overridden by a more
  specific rpc timeout config such as readRpcTimeout or writeRpcTimeout.</div>
 <dl>
@@ -497,7 +503,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadRpcTimeout</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.89">getReadRpcTimeout</a>(<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)</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.91">getReadRpcTimeout</a>(<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)</pre>
 <div class="block">Get timeout of each rpc read request in this Table instance.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -513,7 +519,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRpcTimeout</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.96">getWriteRpcTimeout</a>(<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)</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.98">getWriteRpcTimeout</a>(<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)</pre>
 <div class="block">Get timeout of each rpc write request in this Table instance.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -529,7 +535,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getOperationTimeout</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.103">getOperationTimeout</a>(<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)</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.105">getOperationTimeout</a>(<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)</pre>
 <div class="block">Get timeout of each operation in Table instance.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -545,7 +551,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanTimeout</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.111">getScanTimeout</a>(<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)</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.113">getScanTimeout</a>(<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)</pre>
 <div class="block">Get the timeout of a single operation in a scan. It works like operation timeout for other
  operations.</div>
 <dl>
@@ -556,13 +562,27 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </dl>
 </li>
 </ul>
+<a name="getRequestAttributes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRequestAttributes</h4>
+<pre>default&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>,byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.119">getRequestAttributes</a>()</pre>
+<div class="block">Get the map of request attributes</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a map of request attributes supplied by the client</dd>
+</dl>
+</li>
+</ul>
 <a name="exists-org.apache.hadoop.hbase.client.Get-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>exists</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.122">exists</a>(<a href="../../../../../org/apa [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.132">exists</a>(<a href="../../../../../org/apa [...]
 <div class="block">Test for the existence of columns in the table, as specified by the Get.
  <p>
  This will return true if the Get matches one or more keys, false if not.
@@ -581,7 +601,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.134">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.144">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" [...]
 <div class="block">Extracts certain cells from a given row.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -600,7 +620,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.141">put</a>(<a href="../../../../../org/apache/hadoop/hbase/clien [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.151">put</a>(<a href="../../../../../org/apache/hadoop/hbase/clien [...]
 <div class="block">Puts some data to the table.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -616,7 +636,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>delete</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.148">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/cl [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.158">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/cl [...]
 <div class="block">Deletes the specified cells/row.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -632,7 +652,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.161">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.171">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append [...]
 <div class="block">Appends values to one or more columns within a single row.
  <p>
  This operation does not appear atomic to readers. Appends are done under a single row lock, so
@@ -654,7 +674,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.174">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Inc [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.184">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Inc [...]
 <div class="block">Increments one or more columns within a single row.
  <p>
  This operation does not appear atomic to readers. Increments are done under a single row lock,
@@ -676,7 +696,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementColumnValue</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.188">incrementColumnValue</a>(byte[]&nbsp;row,
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.198">incrementColumnValue</a>(byte[]&nbsp;row,
                                                      byte[]&nbsp;family,
                                                      byte[]&nbsp;qualifier,
                                                      long&nbsp;amount)</pre>
@@ -702,7 +722,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementColumnValue</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.209">incrementColumnValue</a>(byte[]&nbsp;row,
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.219">incrementColumnValue</a>(byte[]&nbsp;row,
                                                      byte[]&nbsp;family,
                                                      byte[]&nbsp;qualifier,
                                                      long&nbsp;amount,
@@ -734,7 +754,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <li class="blockList">
 <h4>checkAndMutate</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>
-org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateBuilder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.240">checkAndMutate</a>(byte[]&nbsp;row,
+org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateBuilder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.250">checkAndMutate</a>(byte[]&nbsp;row,
                                                                                            byte[]&nbsp;family)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it
              any more.</span></div>
@@ -763,7 +783,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateBuilder&nbsp;<a href="..
 <li class="blockList">
 <h4>checkAndMutate</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>
-org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.328">checkAndMutate</a>(byte[]&nbsp;row,
+org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.338">checkAndMutate</a>(byte[]&nbsp;row,
                                                                                                      <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">Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it
              any more.</span></div>
@@ -790,7 +810,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutate</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.375">checkAndMutate</a>(<a href="../../../../../o [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.385">checkAndMutate</a>(<a href="../../../../../o [...]
 <div class="block">checkAndMutate that atomically checks if a row matches the specified condition. If it does, it
  performs the specified action.</div>
 <dl>
@@ -807,7 +827,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutate</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&gt [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&gt [...]
 <div class="block">Batch version of checkAndMutate. The specified CheckAndMutates are batched only in the sense
  that they are sent to a RS in one RPC, but each CheckAndMutate operation is still executed
  atomically (and thus, each may fail independently of others).</div>
@@ -825,7 +845,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutateAll</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutate [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutate [...]
 <div class="block">A simple version of batch checkAndMutate. It will fail if there are any failures.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -841,7 +861,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRow</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.403">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.413">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row [...]
 <div class="block">Performs multiple mutations atomically on a single row. Currently <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and
  <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> are supported.</div>
 <dl>
@@ -860,7 +880,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>scan</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.412">scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.422">scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
           <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="type parameter in AsyncTable">C</a>&nbsp;consumer)</pre>
 <div class="block">The scan API uses the observer pattern.</div>
 <dl>
@@ -879,7 +899,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.419">getScanner</a>(byte[]&nbsp;family)</pre>
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.429">getScanner</a>(byte[]&nbsp;family)</pre>
 <div class="block">Gets a scanner on the current table for the given family.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -895,7 +915,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.429">getScanner</a>(byte[]&nbsp;family,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.439">getScanner</a>(byte[]&nbsp;family,
                                  byte[]&nbsp;qualifier)</pre>
 <div class="block">Gets a scanner on the current table for the given family and qualifier.</div>
 <dl>
@@ -913,7 +933,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.438">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.448">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</pre>
 <div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> object.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -929,7 +949,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>scanAll</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;&nbsp;<a href="../../.. [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;&nbsp;<a href="../../.. [...]
 <div class="block">Return all the results that match the given scan object.
  <p>
  Notice that usually you should use this method with a <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> object that has limit set.
@@ -973,7 +993,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>exists</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>& [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>& [...]
 <div class="block">Test for the existence of columns in the table, as specified by the Gets.
  <p>
  This will return a list of booleans. Each value will be true if the related Get matches one or
@@ -994,7 +1014,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>existsAll</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>& [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>& [...]
 <div class="block">A simple version for batch exists. It will fail if there are any failures and you will get the
  whole result boolean list at once if the operation is succeeded.</div>
 <dl>
@@ -1011,7 +1031,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;&nbsp;<a href="../../.. [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;&nbsp;<a href="../../.. [...]
 <div class="block">Extracts certain cells from the given rows, in batch.
  <p>
  Notice that you may not get all the results with this function, which means some of the
@@ -1031,7 +1051,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>getAll</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;&nbsp;<a h [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;&nbsp;<a h [...]
 <div class="block">A simple version for batch get. It will fail if there are any failures and you will get the
  whole result list at once if the operation is succeeded.</div>
 <dl>
@@ -1048,7 +1068,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;<a hre [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;<a hre [...]
 <div class="block">Puts some data in the table, in batch.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1064,7 +1084,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>putAll</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.533">putAll</a>(<a href="https://docs.oracle.com/java [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.543">putAll</a>(<a href="https://docs.oracle.com/java [...]
 <div class="block">A simple version of batch put. It will fail if there are any failures.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1080,7 +1100,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>delete</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;<a hre [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;<a hre [...]
 <div class="block">Deletes the specified cells/rows in bulk.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1096,7 +1116,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteAll</h4>
-<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.549">deleteAll</a>(<a href="https://docs.oracle.com/j [...]
+<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.559">deleteAll</a>(<a href="https://docs.oracle.com/j [...]
 <div class="block">A simple version of batch delete. It will fail if there are any failures.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1112,7 +1132,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>batch</h4>
-<pre>&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.561">batch</a>(<a href="https://docs.oracl [...]
+<pre>&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.571">batch</a>(<a href="https://docs.oracl [...]
 <div class="block">Method that does a batch call on Deletes, Gets, Puts, Increments, Appends and RowMutations. The
  ordering of execution of the actions is not defined. Meaning if you do a Put and a Get in the
  same <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#batch-java.util.List-"><code>batch(java.util.List&lt;? extends org.apache.hadoop.hbase.client.Row&gt;)</code></a> call, you will not necessarily be guaranteed that the Get returns what the
@@ -1131,7 +1151,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>batchAll</h4>
-<pre>default&nbsp;&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.569">batchAll</a>(<a href="ht [...]
+<pre>default&nbsp;&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.579">batchAll</a>(<a href="ht [...]
 <div class="block">A simple version of batch. It will fail if there are any failures and you will get the whole
  result list at once if the operation is succeeded.</div>
 <dl>
@@ -1148,7 +1168,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<pre>&lt;S,R&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;R&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.592">coprocessorService</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Functi [...]
+<pre>&lt;S,R&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;R&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.602">coprocessorService</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Functi [...]
                                               <a href="../../../../../org/apache/hadoop/hbase/client/ServiceCaller.html" title="interface in org.apache.hadoop.hbase.client">ServiceCaller</a>&lt;S,R&gt;&nbsp;callable,
                                               byte[]&nbsp;row)</pre>
 <div class="block">Execute the given coprocessor call on the region which contains the given <code>row</code>.
@@ -1181,7 +1201,7 @@ org.apache.hadoop.hbase.client.AsyncTable.CheckAndMutateWithFilterBuilder&nbsp;<
 <ul class="blockListLast">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<pre>&lt;S,R&gt;&nbsp;org.apache.hadoop.hbase.client.AsyncTable.CoprocessorServiceBuilder&lt;S,R&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.735">coprocessorService</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel,S&gt;&nbsp;stubMaker,
+<pre>&lt;S,R&gt;&nbsp;org.apache.hadoop.hbase.client.AsyncTable.CoprocessorServiceBuilder&lt;S,R&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTable.html#line.745">coprocessorService</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel,S&gt;&nbsp;stubMaker,
                                                                                                   <a href="../../../../../org/apache/hadoop/hbase/client/ServiceCaller.html" title="interface in org.apache.hadoop.hbase.client">ServiceCaller</a>&lt;S,R&gt;&nbsp;callable,
                                                                                                   <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable.CoprocessorCallback</a>&lt;R&gt;&nbsp;callback)</pre>
 <div class="block">Execute a coprocessor call on the regions which are covered by a range.
diff --git a/apidocs/org/apache/hadoop/hbase/client/AsyncTableBuilder.html b/apidocs/org/apache/hadoop/hbase/client/AsyncTableBuilder.html
index 0cc72d3f956..891ca04cc67 100644
--- a/apidocs/org/apache/hadoop/hbase/client/AsyncTableBuilder.html
+++ b/apidocs/org/apache/hadoop/hbase/client/AsyncTableBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":18,"i3":6,"i4":6,"i5":6,"i6":50,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6};
+var methods = {"i0":6,"i1":6,"i2":18,"i3":6,"i4":6,"i5":6,"i6":6,"i7":50,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -164,12 +164,19 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute</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;key,
+                   byte[]&nbsp;value)</code>
+<div class="block">Set a request attribute</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.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>default <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setRetryPauseForCQTBE-long-java.util.concurrent.TimeUnit-">setRetryPauseForCQTBE</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>
@@ -179,21 +186,21 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setRetryPauseForServerOverloaded-long-java.util.concurrent.TimeUnit-">setRetryPauseForServerOverloaded</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 when <a href="../../../../../org/apache/hadoop/hbase/HBaseServerException.html#isServerOverloaded--"><code>HBaseServerException.isServerOverloaded()</code></a>.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.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.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setScanTimeout-long-java.util.concurrent.TimeUnit-">setScanTimeout</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>
@@ -201,13 +208,13 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
  crash.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.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="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setWriteRpcTimeout-long-java.util.concurrent.TimeUnit-">setWriteRpcTimeout</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>
@@ -412,13 +419,24 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBu
 <div class="block">Set the number of retries that are allowed before we start to log.</div>
 </li>
 </ul>
+<a name="setRequestAttribute-java.lang.String-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRequestAttribute</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTableBuilder.html#line.143">setRequestAttribute</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html [...]
+                                         byte[]&nbsp;value)</pre>
+<div class="block">Set a request attribute</div>
+</li>
+</ul>
 <a name="build--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>build</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTableBuilder.html#line.143">build</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncTableBuilder.html#line.148">build</a>()</pre>
 <div class="block">Create the <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a> instance.</div>
 </li>
 </ul>
diff --git a/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html b/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html
index d9c71267795..a18dadf0dea 100644
--- a/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html
+++ b/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.72">ConnectionFactory</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.74">ConnectionFactory</a>
 extends <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></pre>
 <div class="block">A non-instantiable class that manages creation of <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>s. Managing the lifecycle of
  the <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>s to the cluster is the responsibility of the caller. From a
@@ -227,25 +227,33 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-java.util.Map-">createAsyncConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                     <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                     <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>,byte[]&gt;&nbsp;connectionAttributes)</code>
+<div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection--">createConnection</a></span>()</code>
 <div class="block">Create a new Connection instance using default HBaseConfiguration.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</code>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
@@ -253,7 +261,16 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-java.util.Map-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
+                <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                <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>,byte[]&gt;&nbsp;connectionAttributes)</code>
+<div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                 <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>
@@ -288,7 +305,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBASE_CLIENT_ASYNC_CONNECTION_IMPL</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/ConnectionFactory.html#line.74">HBASE_CLIENT_ASYNC_CONNECTION_IMPL</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/ConnectionFactory.html#line.76">HBASE_CLIENT_ASYNC_CONNECTION_IMPL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.ConnectionFactory.HBASE_CLIENT_ASYNC_CONNECTION_IMPL">Constant Field Values</a></dd>
@@ -309,7 +326,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ConnectionFactory</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.78">ConnectionFactory</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.80">ConnectionFactory</a>()</pre>
 <div class="block">No public c.tors</div>
 </li>
 </ul>
@@ -327,7 +344,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.103">createConnection</a>()
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.105">createConnection</a>()
                                    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">Create a new Connection instance using default HBaseConfiguration. Connection encapsulates all
  housekeeping for a connection to the cluster. All tables and interfaces created from returned
@@ -361,7 +378,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.131">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.133">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                                    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">Create a new Connection instance using the passed <code>conf</code> instance. Connection
  encapsulates all housekeeping for a connection to the cluster. All tables and interfaces
@@ -397,7 +414,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.159">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.161">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)
                                    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">Create a new Connection instance using the passed <code>conf</code> instance. Connection
@@ -435,7 +452,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.188">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.190">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                           <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                    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">Create a new Connection instance using the passed <code>conf</code> instance. Connection
@@ -473,7 +490,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.217">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.219">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
                                           <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                    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>
@@ -507,13 +524,55 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createConnection</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.250">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
+                                          <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                                          <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>,byte[]&gt;&nbsp;connectionAttributes)
+                                   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">Create a new Connection instance using the passed <code>conf</code> instance. Connection
+ encapsulates all housekeeping for a connection to the cluster. All tables and interfaces
+ created from returned connection share zookeeper connection, meta cache, and connections to
+ region servers and masters. <br>
+ The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned connection
+ instance. Typical usage:
+
+ <pre>
+ Connection connection = ConnectionFactory.createConnection(conf);
+ Table table = connection.getTable(TableName.valueOf("table1"));
+ try {
+   table.get(...);
+   ...
+ } finally {
+   table.close();
+   connection.close();
+ }
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conf</code> - configuration</dd>
+<dd><code>user</code> - the user the connection is for</dd>
+<dd><code>pool</code> - the thread pool to use for batch operations</dd>
+<dd><code>connectionAttributes</code> - attributes to be sent along to server during connection establish</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Connection object for <code>conf</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><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></code></dd>
+</dl>
+</li>
+</ul>
 <a name="createAsyncConnection--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>createAsyncConnection</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.242">createAsyncConnection</a [...]
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.276">createAsyncConnection</a [...]
 <div class="block">Call <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-"><code>createAsyncConnection(Configuration)</code></a> using default HBaseConfiguration.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -529,7 +588,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createAsyncConnection</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.255">createAsyncConnection</a [...]
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.289">createAsyncConnection</a [...]
 <div class="block">Call <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-"><code>createAsyncConnection(Configuration, User)</code></a> using the given <code>conf</code> and a
  User object created by <code>UserProvider</code>. The given <code>conf</code> will also be used to
  initialize the <code>UserProvider</code>.</div>
@@ -547,10 +606,10 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <a name="createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>createAsyncConnection</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.282">createAsyncConnection</a [...]
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.316">createAsyncConnection</a [...]
                                                                        <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 <div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.
  AsyncConnection encapsulates all housekeeping for a connection to the cluster. All tables and
@@ -571,6 +630,35 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createAsyncConnection</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.337">createAsyncConnection</a [...]
+                                                                       <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                                                                       <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>,byte[]&gt;&nbsp;connectionAttributes)</pre>
+<div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.
+ AsyncConnection encapsulates all housekeeping for a connection to the cluster. All tables and
+ interfaces created from returned connection share zookeeper connection, meta cache, and
+ connections to region servers and masters.
+ <p>
+ The caller is responsible for calling <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io"><code>Closeable.close()</code></a> on the returned
+ connection instance.
+ <p>
+ Usually you should only create one AsyncConnection instance in your code and use it everywhere
+ as it is thread safe.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conf</code> - configuration</dd>
+<dd><code>user</code> - the user the asynchronous connection is for</dd>
+<dd><code>connectionAttributes</code> - attributes to be sent along to server during connection establish</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>AsyncConnection object wrapped by CompletableFuture</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/apidocs/org/apache/hadoop/hbase/client/Table.html b/apidocs/org/apache/hadoop/hbase/client/Table.html
index 9c9f1492343..93fe7573b2b 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Table.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Table.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":18,"i1":18,"i2":50,"i3":50,"i4":50,"i5":50,"i6":50,"i7":18,"i8":18,"i9":18,"i10":50,"i11":50,"i12":50,"i13":18,"i14":18,"i15":18,"i16":18,"i17":18,"i18":18,"i19":6,"i20":6,"i21":6,"i22":18,"i23":18,"i24":6,"i25":18,"i26":18,"i27":18,"i28":18,"i29":18,"i30":18,"i31":18,"i32":18,"i33":18,"i34":18,"i35":18};
+var methods = {"i0":18,"i1":18,"i2":50,"i3":50,"i4":50,"i5":50,"i6":50,"i7":18,"i8":18,"i9":18,"i10":50,"i11":50,"i12":50,"i13":18,"i14":18,"i15":18,"i16":18,"i17":18,"i18":18,"i19":6,"i20":6,"i21":6,"i22":18,"i23":18,"i24":6,"i25":18,"i26":18,"i27":18,"i28":18,"i29":18,"i30":18,"i31":18,"i32":18,"i33":18,"i34":18,"i35":18,"i36":18};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -351,43 +351,49 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm
 </td>
 </tr>
 <tr id="i25" class="rowColor">
+<td class="colFirst"><code>default <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>,byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#getRequestAttributes--">getRequestAttributes</a></span>()</code>
+<div class="block">Get the attributes to be submitted with requests</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>default long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#getRpcTimeout-java.util.concurrent.TimeUnit-">getRpcTimeout</a></span>(<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">Get timeout of each rpc request in this Table instance.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-byte:A-">getScanner</a></span>(byte[]&nbsp;family)</code>
 <div class="block">Gets a scanner on the current table for the given family.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-byte:A-byte:A-">getScanner</a></span>(byte[]&nbsp;family,
           byte[]&nbsp;qualifier)</code>
 <div class="block">Gets a scanner on the current table for the given family and qualifier.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> object.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>default long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#getWriteRpcTimeout-java.util.concurrent.TimeUnit-">getWriteRpcTimeout</a></span>(<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">Get timeout of each rpc write request in this Table instance.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#increment-org.apache.hadoop.hbase.client.Increment-">increment</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)</code>
 <div class="block">Increments one or more columns within a single row.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>default long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#incrementColumnValue-byte:A-byte:A-byte:A-long-">incrementColumnValue</a></span>(byte[]&nbsp;row,
                     byte[]&nbsp;family,
@@ -396,7 +402,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm
 <div class="block">See <a href="../../../../../org/apache/hadoop/hbase/client/Table.html#incrementColumnValue-byte:A-byte:A-byte:A-long-org.apache.hadoop.hbase.client.Durability-"><code>incrementColumnValue(byte[], byte[], byte[], long, Durability)</code></a></div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>default long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#incrementColumnValue-byte:A-byte:A-byte:A-long-org.apache.hadoop.hbase.client.Durability-">incrementColumnValue</a></span>(byte[]&nbsp;row,
                     byte[]&nbsp;family,
@@ -406,19 +412,19 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm
 <div class="block">Atomically increments a column value.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#mutateRow-org.apache.hadoop.hbase.client.RowMutations-">mutateRow</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#put-java.util.List-">put</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">Batch puts the specified data into the table.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#put-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">Puts some data in the table.</div>
@@ -1346,7 +1352,7 @@ default&nbsp;&lt;R extends org.apache.hbase.thirdparty.com.google.protobuf.Messa
 <a name="getOperationTimeout-java.util.concurrent.TimeUnit-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getOperationTimeout</h4>
 <pre>default&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Table.html#line.751">getOperationTimeout</a>(<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)</pre>
@@ -1359,6 +1365,20 @@ default&nbsp;&lt;R extends org.apache.hbase.thirdparty.com.google.protobuf.Messa
 </dl>
 </li>
 </ul>
+<a name="getRequestAttributes--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getRequestAttributes</h4>
+<pre>default&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>,byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Table.html#line.759">getRequestAttributes</a>()</pre>
+<div class="block">Get the attributes to be submitted with requests</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>map of request attributes</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/apidocs/org/apache/hadoop/hbase/client/TableBuilder.html b/apidocs/org/apache/hadoop/hbase/client/TableBuilder.html
index e16b83647a6..fd168314477 100644
--- a/apidocs/org/apache/hadoop/hbase/client/TableBuilder.html
+++ b/apidocs/org/apache/hadoop/hbase/client/TableBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -145,11 +145,18 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute</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;key,
+                   byte[]&nbsp;value)</code>
+<div class="block">Set a request attribute</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html#setRpcTimeout-int-">setRpcTimeout</a></span>(int&nbsp;timeout)</code>
 <div class="block">Set timeout for each rpc request.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html#setWriteRpcTimeout-int-">setWriteRpcTimeout</a></span>(int&nbsp;timeout)</code>
 <div class="block">Set timeout for each write(put, delete) rpc request.</div>
@@ -217,13 +224,24 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="block">Set timeout for each write(put, delete) rpc request.</div>
 </li>
 </ul>
+<a name="setRequestAttribute-java.lang.String-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRequestAttribute</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableBuilder.html#line.61">setRequestAttribute</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;key,
+                                 byte[]&nbsp;value)</pre>
+<div class="block">Set a request attribute</div>
+</li>
+</ul>
 <a name="build--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>build</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableBuilder.html#line.61">build</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableBuilder.html#line.66">build</a>()</pre>
 <div class="block">Create the <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> instance.</div>
 </li>
 </ul>
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html b/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html
index a400ddb96fd..e45f9d0a27f 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html
@@ -139,6 +139,14 @@
 <div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-java.util.Map-">createAsyncConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                     <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                     <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>,byte[]&gt;&nbsp;connectionAttributes)</code>
+<div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncTableBuilder.html b/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncTableBuilder.html
index beb982fc253..6dccdd727aa 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncTableBuilder.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncTableBuilder.html
@@ -145,12 +145,19 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute</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;key,
+                   byte[]&nbsp;value)</code>
+<div class="block">Set a request attribute</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncTableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.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>default <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncTableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setRetryPauseForCQTBE-long-java.util.concurrent.TimeUnit-">setRetryPauseForCQTBE</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>
@@ -160,21 +167,21 @@
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncTableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setRetryPauseForServerOverloaded-long-java.util.concurrent.TimeUnit-">setRetryPauseForServerOverloaded</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 when <a href="../../../../../../org/apache/hadoop/hbase/HBaseServerException.html#isServerOverloaded--"><code>HBaseServerException.isServerOverloaded()</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncTableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.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.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncTableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setScanTimeout-long-java.util.concurrent.TimeUnit-">setScanTimeout</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>
@@ -182,13 +189,13 @@
  crash.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncTableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.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="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="type parameter in AsyncTableBuilder">C</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncTableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setWriteRpcTimeout-long-java.util.concurrent.TimeUnit-">setWriteRpcTimeout</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>
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
index 39e8c519c22..eba6ee1d263 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
@@ -194,18 +194,27 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-java.util.Map-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
+                <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                <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>,byte[]&gt;&nbsp;connectionAttributes)</code>
+<div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                 <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Admin.html#getConnection--">getConnection</a></span>()</code>
 <div class="block">Returns Connection used by this object.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncConnection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#toConnection--">toConnection</a></span>()</code>
 <div class="block">Convert this connection to a <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>.</div>
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/TableBuilder.html b/apidocs/org/apache/hadoop/hbase/client/class-use/TableBuilder.html
index bc4e55f4258..7aaf28699cf 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/TableBuilder.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/TableBuilder.html
@@ -125,11 +125,18 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TableBuilder.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute</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;key,
+                   byte[]&nbsp;value)</code>
+<div class="block">Set a request attribute</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TableBuilder.html#setRpcTimeout-int-">setRpcTimeout</a></span>(int&nbsp;timeout)</code>
 <div class="block">Set timeout for each rpc request.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TableBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/TableBuilder.html#setWriteRpcTimeout-int-">setWriteRpcTimeout</a></span>(int&nbsp;timeout)</code>
 <div class="block">Set timeout for each write(put, delete) rpc request.</div>
diff --git a/apidocs/org/apache/hadoop/hbase/security/class-use/User.html b/apidocs/org/apache/hadoop/hbase/security/class-use/User.html
index d6e04661475..fbec9ef4af6 100644
--- a/apidocs/org/apache/hadoop/hbase/security/class-use/User.html
+++ b/apidocs/org/apache/hadoop/hbase/security/class-use/User.html
@@ -172,6 +172,14 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-java.util.Map-">createAsyncConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                     <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                     <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>,byte[]&gt;&nbsp;connectionAttributes)</code>
+<div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
@@ -179,6 +187,15 @@
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-java.util.Map-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
+                <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                <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>,byte[]&gt;&nbsp;connectionAttributes)</code>
+<div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html
index 2ed6c9faa6e..c0dc156b11c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTable.CoprocessorCallback.html
@@ -30,719 +30,729 @@
 <span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.util.FutureUtils.allOf;<a name="line.22"></a>
 <span class="sourceLineNo">023</span><a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.util.List;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.CompletableFuture;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.concurrent.TimeUnit;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.function.Function;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.TableName;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * The interface for asynchronous version of Table. Obtain an instance from a<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * {@link AsyncConnection}.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * The implementation is required to be thread safe.<a name="line.43"></a>
+<span class="sourceLineNo">025</span>import java.util.Map;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.concurrent.CompletableFuture;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.concurrent.TimeUnit;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.function.Function;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.lang3.NotImplementedException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableName;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * The interface for asynchronous version of Table. Obtain an instance from a<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * {@link AsyncConnection}.<a name="line.43"></a>
 <span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * Usually the implementation will not throw any exception directly. You need to get the exception<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * from the returned {@link CompletableFuture}.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * @since 2.0.0<a name="line.47"></a>
-<span class="sourceLineNo">048</span> */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public interface AsyncTable&lt;C extends ScanResultConsumerBase&gt; {<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  /**<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * Gets the fully qualified table name instance of this table.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  TableName getName();<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * Returns the {@link org.apache.hadoop.conf.Configuration} object used by this instance.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * &lt;p&gt;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * The reference returned is not a copy, so any change made to it will affect this instance.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  Configuration getConfiguration();<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /**<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * Gets the {@link TableDescriptor} for this table.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  CompletableFuture&lt;TableDescriptor&gt; getDescriptor();<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  /**<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * Gets the {@link AsyncTableRegionLocator} for this table.<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  AsyncTableRegionLocator getRegionLocator();<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * Get timeout of each rpc request in this Table instance. It will be overridden by a more<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * specific rpc timeout config such as readRpcTimeout or writeRpcTimeout.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * @see #getReadRpcTimeout(TimeUnit)<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * @see #getWriteRpcTimeout(TimeUnit)<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * @param unit the unit of time the timeout to be represented in<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * @return rpc timeout in the specified time unit<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  long getRpcTimeout(TimeUnit unit);<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Get timeout of each rpc read request in this Table instance.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param unit the unit of time the timeout to be represented in<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return read rpc timeout in the specified time unit<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  long getReadRpcTimeout(TimeUnit unit);<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  /**<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * Get timeout of each rpc write request in this Table instance.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   * @param unit the unit of time the timeout to be represented in<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @return write rpc timeout in the specified time unit<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   */<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  long getWriteRpcTimeout(TimeUnit unit);<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * Get timeout of each operation in Table instance.<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @param unit the unit of time the timeout to be represented in<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @return operation rpc timeout in the specified time unit<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  long getOperationTimeout(TimeUnit unit);<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /**<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * Get the timeout of a single operation in a scan. It works like operation timeout for other<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * operations.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @param unit the unit of time the timeout to be represented in<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @return scan rpc timeout in the specified time unit<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  long getScanTimeout(TimeUnit unit);<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  /**<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * Test for the existence of columns in the table, as specified by the Get.<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * &lt;p&gt;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * This will return true if the Get matches one or more keys, false if not.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * &lt;p&gt;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * This is a server-side call so it prevents any data from being transfered to the client.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @return true if the specified Get matches one or more keys, false if not. The return value will<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   *         be wrapped by a {@link CompletableFuture}.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  default CompletableFuture&lt;Boolean&gt; exists(Get get) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    return get(toCheckExistenceOnly(get)).thenApply(r -&gt; r.getExists());<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /**<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * Extracts certain cells from a given row.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @param get The object that specifies what data to fetch and from which row.<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @return The data coming from the specified row, if it exists. If the row specified doesn't<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   *         exist, the {@link Result} instance returned won't contain any<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   *         {@link org.apache.hadoop.hbase.KeyValue}, as indicated by {@link Result#isEmpty()}. The<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   *         return value will be wrapped by a {@link CompletableFuture}.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  CompletableFuture&lt;Result&gt; get(Get get);<a name="line.134"></a>
+<span class="sourceLineNo">045</span> * The implementation is required to be thread safe.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * Usually the implementation will not throw any exception directly. You need to get the exception<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * from the returned {@link CompletableFuture}.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * @since 2.0.0<a name="line.49"></a>
+<span class="sourceLineNo">050</span> */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>@InterfaceAudience.Public<a name="line.51"></a>
+<span class="sourceLineNo">052</span>public interface AsyncTable&lt;C extends ScanResultConsumerBase&gt; {<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  /**<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * Gets the fully qualified table name instance of this table.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  TableName getName();<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Returns the {@link org.apache.hadoop.conf.Configuration} object used by this instance.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * &lt;p&gt;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * The reference returned is not a copy, so any change made to it will affect this instance.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  Configuration getConfiguration();<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  /**<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * Gets the {@link TableDescriptor} for this table.<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  CompletableFuture&lt;TableDescriptor&gt; getDescriptor();<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * Gets the {@link AsyncTableRegionLocator} for this table.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  AsyncTableRegionLocator getRegionLocator();<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * Get timeout of each rpc request in this Table instance. It will be overridden by a more<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * specific rpc timeout config such as readRpcTimeout or writeRpcTimeout.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @see #getReadRpcTimeout(TimeUnit)<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @see #getWriteRpcTimeout(TimeUnit)<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * @param unit the unit of time the timeout to be represented in<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   * @return rpc timeout in the specified time unit<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  long getRpcTimeout(TimeUnit unit);<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Get timeout of each rpc read request in this Table instance.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param unit the unit of time the timeout to be represented in<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @return read rpc timeout in the specified time unit<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  long getReadRpcTimeout(TimeUnit unit);<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * Get timeout of each rpc write request in this Table instance.<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param unit the unit of time the timeout to be represented in<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @return write rpc timeout in the specified time unit<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  long getWriteRpcTimeout(TimeUnit unit);<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>   * Get timeout of each operation in Table instance.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * @param unit the unit of time the timeout to be represented in<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @return operation rpc timeout in the specified time unit<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  long getOperationTimeout(TimeUnit unit);<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>   * Get the timeout of a single operation in a scan. It works like operation timeout for other<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * operations.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * @param unit the unit of time the timeout to be represented in<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * @return scan rpc timeout in the specified time unit<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  long getScanTimeout(TimeUnit unit);<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * Get the map of request attributes<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * @return a map of request attributes supplied by the client<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  default Map&lt;String, byte[]&gt; getRequestAttributes() {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    throw new NotImplementedException("Add an implementation!");<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>  /**<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * Test for the existence of columns in the table, as specified by the Get.<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * &lt;p&gt;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * This will return true if the Get matches one or more keys, false if not.<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * &lt;p&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * This is a server-side call so it prevents any data from being transfered to the client.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @return true if the specified Get matches one or more keys, false if not. The return value will<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   *         be wrapped by a {@link CompletableFuture}.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  default CompletableFuture&lt;Boolean&gt; exists(Get get) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return get(toCheckExistenceOnly(get)).thenApply(r -&gt; r.getExists());<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>  /**<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Puts some data to the table.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @param put The data to put.<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  CompletableFuture&lt;Void&gt; put(Put put);<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * Deletes the specified cells/row.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @param delete The object that specifies what to delete.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  CompletableFuture&lt;Void&gt; delete(Delete delete);<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Appends values to one or more columns within a single row.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * &lt;p&gt;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * This operation does not appear atomic to readers. Appends are done under a single row lock, so<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * write operations to a row are synchronized, but readers do not take row locks so get and scan<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * operations can see this operation partially completed.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @param append object that specifies the columns and amounts to be used for the increment<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   *               operations<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @return values of columns after the append operation (maybe null). The return value will be<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   *         wrapped by a {@link CompletableFuture}.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  CompletableFuture&lt;Result&gt; append(Append append);<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>   * Increments one or more columns within a single row.<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * &lt;p&gt;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * This operation does not appear atomic to readers. Increments are done under a single row lock,<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * so write operations to a row are synchronized, but readers do not take row locks so get and<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * scan operations can see this operation partially completed.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * @param increment object that specifies the columns and amounts to be used for the increment<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   *                  operations<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * @return values of columns after the increment. The return value will be wrapped by a<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   *         {@link CompletableFuture}.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  CompletableFuture&lt;Result&gt; increment(Increment increment);<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  /**<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * See {@link #incrementColumnValue(byte[], byte[], byte[], long, Durability)}<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * &lt;p&gt;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * The {@link Durability} is defaulted to {@link Durability#SYNC_WAL}.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param row       The row that contains the cell to increment.<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @param family    The column family of the cell to increment.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * @param qualifier The column qualifier of the cell to increment.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * @param amount    The amount to increment the cell with (or decrement, if the amount is<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   *                  negative).<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @return The new value, post increment. The return value will be wrapped by a<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   *         {@link CompletableFuture}.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  default CompletableFuture&lt;Long&gt; incrementColumnValue(byte[] row, byte[] family, byte[] qualifier,<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    long amount) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return incrementColumnValue(row, family, qualifier, amount, Durability.SYNC_WAL);<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>   * Atomically increments a column value. If the column value already exists and is not a<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * big-endian long, this could throw an exception. If the column value does not yet exist it is<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * initialized to &lt;code&gt;amount&lt;/code&gt; and written to the specified column.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * &lt;p&gt;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   * Setting durability to {@link Durability#SKIP_WAL} means that in a fail scenario you will lose<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * any increments that have not been flushed.<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   * @param row        The row that contains the cell to increment.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * @param family     The column family of the cell to increment.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * @param qualifier  The column qualifier of the cell to increment.<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * @param amount     The amount to increment the cell with (or decrement, if the amount is<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   *                   negative).<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * @param durability The persistence guarantee for this increment.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @return The new value, post increment. The return value will be wrapped by a<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   *         {@link CompletableFuture}.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  default CompletableFuture&lt;Long&gt; incrementColumnValue(byte[] row, byte[] family, byte[] qualifier,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    long amount, Durability durability) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    Preconditions.checkNotNull(row, "row is null");<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    Preconditions.checkNotNull(family, "family is null");<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    return increment(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      new Increment(row).addColumn(family, qualifier, amount).setDurability(durability))<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        .thenApply(r -&gt; Bytes.toLong(r.getValue(family, qualifier)));<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>   * Atomically checks if a row/family/qualifier value matches the expected value. If it does, it<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   * adds the Put/Delete/RowMutations.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * &lt;p&gt;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * Use the returned {@link CheckAndMutateBuilder} to construct your request and then execute it.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * This is a fluent style API, the code is like:<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   *<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * &lt;pre&gt;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * table.checkAndMutate(row, family).qualifier(qualifier).ifNotExists().thenPut(put)<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   *   .thenAccept(succ -&amp;gt; {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   *     if (succ) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   *       System.out.println("Check and put succeeded");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   *     } else {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   *       System.out.println("Check and put failed");<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   *     }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   *   });<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * &lt;/pre&gt;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   *<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   *             any more.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  @Deprecated<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  CheckAndMutateBuilder checkAndMutate(byte[] row, byte[] family);<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * A helper class for sending checkAndMutate request.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   *             any more.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  @Deprecated<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  interface CheckAndMutateBuilder {<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>    /**<a name="line.250"></a>
-<span class="sourceLineNo">251</span>     * Match a qualifier.<a name="line.251"></a>
-<span class="sourceLineNo">252</span>     * @param qualifier column qualifier to check.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>     */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    CheckAndMutateBuilder qualifier(byte[] qualifier);<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>     * Match a timerange.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @param timeRange time range to check.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    CheckAndMutateBuilder timeRange(TimeRange timeRange);<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    /**<a name="line.262"></a>
-<span class="sourceLineNo">263</span>     * Check for lack of column.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>     */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    CheckAndMutateBuilder ifNotExists();<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    /**<a name="line.267"></a>
-<span class="sourceLineNo">268</span>     * Check for equality.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>     * @param value the expected value<a name="line.269"></a>
-<span class="sourceLineNo">270</span>     */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    default CheckAndMutateBuilder ifEquals(byte[] value) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      return ifMatches(CompareOperator.EQUAL, value);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>    /**<a name="line.275"></a>
-<span class="sourceLineNo">276</span>     * Compare a value<a name="line.276"></a>
-<span class="sourceLineNo">277</span>     * @param compareOp comparison operator to use<a name="line.277"></a>
-<span class="sourceLineNo">278</span>     * @param value     the expected value<a name="line.278"></a>
-<span class="sourceLineNo">279</span>     */<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    CheckAndMutateBuilder ifMatches(CompareOperator compareOp, byte[] value);<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    /**<a name="line.282"></a>
-<span class="sourceLineNo">283</span>     * Specify a Put to commit if the check succeeds.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>     * @param put data to put if check succeeds<a name="line.284"></a>
-<span class="sourceLineNo">285</span>     * @return {@code true} if the new put was executed, {@code false} otherwise. The return value<a name="line.285"></a>
-<span class="sourceLineNo">286</span>     *         will be wrapped by a {@link CompletableFuture}.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>     */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    CompletableFuture&lt;Boolean&gt; thenPut(Put put);<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>    /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>     * Specify a Delete to commit if the check succeeds.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>     * @param delete data to delete if check succeeds<a name="line.292"></a>
-<span class="sourceLineNo">293</span>     * @return {@code true} if the new delete was executed, {@code false} otherwise. The return<a name="line.293"></a>
-<span class="sourceLineNo">294</span>     *         value will be wrapped by a {@link CompletableFuture}.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>     */<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    CompletableFuture&lt;Boolean&gt; thenDelete(Delete delete);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>     * Specify a RowMutations to commit if the check succeeds.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>     * @param mutation mutations to perform if check succeeds<a name="line.300"></a>
-<span class="sourceLineNo">301</span>     * @return true if the new mutation was executed, false otherwise. The return value will be<a name="line.301"></a>
-<span class="sourceLineNo">302</span>     *         wrapped by a {@link CompletableFuture}.<a name="line.302"></a>
-<span class="sourceLineNo">303</span>     */<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    CompletableFuture&lt;Boolean&gt; thenMutate(RowMutations mutation);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  /**<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * Atomically checks if a row matches the specified filter. If it does, it adds the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Put/Delete/RowMutations.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Use the returned {@link CheckAndMutateWithFilterBuilder} to construct your request and then<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * execute it. This is a fluent style API, the code is like:<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   *<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * &lt;pre&gt;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * table.checkAndMutate(row, filter).thenPut(put).thenAccept(succ -&amp;gt; {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *   if (succ) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   *     System.out.println("Check and put succeeded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   *   } else {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   *     System.out.println("Check and put failed");<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>   * &lt;/pre&gt;<a name="line.322"></a>
+<span class="sourceLineNo">137</span>   * Extracts certain cells from a given row.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * @param get The object that specifies what data to fetch and from which row.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * @return The data coming from the specified row, if it exists. If the row specified doesn't<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   *         exist, the {@link Result} instance returned won't contain any<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   *         {@link org.apache.hadoop.hbase.KeyValue}, as indicated by {@link Result#isEmpty()}. The<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   *         return value will be wrapped by a {@link CompletableFuture}.<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   */<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  CompletableFuture&lt;Result&gt; get(Get get);<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * Puts some data to the table.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @param put The data to put.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   */<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  CompletableFuture&lt;Void&gt; put(Put put);<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * Deletes the specified cells/row.<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * @param delete The object that specifies what to delete.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  CompletableFuture&lt;Void&gt; delete(Delete delete);<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>   * Appends values to one or more columns within a single row.<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * &lt;p&gt;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * This operation does not appear atomic to readers. Appends are done under a single row lock, so<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * write operations to a row are synchronized, but readers do not take row locks so get and scan<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * operations can see this operation partially completed.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * @param append object that specifies the columns and amounts to be used for the increment<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   *               operations<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * @return values of columns after the append operation (maybe null). The return value will be<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   *         wrapped by a {@link CompletableFuture}.<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  CompletableFuture&lt;Result&gt; append(Append append);<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * Increments one or more columns within a single row.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * &lt;p&gt;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * This operation does not appear atomic to readers. Increments are done under a single row lock,<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * so write operations to a row are synchronized, but readers do not take row locks so get and<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   * scan operations can see this operation partially completed.<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * @param increment object that specifies the columns and amounts to be used for the increment<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   *                  operations<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * @return values of columns after the increment. The return value will be wrapped by a<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   *         {@link CompletableFuture}.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  CompletableFuture&lt;Result&gt; increment(Increment increment);<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>   * See {@link #incrementColumnValue(byte[], byte[], byte[], long, Durability)}<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * &lt;p&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * The {@link Durability} is defaulted to {@link Durability#SYNC_WAL}.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * @param row       The row that contains the cell to increment.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * @param family    The column family of the cell to increment.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * @param qualifier The column qualifier of the cell to increment.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param amount    The amount to increment the cell with (or decrement, if the amount is<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   *                  negative).<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @return The new value, post increment. The return value will be wrapped by a<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   *         {@link CompletableFuture}.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  default CompletableFuture&lt;Long&gt; incrementColumnValue(byte[] row, byte[] family, byte[] qualifier,<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    long amount) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    return incrementColumnValue(row, family, qualifier, amount, Durability.SYNC_WAL);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * Atomically increments a column value. If the column value already exists and is not a<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * big-endian long, this could throw an exception. If the column value does not yet exist it is<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * initialized to &lt;code&gt;amount&lt;/code&gt; and written to the specified column.<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * &lt;p&gt;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * Setting durability to {@link Durability#SKIP_WAL} means that in a fail scenario you will lose<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * any increments that have not been flushed.<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @param row        The row that contains the cell to increment.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * @param family     The column family of the cell to increment.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @param qualifier  The column qualifier of the cell to increment.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * @param amount     The amount to increment the cell with (or decrement, if the amount is<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   *                   negative).<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * @param durability The persistence guarantee for this increment.<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * @return The new value, post increment. The return value will be wrapped by a<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   *         {@link CompletableFuture}.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  default CompletableFuture&lt;Long&gt; incrementColumnValue(byte[] row, byte[] family, byte[] qualifier,<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    long amount, Durability durability) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    Preconditions.checkNotNull(row, "row is null");<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    Preconditions.checkNotNull(family, "family is null");<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    return increment(<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      new Increment(row).addColumn(family, qualifier, amount).setDurability(durability))<a name="line.224"></a>
+<span class="sourceLineNo">225</span>        .thenApply(r -&gt; Bytes.toLong(r.getValue(family, qualifier)));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  }<a name="line.226"></a>
+<span class="sourceLineNo">227</span><a name="line.227"></a>
+<span class="sourceLineNo">228</span>  /**<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * Atomically checks if a row/family/qualifier value matches the expected value. If it does, it<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * adds the Put/Delete/RowMutations.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * &lt;p&gt;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * Use the returned {@link CheckAndMutateBuilder} to construct your request and then execute it.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * This is a fluent style API, the code is like:<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   *<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * &lt;pre&gt;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * table.checkAndMutate(row, family).qualifier(qualifier).ifNotExists().thenPut(put)<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   *   .thenAccept(succ -&amp;gt; {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   *     if (succ) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   *       System.out.println("Check and put succeeded");<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   *     } else {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   *       System.out.println("Check and put failed");<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *     }<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   *   });<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * &lt;/pre&gt;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   *<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   *             any more.<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  @Deprecated<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  CheckAndMutateBuilder checkAndMutate(byte[] row, byte[] family);<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  /**<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * A helper class for sending checkAndMutate request.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   *             any more.<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  @Deprecated<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  interface CheckAndMutateBuilder {<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>    /**<a name="line.260"></a>
+<span class="sourceLineNo">261</span>     * Match a qualifier.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>     * @param qualifier column qualifier to check.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>     */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    CheckAndMutateBuilder qualifier(byte[] qualifier);<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>    /**<a name="line.266"></a>
+<span class="sourceLineNo">267</span>     * Match a timerange.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>     * @param timeRange time range to check.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>     */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    CheckAndMutateBuilder timeRange(TimeRange timeRange);<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>     * Check for lack of column.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     */<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    CheckAndMutateBuilder ifNotExists();<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>    /**<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     * Check for equality.<a name="line.278"></a>
+<span class="sourceLineNo">279</span>     * @param value the expected value<a name="line.279"></a>
+<span class="sourceLineNo">280</span>     */<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    default CheckAndMutateBuilder ifEquals(byte[] value) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      return ifMatches(CompareOperator.EQUAL, value);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<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>     * Compare a value<a name="line.286"></a>
+<span class="sourceLineNo">287</span>     * @param compareOp comparison operator to use<a name="line.287"></a>
+<span class="sourceLineNo">288</span>     * @param value     the expected value<a name="line.288"></a>
+<span class="sourceLineNo">289</span>     */<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    CheckAndMutateBuilder ifMatches(CompareOperator compareOp, byte[] value);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    /**<a name="line.292"></a>
+<span class="sourceLineNo">293</span>     * Specify a Put to commit if the check succeeds.<a name="line.293"></a>
+<span class="sourceLineNo">294</span>     * @param put data to put if check succeeds<a name="line.294"></a>
+<span class="sourceLineNo">295</span>     * @return {@code true} if the new put was executed, {@code false} otherwise. The return value<a name="line.295"></a>
+<span class="sourceLineNo">296</span>     *         will be wrapped by a {@link CompletableFuture}.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>     */<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    CompletableFuture&lt;Boolean&gt; thenPut(Put put);<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>    /**<a name="line.300"></a>
+<span class="sourceLineNo">301</span>     * Specify a Delete to commit if the check succeeds.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>     * @param delete data to delete if check succeeds<a name="line.302"></a>
+<span class="sourceLineNo">303</span>     * @return {@code true} if the new delete was executed, {@code false} otherwise. The return<a name="line.303"></a>
+<span class="sourceLineNo">304</span>     *         value will be wrapped by a {@link CompletableFuture}.<a name="line.304"></a>
+<span class="sourceLineNo">305</span>     */<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    CompletableFuture&lt;Boolean&gt; thenDelete(Delete delete);<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>     * Specify a RowMutations to commit if the check succeeds.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>     * @param mutation mutations to perform if check succeeds<a name="line.310"></a>
+<span class="sourceLineNo">311</span>     * @return true if the new mutation was executed, false otherwise. The return value will be<a name="line.311"></a>
+<span class="sourceLineNo">312</span>     *         wrapped by a {@link CompletableFuture}.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>     */<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    CompletableFuture&lt;Boolean&gt; thenMutate(RowMutations mutation);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  }<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>   * Atomically checks if a row matches the specified filter. If it does, it adds the<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   * Put/Delete/RowMutations.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * &lt;p&gt;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * Use the returned {@link CheckAndMutateWithFilterBuilder} to construct your request and then<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * execute it. This is a fluent style API, the code is like:<a name="line.322"></a>
 <span class="sourceLineNo">323</span>   *<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   *             any more.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  @Deprecated<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  CheckAndMutateWithFilterBuilder checkAndMutate(byte[] row, Filter filter);<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  /**<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * A helper class for sending checkAndMutate request with a filter.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   *             any more.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Deprecated<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  interface CheckAndMutateWithFilterBuilder {<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    /**<a name="line.338"></a>
-<span class="sourceLineNo">339</span>     * Match a timerange.<a name="line.339"></a>
-<span class="sourceLineNo">340</span>     * @param timeRange time range to check.<a name="line.340"></a>
-<span class="sourceLineNo">341</span>     */<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    CheckAndMutateWithFilterBuilder timeRange(TimeRange timeRange);<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>    /**<a name="line.344"></a>
-<span class="sourceLineNo">345</span>     * Specify a Put to commit if the check succeeds.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>     * @param put data to put if check succeeds<a name="line.346"></a>
-<span class="sourceLineNo">347</span>     * @return {@code true} if the new put was executed, {@code false} otherwise. The return value<a name="line.347"></a>
-<span class="sourceLineNo">348</span>     *         will be wrapped by a {@link CompletableFuture}.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>     */<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    CompletableFuture&lt;Boolean&gt; thenPut(Put put);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>    /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     * Specify a Delete to commit if the check succeeds.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>     * @param delete data to delete if check succeeds<a name="line.354"></a>
-<span class="sourceLineNo">355</span>     * @return {@code true} if the new delete was executed, {@code false} otherwise. The return<a name="line.355"></a>
-<span class="sourceLineNo">356</span>     *         value will be wrapped by a {@link CompletableFuture}.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>     */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    CompletableFuture&lt;Boolean&gt; thenDelete(Delete delete);<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>    /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>     * Specify a RowMutations to commit if the check succeeds.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>     * @param mutation mutations to perform if check succeeds<a name="line.362"></a>
-<span class="sourceLineNo">363</span>     * @return true if the new mutation was executed, false otherwise. The return value will be<a name="line.363"></a>
-<span class="sourceLineNo">364</span>     *         wrapped by a {@link CompletableFuture}.<a name="line.364"></a>
-<span class="sourceLineNo">365</span>     */<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    CompletableFuture&lt;Boolean&gt; thenMutate(RowMutations mutation);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  }<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * checkAndMutate that atomically checks if a row matches the specified condition. If it does, it<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * performs the specified action.<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @param checkAndMutate The CheckAndMutate object.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return A {@link CompletableFuture}s that represent the result for the CheckAndMutate.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  CompletableFuture&lt;CheckAndMutateResult&gt; checkAndMutate(CheckAndMutate checkAndMutate);<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>   * Batch version of checkAndMutate. The specified CheckAndMutates are batched only in the sense<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * that they are sent to a RS in one RPC, but each CheckAndMutate operation is still executed<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * atomically (and thus, each may fail independently of others).<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @param checkAndMutates The list of CheckAndMutate.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @return A list of {@link CompletableFuture}s that represent the result for each CheckAndMutate.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  List&lt;CompletableFuture&lt;CheckAndMutateResult&gt;&gt;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    checkAndMutate(List&lt;CheckAndMutate&gt; checkAndMutates);<a name="line.385"></a>
+<span class="sourceLineNo">324</span>   * &lt;pre&gt;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * table.checkAndMutate(row, filter).thenPut(put).thenAccept(succ -&amp;gt; {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   *   if (succ) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   *     System.out.println("Check and put succeeded");<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   *   } else {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   *     System.out.println("Check and put failed");<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *   }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * });<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * &lt;/pre&gt;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   *<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   *             any more.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  @Deprecated<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  CheckAndMutateWithFilterBuilder checkAndMutate(byte[] row, Filter filter);<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * A helper class for sending checkAndMutate request with a filter.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   *             any more.<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  @Deprecated<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  interface CheckAndMutateWithFilterBuilder {<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>    /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>     * Match a timerange.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>     * @param timeRange time range to check.<a name="line.350"></a>
+<span class="sourceLineNo">351</span>     */<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    CheckAndMutateWithFilterBuilder timeRange(TimeRange timeRange);<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>    /**<a name="line.354"></a>
+<span class="sourceLineNo">355</span>     * Specify a Put to commit if the check succeeds.<a name="line.355"></a>
+<span class="sourceLineNo">356</span>     * @param put data to put if check succeeds<a name="line.356"></a>
+<span class="sourceLineNo">357</span>     * @return {@code true} if the new put was executed, {@code false} otherwise. The return value<a name="line.357"></a>
+<span class="sourceLineNo">358</span>     *         will be wrapped by a {@link CompletableFuture}.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>     */<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    CompletableFuture&lt;Boolean&gt; thenPut(Put put);<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>     * Specify a Delete to commit if the check succeeds.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>     * @param delete data to delete if check succeeds<a name="line.364"></a>
+<span class="sourceLineNo">365</span>     * @return {@code true} if the new delete was executed, {@code false} otherwise. The return<a name="line.365"></a>
+<span class="sourceLineNo">366</span>     *         value will be wrapped by a {@link CompletableFuture}.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>     */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    CompletableFuture&lt;Boolean&gt; thenDelete(Delete delete);<a name="line.368"></a>
+<span class="sourceLineNo">369</span><a name="line.369"></a>
+<span class="sourceLineNo">370</span>    /**<a name="line.370"></a>
+<span class="sourceLineNo">371</span>     * Specify a RowMutations to commit if the check succeeds.<a name="line.371"></a>
+<span class="sourceLineNo">372</span>     * @param mutation mutations to perform if check succeeds<a name="line.372"></a>
+<span class="sourceLineNo">373</span>     * @return true if the new mutation was executed, false otherwise. The return value will be<a name="line.373"></a>
+<span class="sourceLineNo">374</span>     *         wrapped by a {@link CompletableFuture}.<a name="line.374"></a>
+<span class="sourceLineNo">375</span>     */<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    CompletableFuture&lt;Boolean&gt; thenMutate(RowMutations mutation);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * checkAndMutate that atomically checks if a row matches the specified condition. If it does, it<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * performs the specified action.<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param checkAndMutate The CheckAndMutate object.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @return A {@link CompletableFuture}s that represent the result for the CheckAndMutate.<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  CompletableFuture&lt;CheckAndMutateResult&gt; checkAndMutate(CheckAndMutate checkAndMutate);<a name="line.385"></a>
 <span class="sourceLineNo">386</span><a name="line.386"></a>
 <span class="sourceLineNo">387</span>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * A simple version of batch checkAndMutate. It will fail if there are any failures.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * @param checkAndMutates The list of rows to apply.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return A {@link CompletableFuture} that wrapper the result list.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  default CompletableFuture&lt;List&lt;CheckAndMutateResult&gt;&gt;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    checkAndMutateAll(List&lt;CheckAndMutate&gt; checkAndMutates) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    return allOf(checkAndMutate(checkAndMutates));<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  }<a name="line.395"></a>
+<span class="sourceLineNo">388</span>   * Batch version of checkAndMutate. The specified CheckAndMutates are batched only in the sense<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * that they are sent to a RS in one RPC, but each CheckAndMutate operation is still executed<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * atomically (and thus, each may fail independently of others).<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @param checkAndMutates The list of CheckAndMutate.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   * @return A list of {@link CompletableFuture}s that represent the result for each CheckAndMutate.<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  List&lt;CompletableFuture&lt;CheckAndMutateResult&gt;&gt;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    checkAndMutate(List&lt;CheckAndMutate&gt; checkAndMutates);<a name="line.395"></a>
 <span class="sourceLineNo">396</span><a name="line.396"></a>
 <span class="sourceLineNo">397</span>  /**<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Performs multiple mutations atomically on a single row. Currently {@link Put} and<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * {@link Delete} are supported.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @param mutation object that specifies the set of mutations to perform atomically<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @return A {@link CompletableFuture} that returns results of Increment/Append operations<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  CompletableFuture&lt;Result&gt; mutateRow(RowMutations mutation);<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * The scan API uses the observer pattern.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * @param scan     A configured {@link Scan} object.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @param consumer the consumer used to receive results.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * @see ScanResultConsumer<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * @see AdvancedScanResultConsumer<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   */<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  void scan(Scan scan, C consumer);<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Gets a scanner on the current table for the given family.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param family The column family to scan.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return A scanner.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   */<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  default ResultScanner getScanner(byte[] family) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return getScanner(new Scan().addFamily(family));<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets a scanner on the current table for the given family and qualifier.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param family    The column family to scan.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param qualifier The column qualifier to scan.<a name="line.426"></a>
+<span class="sourceLineNo">398</span>   * A simple version of batch checkAndMutate. It will fail if there are any failures.<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * @param checkAndMutates The list of rows to apply.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @return A {@link CompletableFuture} that wrapper the result list.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  default CompletableFuture&lt;List&lt;CheckAndMutateResult&gt;&gt;<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    checkAndMutateAll(List&lt;CheckAndMutate&gt; checkAndMutates) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return allOf(checkAndMutate(checkAndMutates));<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Performs multiple mutations atomically on a single row. Currently {@link Put} and<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * {@link Delete} are supported.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * @param mutation object that specifies the set of mutations to perform atomically<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * @return A {@link CompletableFuture} that returns results of Increment/Append operations<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   */<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  CompletableFuture&lt;Result&gt; mutateRow(RowMutations mutation);<a name="line.413"></a>
+<span class="sourceLineNo">414</span><a name="line.414"></a>
+<span class="sourceLineNo">415</span>  /**<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * The scan API uses the observer pattern.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @param scan     A configured {@link Scan} object.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @param consumer the consumer used to receive results.<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * @see ScanResultConsumer<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * @see AdvancedScanResultConsumer<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  void scan(Scan scan, C consumer);<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>   * Gets a scanner on the current table for the given family.<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param family The column family to scan.<a name="line.426"></a>
 <span class="sourceLineNo">427</span>   * @return A scanner.<a name="line.427"></a>
 <span class="sourceLineNo">428</span>   */<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  default ResultScanner getScanner(byte[] family, byte[] qualifier) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    return getScanner(new Scan().addColumn(family, qualifier));<a name="line.430"></a>
+<span class="sourceLineNo">429</span>  default ResultScanner getScanner(byte[] family) {<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    return getScanner(new Scan().addFamily(family));<a name="line.430"></a>
 <span class="sourceLineNo">431</span>  }<a name="line.431"></a>
 <span class="sourceLineNo">432</span><a name="line.432"></a>
 <span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * Returns a scanner on the current table as specified by the {@link Scan} object.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * @param scan A configured {@link Scan} object.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @return A scanner.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  ResultScanner getScanner(Scan scan);<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /**<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Return all the results that match the given scan object.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * &lt;p&gt;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * Notice that usually you should use this method with a {@link Scan} object that has limit set.<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * For example, if you want to get the closest row after a given row, you could do this:<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;p&gt;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   *<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * &lt;pre&gt;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * table.scanAll(new Scan().withStartRow(row, false).setLimit(1)).thenAccept(results -&amp;gt; {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   *   if (results.isEmpty()) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   *     System.out.println("No row after " + Bytes.toStringBinary(row));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   *   } else {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   *     System.out.println("The closest row after " + Bytes.toStringBinary(row) + " is "<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   *       + Bytes.toStringBinary(results.stream().findFirst().get().getRow()));<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   *   }<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * });<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * &lt;/pre&gt;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * &lt;p&gt;<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * If your result set is very large, you should use other scan method to get a scanner or use<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * callback to process the results. They will do chunking to prevent OOM. The scanAll method will<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * fetch all the results and store them in a List and then return the list to you.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * &lt;p&gt;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * The scan metrics will be collected background if you enable it but you have no way to get it.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * Usually you can get scan metrics from {@code ResultScanner}, or through<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * {@code ScanResultConsumer.onScanMetricsCreated} but this method only returns a list of results.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * So if you really care about scan metrics then you'd better use other scan methods which return<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   * a {@code ResultScanner} or let you pass in a {@code ScanResultConsumer}. There is no<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * performance difference between these scan methods so do not worry.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param scan A configured {@link Scan} object. So if you use this method to fetch a really large<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   *             result set, it is likely to cause OOM.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * @return The results of this small scan operation. The return value will be wrapped by a<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   *         {@link CompletableFuture}.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  CompletableFuture&lt;List&lt;Result&gt;&gt; scanAll(Scan scan);<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>  /**<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Test for the existence of columns in the table, as specified by the Gets.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * &lt;p&gt;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * This will return a list of booleans. Each value will be true if the related Get matches one or<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * more keys, false if not.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * &lt;p&gt;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * This is a server-side call so it prevents any data from being transferred to the client.<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param gets the Gets<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @return A list of {@link CompletableFuture}s that represent the existence for each get.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  default List&lt;CompletableFuture&lt;Boolean&gt;&gt; exists(List&lt;Get&gt; gets) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    return get(toCheckExistenceOnly(gets)).stream()<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      .&lt;CompletableFuture&lt;Boolean&gt;&gt; map(f -&gt; f.thenApply(r -&gt; r.getExists())).collect(toList());<a name="line.487"></a>
-<span class="sourceLineNo">488</span>  }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>  /**<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * A simple version for batch exists. It will fail if there are any failures and you will get the<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * whole result boolean list at once if the operation is succeeded.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * @param gets the Gets<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * @return A {@link CompletableFuture} that wrapper the result boolean list.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   */<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  default CompletableFuture&lt;List&lt;Boolean&gt;&gt; existsAll(List&lt;Get&gt; gets) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    return allOf(exists(gets));<a name="line.497"></a>
+<span class="sourceLineNo">434</span>   * Gets a scanner on the current table for the given family and qualifier.<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * @param family    The column family to scan.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * @param qualifier The column qualifier to scan.<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * @return A scanner.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  default ResultScanner getScanner(byte[] family, byte[] qualifier) {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    return getScanner(new Scan().addColumn(family, qualifier));<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  }<a name="line.441"></a>
+<span class="sourceLineNo">442</span><a name="line.442"></a>
+<span class="sourceLineNo">443</span>  /**<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * Returns a scanner on the current table as specified by the {@link Scan} object.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param scan A configured {@link Scan} object.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @return A scanner.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
+<span class="sourceLineNo">448</span>  ResultScanner getScanner(Scan scan);<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span>  /**<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * Return all the results that match the given scan object.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * &lt;p&gt;<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * Notice that usually you should use this method with a {@link Scan} object that has limit set.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * For example, if you want to get the closest row after a given row, you could do this:<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * &lt;p&gt;<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   *<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   * &lt;pre&gt;<a name="line.457"></a>
+<span class="sourceLineNo">458</span>   * table.scanAll(new Scan().withStartRow(row, false).setLimit(1)).thenAccept(results -&amp;gt; {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>   *   if (results.isEmpty()) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>   *     System.out.println("No row after " + Bytes.toStringBinary(row));<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   *   } else {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *     System.out.println("The closest row after " + Bytes.toStringBinary(row) + " is "<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   *       + Bytes.toStringBinary(results.stream().findFirst().get().getRow()));<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   *   }<a name="line.464"></a>
+<span class="sourceLineNo">465</span>   * });<a name="line.465"></a>
+<span class="sourceLineNo">466</span>   * &lt;/pre&gt;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>   * &lt;p&gt;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * If your result set is very large, you should use other scan method to get a scanner or use<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   * callback to process the results. They will do chunking to prevent OOM. The scanAll method will<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * fetch all the results and store them in a List and then return the list to you.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * &lt;p&gt;<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * The scan metrics will be collected background if you enable it but you have no way to get it.<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * Usually you can get scan metrics from {@code ResultScanner}, or through<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * {@code ScanResultConsumer.onScanMetricsCreated} but this method only returns a list of results.<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   * So if you really care about scan metrics then you'd better use other scan methods which return<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   * a {@code ResultScanner} or let you pass in a {@code ScanResultConsumer}. There is no<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   * performance difference between these scan methods so do not worry.<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * @param scan A configured {@link Scan} object. So if you use this method to fetch a really large<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   *             result set, it is likely to cause OOM.<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @return The results of this small scan operation. The return value will be wrapped by a<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   *         {@link CompletableFuture}.<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  CompletableFuture&lt;List&lt;Result&gt;&gt; scanAll(Scan scan);<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>   * Test for the existence of columns in the table, as specified by the Gets.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   * &lt;p&gt;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>   * This will return a list of booleans. Each value will be true if the related Get matches one or<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * more keys, false if not.<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * &lt;p&gt;<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * This is a server-side call so it prevents any data from being transferred to the client.<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @param gets the Gets<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * @return A list of {@link CompletableFuture}s that represent the existence for each get.<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   */<a name="line.494"></a>
+<span class="sourceLineNo">495</span>  default List&lt;CompletableFuture&lt;Boolean&gt;&gt; exists(List&lt;Get&gt; gets) {<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    return get(toCheckExistenceOnly(gets)).stream()<a name="line.496"></a>
+<span class="sourceLineNo">497</span>      .&lt;CompletableFuture&lt;Boolean&gt;&gt; map(f -&gt; f.thenApply(r -&gt; r.getExists())).collect(toList());<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>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Extracts certain cells from the given rows, in batch.<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * &lt;p&gt;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Notice that you may not get all the results with this function, which means some of the<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * returned {@link CompletableFuture}s may succeed while some of the other returned<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * {@link CompletableFuture}s may fail.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @param gets The objects that specify what data to fetch and from which rows.<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   * @return A list of {@link CompletableFuture}s that represent the result for each get.<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   */<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  List&lt;CompletableFuture&lt;Result&gt;&gt; get(List&lt;Get&gt; gets);<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>  /**<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   * A simple version for batch get. It will fail if there are any failures and you will get the<a name="line.512"></a>
-<span class="sourceLineNo">513</span>   * whole result list at once if the operation is succeeded.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * @param gets The objects that specify what data to fetch and from which rows.<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * @return A {@link CompletableFuture} that wrapper the result list.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   */<a name="line.516"></a>
-<span class="sourceLineNo">517</span>  default CompletableFuture&lt;List&lt;Result&gt;&gt; getAll(List&lt;Get&gt; gets) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return allOf(get(gets));<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
+<span class="sourceLineNo">501</span>   * A simple version for batch exists. It will fail if there are any failures and you will get the<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * whole result boolean list at once if the operation is succeeded.<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * @param gets the Gets<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * @return A {@link CompletableFuture} that wrapper the result boolean list.<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
+<span class="sourceLineNo">506</span>  default CompletableFuture&lt;List&lt;Boolean&gt;&gt; existsAll(List&lt;Get&gt; gets) {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    return allOf(exists(gets));<a name="line.507"></a>
+<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>  /**<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   * Extracts certain cells from the given rows, in batch.<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   * &lt;p&gt;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   * Notice that you may not get all the results with this function, which means some of the<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   * returned {@link CompletableFuture}s may succeed while some of the other returned<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * {@link CompletableFuture}s may fail.<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * @param gets The objects that specify what data to fetch and from which rows.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   * @return A list of {@link CompletableFuture}s that represent the result for each get.<a name="line.517"></a>
+<span class="sourceLineNo">518</span>   */<a name="line.518"></a>
+<span class="sourceLineNo">519</span>  List&lt;CompletableFuture&lt;Result&gt;&gt; get(List&lt;Get&gt; gets);<a name="line.519"></a>
 <span class="sourceLineNo">520</span><a name="line.520"></a>
 <span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Puts some data in the table, in batch.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * @param puts The list of mutations to apply.<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @return A list of {@link CompletableFuture}s that represent the result for each put.<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   */<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  List&lt;CompletableFuture&lt;Void&gt;&gt; put(List&lt;Put&gt; puts);<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  /**<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * A simple version of batch put. It will fail if there are any failures.<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param puts The list of mutations to apply.<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  default CompletableFuture&lt;Void&gt; putAll(List&lt;Put&gt; puts) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    return allOf(put(puts)).thenApply(r -&gt; null);<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>   * Deletes the specified cells/rows in bulk.<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * @param deletes list of things to delete.<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * @return A list of {@link CompletableFuture}s that represent the result for each delete.<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   */<a name="line.541"></a>
-<span class="sourceLineNo">542</span>  List&lt;CompletableFuture&lt;Void&gt;&gt; delete(List&lt;Delete&gt; deletes);<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 simple version of batch delete. It will fail if there are any failures.<a name="line.545"></a>
-<span class="sourceLineNo">546</span>   * @param deletes list of things to delete.<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   */<a name="line.548"></a>
-<span class="sourceLineNo">549</span>  default CompletableFuture&lt;Void&gt; deleteAll(List&lt;Delete&gt; deletes) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    return allOf(delete(deletes)).thenApply(r -&gt; null);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>  }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>  /**<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * Method that does a batch call on Deletes, Gets, Puts, Increments, Appends and RowMutations. The<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * ordering of execution of the actions is not defined. Meaning if you do a Put and a Get in the<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * same {@link #batch} call, you will not necessarily be guaranteed that the Get returns what the<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * Put had put.<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @param actions list of Get, Put, Delete, Increment, Append, and RowMutations objects<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * @return A list of {@link CompletableFuture}s that represent the result for each action.<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   */<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  &lt;T&gt; List&lt;CompletableFuture&lt;T&gt;&gt; batch(List&lt;? extends Row&gt; actions);<a name="line.561"></a>
+<span class="sourceLineNo">522</span>   * A simple version for batch get. It will fail if there are any failures and you will get the<a name="line.522"></a>
+<span class="sourceLineNo">523</span>   * whole result list at once if the operation is succeeded.<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * @param gets The objects that specify what data to fetch and from which rows.<a name="line.524"></a>
+<span class="sourceLineNo">525</span>   * @return A {@link CompletableFuture} that wrapper the result list.<a name="line.525"></a>
+<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  default CompletableFuture&lt;List&lt;Result&gt;&gt; getAll(List&lt;Get&gt; gets) {<a name="line.527"></a>
+<span class="sourceLineNo">528</span>    return allOf(get(gets));<a name="line.528"></a>
+<span class="sourceLineNo">529</span>  }<a name="line.529"></a>
+<span class="sourceLineNo">530</span><a name="line.530"></a>
+<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   * Puts some data in the table, in batch.<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param puts The list of mutations to apply.<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @return A list of {@link CompletableFuture}s that represent the result for each put.<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   */<a name="line.535"></a>
+<span class="sourceLineNo">536</span>  List&lt;CompletableFuture&lt;Void&gt;&gt; put(List&lt;Put&gt; puts);<a name="line.536"></a>
+<span class="sourceLineNo">537</span><a name="line.537"></a>
+<span class="sourceLineNo">538</span>  /**<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * A simple version of batch put. It will fail if there are any failures.<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @param puts The list of mutations to apply.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   */<a name="line.542"></a>
+<span class="sourceLineNo">543</span>  default CompletableFuture&lt;Void&gt; putAll(List&lt;Put&gt; puts) {<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    return allOf(put(puts)).thenApply(r -&gt; null);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>  /**<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   * Deletes the specified cells/rows in bulk.<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * @param deletes list of things to delete.<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * @return A list of {@link CompletableFuture}s that represent the result for each delete.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   */<a name="line.551"></a>
+<span class="sourceLineNo">552</span>  List&lt;CompletableFuture&lt;Void&gt;&gt; delete(List&lt;Delete&gt; deletes);<a name="line.552"></a>
+<span class="sourceLineNo">553</span><a name="line.553"></a>
+<span class="sourceLineNo">554</span>  /**<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * A simple version of batch delete. It will fail if there are any failures.<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param deletes list of things to delete.<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   */<a name="line.558"></a>
+<span class="sourceLineNo">559</span>  default CompletableFuture&lt;Void&gt; deleteAll(List&lt;Delete&gt; deletes) {<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    return allOf(delete(deletes)).thenApply(r -&gt; null);<a name="line.560"></a>
+<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
 <span class="sourceLineNo">562</span><a name="line.562"></a>
 <span class="sourceLineNo">563</span>  /**<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * A simple version of batch. It will fail if there are any failures and you will get the whole<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * result list at once if the operation is succeeded.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param actions list of Get, Put, Delete, Increment, Append and RowMutations objects<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @return A list of the result for the actions. Wrapped by a {@link CompletableFuture}.<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   */<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  default &lt;T&gt; CompletableFuture&lt;List&lt;T&gt;&gt; batchAll(List&lt;? extends Row&gt; actions) {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    return allOf(batch(actions));<a name="line.570"></a>
-<span class="sourceLineNo">571</span>  }<a name="line.571"></a>
+<span class="sourceLineNo">564</span>   * Method that does a batch call on Deletes, Gets, Puts, Increments, Appends and RowMutations. The<a name="line.564"></a>
+<span class="sourceLineNo">565</span>   * ordering of execution of the actions is not defined. Meaning if you do a Put and a Get in the<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   * same {@link #batch} call, you will not necessarily be guaranteed that the Get returns what the<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   * Put had put.<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * @param actions list of Get, Put, Delete, Increment, Append, and RowMutations objects<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   * @return A list of {@link CompletableFuture}s that represent the result for each action.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   */<a name="line.570"></a>
+<span class="sourceLineNo">571</span>  &lt;T&gt; List&lt;CompletableFuture&lt;T&gt;&gt; batch(List&lt;? extends Row&gt; actions);<a name="line.571"></a>
 <span class="sourceLineNo">572</span><a name="line.572"></a>
 <span class="sourceLineNo">573</span>  /**<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * Execute the given coprocessor call on the region which contains the given {@code row}.<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * &lt;p&gt;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   * one line lambda expression, like:<a name="line.577"></a>
-<span class="sourceLineNo">578</span>   *<a name="line.578"></a>
-<span class="sourceLineNo">579</span>   * &lt;pre&gt;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>   * channel -&amp;gt; xxxService.newStub(channel)<a name="line.580"></a>
-<span class="sourceLineNo">581</span>   * &lt;/pre&gt;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>   *<a name="line.582"></a>
-<span class="sourceLineNo">583</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * @param callable  a delegation to the actual protobuf rpc call. See the comment of<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   *                  {@link ServiceCaller} for more details.<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @param row       The row key used to identify the remote region location<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   * @param &lt;S&gt;       the type of the asynchronous stub<a name="line.587"></a>
-<span class="sourceLineNo">588</span>   * @param &lt;R&gt;       the type of the return value<a name="line.588"></a>
-<span class="sourceLineNo">589</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   * @see ServiceCaller<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   */<a name="line.591"></a>
-<span class="sourceLineNo">592</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    ServiceCaller&lt;S, R&gt; callable, byte[] row);<a name="line.593"></a>
-<span class="sourceLineNo">594</span><a name="line.594"></a>
-<span class="sourceLineNo">595</span>  /**<a name="line.595"></a>
-<span class="sourceLineNo">596</span>   * The callback when we want to execute a coprocessor call on a range of regions.<a name="line.596"></a>
-<span class="sourceLineNo">597</span>   * &lt;p&gt;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>   * As the locating itself also takes some time, the implementation may want to send rpc calls on<a name="line.598"></a>
-<span class="sourceLineNo">599</span>   * the fly, which means we do not know how many regions we have when we get the return value of<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * the rpc calls, so we need an {@link #onComplete()} which is used to tell you that we have<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * passed all the return values to you(through the {@link #onRegionComplete(RegionInfo, Object)}<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * or {@link #onRegionError(RegionInfo, Throwable)} calls), i.e, there will be no<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * {@link #onRegionComplete(RegionInfo, Object)} or {@link #onRegionError(RegionInfo, Throwable)}<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * calls in the future.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * &lt;p&gt;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * Here is a pseudo code to describe a typical implementation of a range coprocessor service<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * method to help you better understand how the {@link CoprocessorCallback} will be called. The<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * {@code callback} in the pseudo code is our {@link CoprocessorCallback}. And notice that the<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * {@code whenComplete} is {@code CompletableFuture.whenComplete}.<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   *<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * &lt;pre&gt;<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * locateThenCall(byte[] row) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   *   locate(row).whenComplete((location, locateError) -&amp;gt; {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   *     if (locateError != null) {<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   *       callback.onError(locateError);<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   *       return;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   *     }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   *     incPendingCall();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   *     region = location.getRegion();<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   *     if (region.getEndKey() &gt; endKey) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   *       locateEnd = true;<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   *     } else {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   *       locateThenCall(region.getEndKey());<a name="line.623"></a>
-<span class="sourceLineNo">624</span>   *     }<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   *     sendCall().whenComplete((resp, error) -&amp;gt; {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   *       if (error != null) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   *         callback.onRegionError(region, error);<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   *       } else {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   *         callback.onRegionComplete(region, resp);<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   *       }<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   *       if (locateEnd &amp;&amp; decPendingCallAndGet() == 0) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   *         callback.onComplete();<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   *       }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   *     });<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *   });<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * }<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * &lt;/pre&gt;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>  @InterfaceAudience.Public<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  interface CoprocessorCallback&lt;R&gt; {<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>     * Indicate that the respose of a region is available<a name="line.643"></a>
-<span class="sourceLineNo">644</span>     * @param region the region that the response belongs to<a name="line.644"></a>
-<span class="sourceLineNo">645</span>     * @param resp   the response of the coprocessor call<a name="line.645"></a>
-<span class="sourceLineNo">646</span>     */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    void onRegionComplete(RegionInfo region, R resp);<a name="line.647"></a>
-<span class="sourceLineNo">648</span><a name="line.648"></a>
-<span class="sourceLineNo">649</span>    /**<a name="line.649"></a>
-<span class="sourceLineNo">650</span>     * Indicate that the error for a region is available<a name="line.650"></a>
-<span class="sourceLineNo">651</span>     * @param region the region that the error belongs to<a name="line.651"></a>
-<span class="sourceLineNo">652</span>     * @param error  the response error of the coprocessor call<a name="line.652"></a>
-<span class="sourceLineNo">653</span>     */<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    void onRegionError(RegionInfo region, Throwable error);<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>     * Indicate that all responses of the regions have been notified by calling<a name="line.657"></a>
-<span class="sourceLineNo">658</span>     * {@link #onRegionComplete(RegionInfo, Object)} or<a name="line.658"></a>
-<span class="sourceLineNo">659</span>     * {@link #onRegionError(RegionInfo, Throwable)}.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>     */<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    void onComplete();<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span>    /**<a name="line.663"></a>
-<span class="sourceLineNo">664</span>     * Indicate that we got an error which does not belong to any regions. Usually a locating error.<a name="line.664"></a>
-<span class="sourceLineNo">665</span>     */<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    void onError(Throwable error);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>  }<a name="line.667"></a>
-<span class="sourceLineNo">668</span><a name="line.668"></a>
-<span class="sourceLineNo">669</span>  /**<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   * Helper class for sending coprocessorService request that executes a coprocessor call on regions<a name="line.670"></a>
-<span class="sourceLineNo">671</span>   * which are covered by a range.<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   * &lt;p&gt;<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * If {@code fromRow} is not specified the selection will start with the first table region. If<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * {@code toRow} is not specified the selection will continue through the last table region.<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   * @param &lt;S&gt; the type of the protobuf Service you want to call.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   * @param &lt;R&gt; the type of the return value.<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   */<a name="line.677"></a>
-<span class="sourceLineNo">678</span>  interface CoprocessorServiceBuilder&lt;S, R&gt; {<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>     * Specify a start row<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     * @param startKey start region selection with region containing this row, inclusive.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     */<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    default CoprocessorServiceBuilder&lt;S, R&gt; fromRow(byte[] startKey) {<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      return fromRow(startKey, true);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>    /**<a name="line.688"></a>
-<span class="sourceLineNo">689</span>     * Specify a start row<a name="line.689"></a>
-<span class="sourceLineNo">690</span>     * @param startKey  start region selection with region containing this row<a name="line.690"></a>
-<span class="sourceLineNo">691</span>     * @param inclusive whether to include the startKey<a name="line.691"></a>
-<span class="sourceLineNo">692</span>     */<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    CoprocessorServiceBuilder&lt;S, R&gt; fromRow(byte[] startKey, boolean inclusive);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /**<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * Specify a stop row<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * @param endKey select regions up to and including the region containing this row, exclusive.<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     */<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    default CoprocessorServiceBuilder&lt;S, R&gt; toRow(byte[] endKey) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      return toRow(endKey, false);<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>     * Specify a stop row<a name="line.704"></a>
-<span class="sourceLineNo">705</span>     * @param endKey    select regions up to and including the region containing this row<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * @param inclusive whether to include the endKey<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     */<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    CoprocessorServiceBuilder&lt;S, R&gt; toRow(byte[] endKey, boolean inclusive);<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>     * Execute the coprocessorService request. You can get the response through the<a name="line.711"></a>
-<span class="sourceLineNo">712</span>     * {@link CoprocessorCallback}.<a name="line.712"></a>
-<span class="sourceLineNo">713</span>     */<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    void execute();<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>   * Execute a coprocessor call on the regions which are covered by a range.<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * &lt;p&gt;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * Use the returned {@link CoprocessorServiceBuilder} construct your request and then execute it.<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * &lt;p&gt;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   * The {@code stubMaker} is just a delegation to the {@code xxxService.newStub} call. Usually it<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   * is only a one line lambda expression, like:<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   *<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * &lt;pre&gt;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * channel -&amp;gt; xxxService.newStub(channel)<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * &lt;/pre&gt;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   * @param callable  a delegation to the actual protobuf rpc call. See the comment of<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   *                  {@link ServiceCaller} for more details.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   * @param callback  callback to get the response. See the comment of {@link CoprocessorCallback}<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   *                  for more details.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   */<a name="line.734"></a>
-<span class="sourceLineNo">735</span>  &lt;S, R&gt; CoprocessorServiceBuilder&lt;S, R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    ServiceCaller&lt;S, R&gt; callable, CoprocessorCallback&lt;R&gt; callback);<a name="line.736"></a>
-<span class="sourceLineNo">737</span>}<a name="line.737"></a>
+<span class="sourceLineNo">574</span>   * A simple version of batch. It will fail if there are any failures and you will get the whole<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * result list at once if the operation is succeeded.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * @param actions list of Get, Put, Delete, Increment, Append and RowMutations objects<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @return A list of the result for the actions. Wrapped by a {@link CompletableFuture}.<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   */<a name="line.578"></a>
+<span class="sourceLineNo">579</span>  default &lt;T&gt; CompletableFuture&lt;List&lt;T&gt;&gt; batchAll(List&lt;? extends Row&gt; actions) {<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    return allOf(batch(actions));<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
+<span class="sourceLineNo">582</span><a name="line.582"></a>
+<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   * Execute the given coprocessor call on the region which contains the given {@code row}.<a name="line.584"></a>
+<span class="sourceLineNo">585</span>   * &lt;p&gt;<a name="line.585"></a>
+<span class="sourceLineNo">586</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * one line lambda expression, like:<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   *<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * &lt;pre&gt;<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   * channel -&amp;gt; xxxService.newStub(channel)<a name="line.590"></a>
+<span class="sourceLineNo">591</span>   * &lt;/pre&gt;<a name="line.591"></a>
+<span class="sourceLineNo">592</span>   *<a name="line.592"></a>
+<span class="sourceLineNo">593</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * @param callable  a delegation to the actual protobuf rpc call. See the comment of<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   *                  {@link ServiceCaller} for more details.<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param row       The row key used to identify the remote region location<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @param &lt;S&gt;       the type of the asynchronous stub<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * @param &lt;R&gt;       the type of the return value<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.599"></a>
+<span class="sourceLineNo">600</span>   * @see ServiceCaller<a name="line.600"></a>
+<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
+<span class="sourceLineNo">602</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.602"></a>
+<span class="sourceLineNo">603</span>    ServiceCaller&lt;S, R&gt; callable, byte[] row);<a name="line.603"></a>
+<span class="sourceLineNo">604</span><a name="line.604"></a>
+<span class="sourceLineNo">605</span>  /**<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   * The callback when we want to execute a coprocessor call on a range of regions.<a name="line.606"></a>
+<span class="sourceLineNo">607</span>   * &lt;p&gt;<a name="line.607"></a>
+<span class="sourceLineNo">608</span>   * As the locating itself also takes some time, the implementation may want to send rpc calls on<a name="line.608"></a>
+<span class="sourceLineNo">609</span>   * the fly, which means we do not know how many regions we have when we get the return value of<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * the rpc calls, so we need an {@link #onComplete()} which is used to tell you that we have<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * passed all the return values to you(through the {@link #onRegionComplete(RegionInfo, Object)}<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * or {@link #onRegionError(RegionInfo, Throwable)} calls), i.e, there will be no<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * {@link #onRegionComplete(RegionInfo, Object)} or {@link #onRegionError(RegionInfo, Throwable)}<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * calls in the future.<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * &lt;p&gt;<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   * Here is a pseudo code to describe a typical implementation of a range coprocessor service<a name="line.616"></a>
+<span class="sourceLineNo">617</span>   * method to help you better understand how the {@link CoprocessorCallback} will be called. The<a name="line.617"></a>
+<span class="sourceLineNo">618</span>   * {@code callback} in the pseudo code is our {@link CoprocessorCallback}. And notice that the<a name="line.618"></a>
+<span class="sourceLineNo">619</span>   * {@code whenComplete} is {@code CompletableFuture.whenComplete}.<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   *<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * &lt;pre&gt;<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * locateThenCall(byte[] row) {<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   *   locate(row).whenComplete((location, locateError) -&amp;gt; {<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   *     if (locateError != null) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   *       callback.onError(locateError);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>   *       return;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   *     }<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   *     incPendingCall();<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   *     region = location.getRegion();<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   *     if (region.getEndKey() &gt; endKey) {<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   *       locateEnd = true;<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   *     } else {<a name="line.632"></a>
+<span class="sourceLineNo">633</span>   *       locateThenCall(region.getEndKey());<a name="line.633"></a>
+<span class="sourceLineNo">634</span>   *     }<a name="line.634"></a>
+<span class="sourceLineNo">635</span>   *     sendCall().whenComplete((resp, error) -&amp;gt; {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>   *       if (error != null) {<a name="line.636"></a>
+<span class="sourceLineNo">637</span>   *         callback.onRegionError(region, error);<a name="line.637"></a>
+<span class="sourceLineNo">638</span>   *       } else {<a name="line.638"></a>
+<span class="sourceLineNo">639</span>   *         callback.onRegionComplete(region, resp);<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   *       }<a name="line.640"></a>
+<span class="sourceLineNo">641</span>   *       if (locateEnd &amp;&amp; decPendingCallAndGet() == 0) {<a name="line.641"></a>
+<span class="sourceLineNo">642</span>   *         callback.onComplete();<a name="line.642"></a>
+<span class="sourceLineNo">643</span>   *       }<a name="line.643"></a>
+<span class="sourceLineNo">644</span>   *     });<a name="line.644"></a>
+<span class="sourceLineNo">645</span>   *   });<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * }<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   * &lt;/pre&gt;<a name="line.647"></a>
+<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
+<span class="sourceLineNo">649</span>  @InterfaceAudience.Public<a name="line.649"></a>
+<span class="sourceLineNo">650</span>  interface CoprocessorCallback&lt;R&gt; {<a name="line.650"></a>
+<span class="sourceLineNo">651</span><a name="line.651"></a>
+<span class="sourceLineNo">652</span>    /**<a name="line.652"></a>
+<span class="sourceLineNo">653</span>     * Indicate that the respose of a region is available<a name="line.653"></a>
+<span class="sourceLineNo">654</span>     * @param region the region that the response belongs to<a name="line.654"></a>
+<span class="sourceLineNo">655</span>     * @param resp   the response of the coprocessor call<a name="line.655"></a>
+<span class="sourceLineNo">656</span>     */<a name="line.656"></a>
+<span class="sourceLineNo">657</span>    void onRegionComplete(RegionInfo region, R resp);<a name="line.657"></a>
+<span class="sourceLineNo">658</span><a name="line.658"></a>
+<span class="sourceLineNo">659</span>    /**<a name="line.659"></a>
+<span class="sourceLineNo">660</span>     * Indicate that the error for a region is available<a name="line.660"></a>
+<span class="sourceLineNo">661</span>     * @param region the region that the error belongs to<a name="line.661"></a>
+<span class="sourceLineNo">662</span>     * @param error  the response error of the coprocessor call<a name="line.662"></a>
+<span class="sourceLineNo">663</span>     */<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    void onRegionError(RegionInfo region, Throwable error);<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>     * Indicate that all responses of the regions have been notified by calling<a name="line.667"></a>
+<span class="sourceLineNo">668</span>     * {@link #onRegionComplete(RegionInfo, Object)} or<a name="line.668"></a>
+<span class="sourceLineNo">669</span>     * {@link #onRegionError(RegionInfo, Throwable)}.<a name="line.669"></a>
+<span class="sourceLineNo">670</span>     */<a name="line.670"></a>
+<span class="sourceLineNo">671</span>    void onComplete();<a name="line.671"></a>
+<span class="sourceLineNo">672</span><a name="line.672"></a>
+<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
+<span class="sourceLineNo">674</span>     * Indicate that we got an error which does not belong to any regions. Usually a locating error.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>     */<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    void onError(Throwable error);<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>  /**<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   * Helper class for sending coprocessorService request that executes a coprocessor call on regions<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   * which are covered by a range.<a name="line.681"></a>
+<span class="sourceLineNo">682</span>   * &lt;p&gt;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>   * If {@code fromRow} is not specified the selection will start with the first table region. If<a name="line.683"></a>
+<span class="sourceLineNo">684</span>   * {@code toRow} is not specified the selection will continue through the last table region.<a name="line.684"></a>
+<span class="sourceLineNo">685</span>   * @param &lt;S&gt; the type of the protobuf Service you want to call.<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * @param &lt;R&gt; the type of the return value.<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   */<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  interface CoprocessorServiceBuilder&lt;S, R&gt; {<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>    /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>     * Specify a start row<a name="line.691"></a>
+<span class="sourceLineNo">692</span>     * @param startKey start region selection with region containing this row, inclusive.<a name="line.692"></a>
+<span class="sourceLineNo">693</span>     */<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    default CoprocessorServiceBuilder&lt;S, R&gt; fromRow(byte[] startKey) {<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      return fromRow(startKey, true);<a name="line.695"></a>
+<span class="sourceLineNo">696</span>    }<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>     * Specify a start row<a name="line.699"></a>
+<span class="sourceLineNo">700</span>     * @param startKey  start region selection with region containing this row<a name="line.700"></a>
+<span class="sourceLineNo">701</span>     * @param inclusive whether to include the startKey<a name="line.701"></a>
+<span class="sourceLineNo">702</span>     */<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    CoprocessorServiceBuilder&lt;S, R&gt; fromRow(byte[] startKey, boolean inclusive);<a name="line.703"></a>
+<span class="sourceLineNo">704</span><a name="line.704"></a>
+<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
+<span class="sourceLineNo">706</span>     * Specify a stop row<a name="line.706"></a>
+<span class="sourceLineNo">707</span>     * @param endKey select regions up to and including the region containing this row, exclusive.<a name="line.707"></a>
+<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
+<span class="sourceLineNo">709</span>    default CoprocessorServiceBuilder&lt;S, R&gt; toRow(byte[] endKey) {<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      return toRow(endKey, false);<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>     * Specify a stop row<a name="line.714"></a>
+<span class="sourceLineNo">715</span>     * @param endKey    select regions up to and including the region containing this row<a name="line.715"></a>
+<span class="sourceLineNo">716</span>     * @param inclusive whether to include the endKey<a name="line.716"></a>
+<span class="sourceLineNo">717</span>     */<a name="line.717"></a>
+<span class="sourceLineNo">718</span>    CoprocessorServiceBuilder&lt;S, R&gt; toRow(byte[] endKey, boolean inclusive);<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>     * Execute the coprocessorService request. You can get the response through the<a name="line.721"></a>
+<span class="sourceLineNo">722</span>     * {@link CoprocessorCallback}.<a name="line.722"></a>
+<span class="sourceLineNo">723</span>     */<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    void execute();<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>   * Execute a coprocessor call on the regions which are covered by a range.<a name="line.728"></a>
+<span class="sourceLineNo">729</span>   * &lt;p&gt;<a name="line.729"></a>
+<span class="sourceLineNo">730</span>   * Use the returned {@link CoprocessorServiceBuilder} construct your request and then execute it.<a name="line.730"></a>
+<span class="sourceLineNo">731</span>   * &lt;p&gt;<a name="line.731"></a>
+<span class="sourceLineNo">732</span>   * The {@code stubMaker} is just a delegation to the {@code xxxService.newStub} call. Usually it<a name="line.732"></a>
+<span class="sourceLineNo">733</span>   * is only a one line lambda expression, like:<a name="line.733"></a>
+<span class="sourceLineNo">734</span>   *<a name="line.734"></a>
+<span class="sourceLineNo">735</span>   * &lt;pre&gt;<a name="line.735"></a>
+<span class="sourceLineNo">736</span>   * channel -&amp;gt; xxxService.newStub(channel)<a name="line.736"></a>
+<span class="sourceLineNo">737</span>   * &lt;/pre&gt;<a name="line.737"></a>
+<span class="sourceLineNo">738</span>   *<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.739"></a>
+<span class="sourceLineNo">740</span>   * @param callable  a delegation to the actual protobuf rpc call. See the comment of<a name="line.740"></a>
+<span class="sourceLineNo">741</span>   *                  {@link ServiceCaller} for more details.<a name="line.741"></a>
+<span class="sourceLineNo">742</span>   * @param callback  callback to get the response. See the comment of {@link CoprocessorCallback}<a name="line.742"></a>
+<span class="sourceLineNo">743</span>   *                  for more details.<a name="line.743"></a>
+<span class="sourceLineNo">744</span>   */<a name="line.744"></a>
+<span class="sourceLineNo">745</span>  &lt;S, R&gt; CoprocessorServiceBuilder&lt;S, R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.745"></a>
+<span class="sourceLineNo">746</span>    ServiceCaller&lt;S, R&gt; callable, CoprocessorCallback&lt;R&gt; callback);<a name="line.746"></a>
+<span class="sourceLineNo">747</span>}<a name="line.747"></a>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTable.html b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTable.html
index 2ed6c9faa6e..c0dc156b11c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTable.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTable.html
@@ -30,719 +30,729 @@
 <span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.util.FutureUtils.allOf;<a name="line.22"></a>
 <span class="sourceLineNo">023</span><a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.util.List;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.CompletableFuture;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.concurrent.TimeUnit;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.function.Function;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.TableName;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * The interface for asynchronous version of Table. Obtain an instance from a<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * {@link AsyncConnection}.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * The implementation is required to be thread safe.<a name="line.43"></a>
+<span class="sourceLineNo">025</span>import java.util.Map;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.concurrent.CompletableFuture;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.concurrent.TimeUnit;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.function.Function;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.lang3.NotImplementedException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableName;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * The interface for asynchronous version of Table. Obtain an instance from a<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * {@link AsyncConnection}.<a name="line.43"></a>
 <span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * Usually the implementation will not throw any exception directly. You need to get the exception<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * from the returned {@link CompletableFuture}.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * @since 2.0.0<a name="line.47"></a>
-<span class="sourceLineNo">048</span> */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public interface AsyncTable&lt;C extends ScanResultConsumerBase&gt; {<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  /**<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * Gets the fully qualified table name instance of this table.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  TableName getName();<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * Returns the {@link org.apache.hadoop.conf.Configuration} object used by this instance.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * &lt;p&gt;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * The reference returned is not a copy, so any change made to it will affect this instance.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  Configuration getConfiguration();<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /**<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * Gets the {@link TableDescriptor} for this table.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  CompletableFuture&lt;TableDescriptor&gt; getDescriptor();<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  /**<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * Gets the {@link AsyncTableRegionLocator} for this table.<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  AsyncTableRegionLocator getRegionLocator();<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * Get timeout of each rpc request in this Table instance. It will be overridden by a more<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * specific rpc timeout config such as readRpcTimeout or writeRpcTimeout.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * @see #getReadRpcTimeout(TimeUnit)<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * @see #getWriteRpcTimeout(TimeUnit)<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * @param unit the unit of time the timeout to be represented in<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * @return rpc timeout in the specified time unit<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  long getRpcTimeout(TimeUnit unit);<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Get timeout of each rpc read request in this Table instance.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param unit the unit of time the timeout to be represented in<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return read rpc timeout in the specified time unit<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  long getReadRpcTimeout(TimeUnit unit);<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  /**<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * Get timeout of each rpc write request in this Table instance.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   * @param unit the unit of time the timeout to be represented in<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @return write rpc timeout in the specified time unit<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   */<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  long getWriteRpcTimeout(TimeUnit unit);<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * Get timeout of each operation in Table instance.<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @param unit the unit of time the timeout to be represented in<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @return operation rpc timeout in the specified time unit<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  long getOperationTimeout(TimeUnit unit);<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /**<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * Get the timeout of a single operation in a scan. It works like operation timeout for other<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * operations.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @param unit the unit of time the timeout to be represented in<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @return scan rpc timeout in the specified time unit<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  long getScanTimeout(TimeUnit unit);<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  /**<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * Test for the existence of columns in the table, as specified by the Get.<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * &lt;p&gt;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * This will return true if the Get matches one or more keys, false if not.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * &lt;p&gt;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * This is a server-side call so it prevents any data from being transfered to the client.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @return true if the specified Get matches one or more keys, false if not. The return value will<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   *         be wrapped by a {@link CompletableFuture}.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  default CompletableFuture&lt;Boolean&gt; exists(Get get) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    return get(toCheckExistenceOnly(get)).thenApply(r -&gt; r.getExists());<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /**<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * Extracts certain cells from a given row.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @param get The object that specifies what data to fetch and from which row.<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @return The data coming from the specified row, if it exists. If the row specified doesn't<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   *         exist, the {@link Result} instance returned won't contain any<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   *         {@link org.apache.hadoop.hbase.KeyValue}, as indicated by {@link Result#isEmpty()}. The<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   *         return value will be wrapped by a {@link CompletableFuture}.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  CompletableFuture&lt;Result&gt; get(Get get);<a name="line.134"></a>
+<span class="sourceLineNo">045</span> * The implementation is required to be thread safe.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * Usually the implementation will not throw any exception directly. You need to get the exception<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * from the returned {@link CompletableFuture}.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * @since 2.0.0<a name="line.49"></a>
+<span class="sourceLineNo">050</span> */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>@InterfaceAudience.Public<a name="line.51"></a>
+<span class="sourceLineNo">052</span>public interface AsyncTable&lt;C extends ScanResultConsumerBase&gt; {<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  /**<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * Gets the fully qualified table name instance of this table.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  TableName getName();<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Returns the {@link org.apache.hadoop.conf.Configuration} object used by this instance.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * &lt;p&gt;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * The reference returned is not a copy, so any change made to it will affect this instance.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  Configuration getConfiguration();<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  /**<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * Gets the {@link TableDescriptor} for this table.<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  CompletableFuture&lt;TableDescriptor&gt; getDescriptor();<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * Gets the {@link AsyncTableRegionLocator} for this table.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  AsyncTableRegionLocator getRegionLocator();<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * Get timeout of each rpc request in this Table instance. It will be overridden by a more<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * specific rpc timeout config such as readRpcTimeout or writeRpcTimeout.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @see #getReadRpcTimeout(TimeUnit)<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @see #getWriteRpcTimeout(TimeUnit)<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * @param unit the unit of time the timeout to be represented in<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   * @return rpc timeout in the specified time unit<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  long getRpcTimeout(TimeUnit unit);<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Get timeout of each rpc read request in this Table instance.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param unit the unit of time the timeout to be represented in<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @return read rpc timeout in the specified time unit<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  long getReadRpcTimeout(TimeUnit unit);<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * Get timeout of each rpc write request in this Table instance.<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param unit the unit of time the timeout to be represented in<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @return write rpc timeout in the specified time unit<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  long getWriteRpcTimeout(TimeUnit unit);<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>   * Get timeout of each operation in Table instance.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * @param unit the unit of time the timeout to be represented in<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @return operation rpc timeout in the specified time unit<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  long getOperationTimeout(TimeUnit unit);<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>   * Get the timeout of a single operation in a scan. It works like operation timeout for other<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * operations.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * @param unit the unit of time the timeout to be represented in<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * @return scan rpc timeout in the specified time unit<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  long getScanTimeout(TimeUnit unit);<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * Get the map of request attributes<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * @return a map of request attributes supplied by the client<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  default Map&lt;String, byte[]&gt; getRequestAttributes() {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    throw new NotImplementedException("Add an implementation!");<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>  /**<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * Test for the existence of columns in the table, as specified by the Get.<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * &lt;p&gt;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * This will return true if the Get matches one or more keys, false if not.<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * &lt;p&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * This is a server-side call so it prevents any data from being transfered to the client.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @return true if the specified Get matches one or more keys, false if not. The return value will<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   *         be wrapped by a {@link CompletableFuture}.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  default CompletableFuture&lt;Boolean&gt; exists(Get get) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return get(toCheckExistenceOnly(get)).thenApply(r -&gt; r.getExists());<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>  /**<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Puts some data to the table.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @param put The data to put.<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  CompletableFuture&lt;Void&gt; put(Put put);<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * Deletes the specified cells/row.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @param delete The object that specifies what to delete.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  CompletableFuture&lt;Void&gt; delete(Delete delete);<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Appends values to one or more columns within a single row.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * &lt;p&gt;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * This operation does not appear atomic to readers. Appends are done under a single row lock, so<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * write operations to a row are synchronized, but readers do not take row locks so get and scan<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * operations can see this operation partially completed.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @param append object that specifies the columns and amounts to be used for the increment<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   *               operations<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @return values of columns after the append operation (maybe null). The return value will be<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   *         wrapped by a {@link CompletableFuture}.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  CompletableFuture&lt;Result&gt; append(Append append);<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>   * Increments one or more columns within a single row.<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * &lt;p&gt;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * This operation does not appear atomic to readers. Increments are done under a single row lock,<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * so write operations to a row are synchronized, but readers do not take row locks so get and<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * scan operations can see this operation partially completed.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * @param increment object that specifies the columns and amounts to be used for the increment<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   *                  operations<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * @return values of columns after the increment. The return value will be wrapped by a<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   *         {@link CompletableFuture}.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  CompletableFuture&lt;Result&gt; increment(Increment increment);<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  /**<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * See {@link #incrementColumnValue(byte[], byte[], byte[], long, Durability)}<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * &lt;p&gt;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * The {@link Durability} is defaulted to {@link Durability#SYNC_WAL}.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param row       The row that contains the cell to increment.<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @param family    The column family of the cell to increment.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * @param qualifier The column qualifier of the cell to increment.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * @param amount    The amount to increment the cell with (or decrement, if the amount is<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   *                  negative).<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @return The new value, post increment. The return value will be wrapped by a<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   *         {@link CompletableFuture}.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  default CompletableFuture&lt;Long&gt; incrementColumnValue(byte[] row, byte[] family, byte[] qualifier,<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    long amount) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return incrementColumnValue(row, family, qualifier, amount, Durability.SYNC_WAL);<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>   * Atomically increments a column value. If the column value already exists and is not a<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * big-endian long, this could throw an exception. If the column value does not yet exist it is<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * initialized to &lt;code&gt;amount&lt;/code&gt; and written to the specified column.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * &lt;p&gt;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   * Setting durability to {@link Durability#SKIP_WAL} means that in a fail scenario you will lose<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * any increments that have not been flushed.<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   * @param row        The row that contains the cell to increment.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * @param family     The column family of the cell to increment.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * @param qualifier  The column qualifier of the cell to increment.<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * @param amount     The amount to increment the cell with (or decrement, if the amount is<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   *                   negative).<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * @param durability The persistence guarantee for this increment.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @return The new value, post increment. The return value will be wrapped by a<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   *         {@link CompletableFuture}.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  default CompletableFuture&lt;Long&gt; incrementColumnValue(byte[] row, byte[] family, byte[] qualifier,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    long amount, Durability durability) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    Preconditions.checkNotNull(row, "row is null");<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    Preconditions.checkNotNull(family, "family is null");<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    return increment(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      new Increment(row).addColumn(family, qualifier, amount).setDurability(durability))<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        .thenApply(r -&gt; Bytes.toLong(r.getValue(family, qualifier)));<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>   * Atomically checks if a row/family/qualifier value matches the expected value. If it does, it<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   * adds the Put/Delete/RowMutations.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * &lt;p&gt;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * Use the returned {@link CheckAndMutateBuilder} to construct your request and then execute it.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * This is a fluent style API, the code is like:<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   *<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * &lt;pre&gt;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * table.checkAndMutate(row, family).qualifier(qualifier).ifNotExists().thenPut(put)<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   *   .thenAccept(succ -&amp;gt; {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   *     if (succ) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   *       System.out.println("Check and put succeeded");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   *     } else {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   *       System.out.println("Check and put failed");<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   *     }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   *   });<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * &lt;/pre&gt;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   *<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   *             any more.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  @Deprecated<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  CheckAndMutateBuilder checkAndMutate(byte[] row, byte[] family);<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * A helper class for sending checkAndMutate request.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   *             any more.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  @Deprecated<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  interface CheckAndMutateBuilder {<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>    /**<a name="line.250"></a>
-<span class="sourceLineNo">251</span>     * Match a qualifier.<a name="line.251"></a>
-<span class="sourceLineNo">252</span>     * @param qualifier column qualifier to check.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>     */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    CheckAndMutateBuilder qualifier(byte[] qualifier);<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>     * Match a timerange.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @param timeRange time range to check.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    CheckAndMutateBuilder timeRange(TimeRange timeRange);<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    /**<a name="line.262"></a>
-<span class="sourceLineNo">263</span>     * Check for lack of column.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>     */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    CheckAndMutateBuilder ifNotExists();<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    /**<a name="line.267"></a>
-<span class="sourceLineNo">268</span>     * Check for equality.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>     * @param value the expected value<a name="line.269"></a>
-<span class="sourceLineNo">270</span>     */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    default CheckAndMutateBuilder ifEquals(byte[] value) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      return ifMatches(CompareOperator.EQUAL, value);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>    /**<a name="line.275"></a>
-<span class="sourceLineNo">276</span>     * Compare a value<a name="line.276"></a>
-<span class="sourceLineNo">277</span>     * @param compareOp comparison operator to use<a name="line.277"></a>
-<span class="sourceLineNo">278</span>     * @param value     the expected value<a name="line.278"></a>
-<span class="sourceLineNo">279</span>     */<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    CheckAndMutateBuilder ifMatches(CompareOperator compareOp, byte[] value);<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    /**<a name="line.282"></a>
-<span class="sourceLineNo">283</span>     * Specify a Put to commit if the check succeeds.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>     * @param put data to put if check succeeds<a name="line.284"></a>
-<span class="sourceLineNo">285</span>     * @return {@code true} if the new put was executed, {@code false} otherwise. The return value<a name="line.285"></a>
-<span class="sourceLineNo">286</span>     *         will be wrapped by a {@link CompletableFuture}.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>     */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    CompletableFuture&lt;Boolean&gt; thenPut(Put put);<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>    /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>     * Specify a Delete to commit if the check succeeds.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>     * @param delete data to delete if check succeeds<a name="line.292"></a>
-<span class="sourceLineNo">293</span>     * @return {@code true} if the new delete was executed, {@code false} otherwise. The return<a name="line.293"></a>
-<span class="sourceLineNo">294</span>     *         value will be wrapped by a {@link CompletableFuture}.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>     */<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    CompletableFuture&lt;Boolean&gt; thenDelete(Delete delete);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>     * Specify a RowMutations to commit if the check succeeds.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>     * @param mutation mutations to perform if check succeeds<a name="line.300"></a>
-<span class="sourceLineNo">301</span>     * @return true if the new mutation was executed, false otherwise. The return value will be<a name="line.301"></a>
-<span class="sourceLineNo">302</span>     *         wrapped by a {@link CompletableFuture}.<a name="line.302"></a>
-<span class="sourceLineNo">303</span>     */<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    CompletableFuture&lt;Boolean&gt; thenMutate(RowMutations mutation);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  /**<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * Atomically checks if a row matches the specified filter. If it does, it adds the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Put/Delete/RowMutations.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Use the returned {@link CheckAndMutateWithFilterBuilder} to construct your request and then<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * execute it. This is a fluent style API, the code is like:<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   *<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * &lt;pre&gt;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * table.checkAndMutate(row, filter).thenPut(put).thenAccept(succ -&amp;gt; {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *   if (succ) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   *     System.out.println("Check and put succeeded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   *   } else {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   *     System.out.println("Check and put failed");<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>   * &lt;/pre&gt;<a name="line.322"></a>
+<span class="sourceLineNo">137</span>   * Extracts certain cells from a given row.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * @param get The object that specifies what data to fetch and from which row.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * @return The data coming from the specified row, if it exists. If the row specified doesn't<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   *         exist, the {@link Result} instance returned won't contain any<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   *         {@link org.apache.hadoop.hbase.KeyValue}, as indicated by {@link Result#isEmpty()}. The<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   *         return value will be wrapped by a {@link CompletableFuture}.<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   */<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  CompletableFuture&lt;Result&gt; get(Get get);<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * Puts some data to the table.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @param put The data to put.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   */<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  CompletableFuture&lt;Void&gt; put(Put put);<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * Deletes the specified cells/row.<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * @param delete The object that specifies what to delete.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  CompletableFuture&lt;Void&gt; delete(Delete delete);<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>   * Appends values to one or more columns within a single row.<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * &lt;p&gt;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * This operation does not appear atomic to readers. Appends are done under a single row lock, so<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * write operations to a row are synchronized, but readers do not take row locks so get and scan<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * operations can see this operation partially completed.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * @param append object that specifies the columns and amounts to be used for the increment<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   *               operations<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * @return values of columns after the append operation (maybe null). The return value will be<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   *         wrapped by a {@link CompletableFuture}.<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  CompletableFuture&lt;Result&gt; append(Append append);<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * Increments one or more columns within a single row.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * &lt;p&gt;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * This operation does not appear atomic to readers. Increments are done under a single row lock,<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * so write operations to a row are synchronized, but readers do not take row locks so get and<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   * scan operations can see this operation partially completed.<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * @param increment object that specifies the columns and amounts to be used for the increment<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   *                  operations<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * @return values of columns after the increment. The return value will be wrapped by a<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   *         {@link CompletableFuture}.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  CompletableFuture&lt;Result&gt; increment(Increment increment);<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>   * See {@link #incrementColumnValue(byte[], byte[], byte[], long, Durability)}<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * &lt;p&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * The {@link Durability} is defaulted to {@link Durability#SYNC_WAL}.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * @param row       The row that contains the cell to increment.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * @param family    The column family of the cell to increment.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * @param qualifier The column qualifier of the cell to increment.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param amount    The amount to increment the cell with (or decrement, if the amount is<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   *                  negative).<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @return The new value, post increment. The return value will be wrapped by a<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   *         {@link CompletableFuture}.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  default CompletableFuture&lt;Long&gt; incrementColumnValue(byte[] row, byte[] family, byte[] qualifier,<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    long amount) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    return incrementColumnValue(row, family, qualifier, amount, Durability.SYNC_WAL);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * Atomically increments a column value. If the column value already exists and is not a<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * big-endian long, this could throw an exception. If the column value does not yet exist it is<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * initialized to &lt;code&gt;amount&lt;/code&gt; and written to the specified column.<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * &lt;p&gt;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * Setting durability to {@link Durability#SKIP_WAL} means that in a fail scenario you will lose<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * any increments that have not been flushed.<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @param row        The row that contains the cell to increment.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * @param family     The column family of the cell to increment.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @param qualifier  The column qualifier of the cell to increment.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * @param amount     The amount to increment the cell with (or decrement, if the amount is<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   *                   negative).<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * @param durability The persistence guarantee for this increment.<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * @return The new value, post increment. The return value will be wrapped by a<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   *         {@link CompletableFuture}.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  default CompletableFuture&lt;Long&gt; incrementColumnValue(byte[] row, byte[] family, byte[] qualifier,<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    long amount, Durability durability) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    Preconditions.checkNotNull(row, "row is null");<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    Preconditions.checkNotNull(family, "family is null");<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    return increment(<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      new Increment(row).addColumn(family, qualifier, amount).setDurability(durability))<a name="line.224"></a>
+<span class="sourceLineNo">225</span>        .thenApply(r -&gt; Bytes.toLong(r.getValue(family, qualifier)));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  }<a name="line.226"></a>
+<span class="sourceLineNo">227</span><a name="line.227"></a>
+<span class="sourceLineNo">228</span>  /**<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * Atomically checks if a row/family/qualifier value matches the expected value. If it does, it<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * adds the Put/Delete/RowMutations.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * &lt;p&gt;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * Use the returned {@link CheckAndMutateBuilder} to construct your request and then execute it.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * This is a fluent style API, the code is like:<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   *<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * &lt;pre&gt;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * table.checkAndMutate(row, family).qualifier(qualifier).ifNotExists().thenPut(put)<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   *   .thenAccept(succ -&amp;gt; {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   *     if (succ) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   *       System.out.println("Check and put succeeded");<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   *     } else {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   *       System.out.println("Check and put failed");<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *     }<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   *   });<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * &lt;/pre&gt;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   *<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   *             any more.<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  @Deprecated<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  CheckAndMutateBuilder checkAndMutate(byte[] row, byte[] family);<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  /**<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * A helper class for sending checkAndMutate request.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   *             any more.<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  @Deprecated<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  interface CheckAndMutateBuilder {<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>    /**<a name="line.260"></a>
+<span class="sourceLineNo">261</span>     * Match a qualifier.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>     * @param qualifier column qualifier to check.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>     */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    CheckAndMutateBuilder qualifier(byte[] qualifier);<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>    /**<a name="line.266"></a>
+<span class="sourceLineNo">267</span>     * Match a timerange.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>     * @param timeRange time range to check.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>     */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    CheckAndMutateBuilder timeRange(TimeRange timeRange);<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>     * Check for lack of column.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     */<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    CheckAndMutateBuilder ifNotExists();<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>    /**<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     * Check for equality.<a name="line.278"></a>
+<span class="sourceLineNo">279</span>     * @param value the expected value<a name="line.279"></a>
+<span class="sourceLineNo">280</span>     */<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    default CheckAndMutateBuilder ifEquals(byte[] value) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      return ifMatches(CompareOperator.EQUAL, value);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<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>     * Compare a value<a name="line.286"></a>
+<span class="sourceLineNo">287</span>     * @param compareOp comparison operator to use<a name="line.287"></a>
+<span class="sourceLineNo">288</span>     * @param value     the expected value<a name="line.288"></a>
+<span class="sourceLineNo">289</span>     */<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    CheckAndMutateBuilder ifMatches(CompareOperator compareOp, byte[] value);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    /**<a name="line.292"></a>
+<span class="sourceLineNo">293</span>     * Specify a Put to commit if the check succeeds.<a name="line.293"></a>
+<span class="sourceLineNo">294</span>     * @param put data to put if check succeeds<a name="line.294"></a>
+<span class="sourceLineNo">295</span>     * @return {@code true} if the new put was executed, {@code false} otherwise. The return value<a name="line.295"></a>
+<span class="sourceLineNo">296</span>     *         will be wrapped by a {@link CompletableFuture}.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>     */<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    CompletableFuture&lt;Boolean&gt; thenPut(Put put);<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>    /**<a name="line.300"></a>
+<span class="sourceLineNo">301</span>     * Specify a Delete to commit if the check succeeds.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>     * @param delete data to delete if check succeeds<a name="line.302"></a>
+<span class="sourceLineNo">303</span>     * @return {@code true} if the new delete was executed, {@code false} otherwise. The return<a name="line.303"></a>
+<span class="sourceLineNo">304</span>     *         value will be wrapped by a {@link CompletableFuture}.<a name="line.304"></a>
+<span class="sourceLineNo">305</span>     */<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    CompletableFuture&lt;Boolean&gt; thenDelete(Delete delete);<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>     * Specify a RowMutations to commit if the check succeeds.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>     * @param mutation mutations to perform if check succeeds<a name="line.310"></a>
+<span class="sourceLineNo">311</span>     * @return true if the new mutation was executed, false otherwise. The return value will be<a name="line.311"></a>
+<span class="sourceLineNo">312</span>     *         wrapped by a {@link CompletableFuture}.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>     */<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    CompletableFuture&lt;Boolean&gt; thenMutate(RowMutations mutation);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  }<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>   * Atomically checks if a row matches the specified filter. If it does, it adds the<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   * Put/Delete/RowMutations.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * &lt;p&gt;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * Use the returned {@link CheckAndMutateWithFilterBuilder} to construct your request and then<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * execute it. This is a fluent style API, the code is like:<a name="line.322"></a>
 <span class="sourceLineNo">323</span>   *<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   *             any more.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  @Deprecated<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  CheckAndMutateWithFilterBuilder checkAndMutate(byte[] row, Filter filter);<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  /**<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * A helper class for sending checkAndMutate request with a filter.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   *             any more.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Deprecated<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  interface CheckAndMutateWithFilterBuilder {<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    /**<a name="line.338"></a>
-<span class="sourceLineNo">339</span>     * Match a timerange.<a name="line.339"></a>
-<span class="sourceLineNo">340</span>     * @param timeRange time range to check.<a name="line.340"></a>
-<span class="sourceLineNo">341</span>     */<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    CheckAndMutateWithFilterBuilder timeRange(TimeRange timeRange);<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>    /**<a name="line.344"></a>
-<span class="sourceLineNo">345</span>     * Specify a Put to commit if the check succeeds.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>     * @param put data to put if check succeeds<a name="line.346"></a>
-<span class="sourceLineNo">347</span>     * @return {@code true} if the new put was executed, {@code false} otherwise. The return value<a name="line.347"></a>
-<span class="sourceLineNo">348</span>     *         will be wrapped by a {@link CompletableFuture}.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>     */<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    CompletableFuture&lt;Boolean&gt; thenPut(Put put);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>    /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     * Specify a Delete to commit if the check succeeds.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>     * @param delete data to delete if check succeeds<a name="line.354"></a>
-<span class="sourceLineNo">355</span>     * @return {@code true} if the new delete was executed, {@code false} otherwise. The return<a name="line.355"></a>
-<span class="sourceLineNo">356</span>     *         value will be wrapped by a {@link CompletableFuture}.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>     */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    CompletableFuture&lt;Boolean&gt; thenDelete(Delete delete);<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>    /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>     * Specify a RowMutations to commit if the check succeeds.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>     * @param mutation mutations to perform if check succeeds<a name="line.362"></a>
-<span class="sourceLineNo">363</span>     * @return true if the new mutation was executed, false otherwise. The return value will be<a name="line.363"></a>
-<span class="sourceLineNo">364</span>     *         wrapped by a {@link CompletableFuture}.<a name="line.364"></a>
-<span class="sourceLineNo">365</span>     */<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    CompletableFuture&lt;Boolean&gt; thenMutate(RowMutations mutation);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  }<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * checkAndMutate that atomically checks if a row matches the specified condition. If it does, it<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * performs the specified action.<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @param checkAndMutate The CheckAndMutate object.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return A {@link CompletableFuture}s that represent the result for the CheckAndMutate.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  CompletableFuture&lt;CheckAndMutateResult&gt; checkAndMutate(CheckAndMutate checkAndMutate);<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>   * Batch version of checkAndMutate. The specified CheckAndMutates are batched only in the sense<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * that they are sent to a RS in one RPC, but each CheckAndMutate operation is still executed<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * atomically (and thus, each may fail independently of others).<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @param checkAndMutates The list of CheckAndMutate.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @return A list of {@link CompletableFuture}s that represent the result for each CheckAndMutate.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  List&lt;CompletableFuture&lt;CheckAndMutateResult&gt;&gt;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    checkAndMutate(List&lt;CheckAndMutate&gt; checkAndMutates);<a name="line.385"></a>
+<span class="sourceLineNo">324</span>   * &lt;pre&gt;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * table.checkAndMutate(row, filter).thenPut(put).thenAccept(succ -&amp;gt; {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   *   if (succ) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   *     System.out.println("Check and put succeeded");<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   *   } else {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   *     System.out.println("Check and put failed");<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *   }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * });<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * &lt;/pre&gt;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   *<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   *             any more.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  @Deprecated<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  CheckAndMutateWithFilterBuilder checkAndMutate(byte[] row, Filter filter);<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * A helper class for sending checkAndMutate request with a filter.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @deprecated Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   *             any more.<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  @Deprecated<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  interface CheckAndMutateWithFilterBuilder {<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>    /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>     * Match a timerange.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>     * @param timeRange time range to check.<a name="line.350"></a>
+<span class="sourceLineNo">351</span>     */<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    CheckAndMutateWithFilterBuilder timeRange(TimeRange timeRange);<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>    /**<a name="line.354"></a>
+<span class="sourceLineNo">355</span>     * Specify a Put to commit if the check succeeds.<a name="line.355"></a>
+<span class="sourceLineNo">356</span>     * @param put data to put if check succeeds<a name="line.356"></a>
+<span class="sourceLineNo">357</span>     * @return {@code true} if the new put was executed, {@code false} otherwise. The return value<a name="line.357"></a>
+<span class="sourceLineNo">358</span>     *         will be wrapped by a {@link CompletableFuture}.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>     */<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    CompletableFuture&lt;Boolean&gt; thenPut(Put put);<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>     * Specify a Delete to commit if the check succeeds.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>     * @param delete data to delete if check succeeds<a name="line.364"></a>
+<span class="sourceLineNo">365</span>     * @return {@code true} if the new delete was executed, {@code false} otherwise. The return<a name="line.365"></a>
+<span class="sourceLineNo">366</span>     *         value will be wrapped by a {@link CompletableFuture}.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>     */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    CompletableFuture&lt;Boolean&gt; thenDelete(Delete delete);<a name="line.368"></a>
+<span class="sourceLineNo">369</span><a name="line.369"></a>
+<span class="sourceLineNo">370</span>    /**<a name="line.370"></a>
+<span class="sourceLineNo">371</span>     * Specify a RowMutations to commit if the check succeeds.<a name="line.371"></a>
+<span class="sourceLineNo">372</span>     * @param mutation mutations to perform if check succeeds<a name="line.372"></a>
+<span class="sourceLineNo">373</span>     * @return true if the new mutation was executed, false otherwise. The return value will be<a name="line.373"></a>
+<span class="sourceLineNo">374</span>     *         wrapped by a {@link CompletableFuture}.<a name="line.374"></a>
+<span class="sourceLineNo">375</span>     */<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    CompletableFuture&lt;Boolean&gt; thenMutate(RowMutations mutation);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * checkAndMutate that atomically checks if a row matches the specified condition. If it does, it<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * performs the specified action.<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param checkAndMutate The CheckAndMutate object.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @return A {@link CompletableFuture}s that represent the result for the CheckAndMutate.<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  CompletableFuture&lt;CheckAndMutateResult&gt; checkAndMutate(CheckAndMutate checkAndMutate);<a name="line.385"></a>
 <span class="sourceLineNo">386</span><a name="line.386"></a>
 <span class="sourceLineNo">387</span>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * A simple version of batch checkAndMutate. It will fail if there are any failures.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * @param checkAndMutates The list of rows to apply.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return A {@link CompletableFuture} that wrapper the result list.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  default CompletableFuture&lt;List&lt;CheckAndMutateResult&gt;&gt;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    checkAndMutateAll(List&lt;CheckAndMutate&gt; checkAndMutates) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    return allOf(checkAndMutate(checkAndMutates));<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  }<a name="line.395"></a>
+<span class="sourceLineNo">388</span>   * Batch version of checkAndMutate. The specified CheckAndMutates are batched only in the sense<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * that they are sent to a RS in one RPC, but each CheckAndMutate operation is still executed<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * atomically (and thus, each may fail independently of others).<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @param checkAndMutates The list of CheckAndMutate.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   * @return A list of {@link CompletableFuture}s that represent the result for each CheckAndMutate.<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  List&lt;CompletableFuture&lt;CheckAndMutateResult&gt;&gt;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    checkAndMutate(List&lt;CheckAndMutate&gt; checkAndMutates);<a name="line.395"></a>
 <span class="sourceLineNo">396</span><a name="line.396"></a>
 <span class="sourceLineNo">397</span>  /**<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Performs multiple mutations atomically on a single row. Currently {@link Put} and<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * {@link Delete} are supported.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @param mutation object that specifies the set of mutations to perform atomically<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @return A {@link CompletableFuture} that returns results of Increment/Append operations<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  CompletableFuture&lt;Result&gt; mutateRow(RowMutations mutation);<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * The scan API uses the observer pattern.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * @param scan     A configured {@link Scan} object.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @param consumer the consumer used to receive results.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * @see ScanResultConsumer<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * @see AdvancedScanResultConsumer<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   */<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  void scan(Scan scan, C consumer);<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Gets a scanner on the current table for the given family.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param family The column family to scan.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return A scanner.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   */<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  default ResultScanner getScanner(byte[] family) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return getScanner(new Scan().addFamily(family));<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets a scanner on the current table for the given family and qualifier.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param family    The column family to scan.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param qualifier The column qualifier to scan.<a name="line.426"></a>
+<span class="sourceLineNo">398</span>   * A simple version of batch checkAndMutate. It will fail if there are any failures.<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * @param checkAndMutates The list of rows to apply.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @return A {@link CompletableFuture} that wrapper the result list.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  default CompletableFuture&lt;List&lt;CheckAndMutateResult&gt;&gt;<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    checkAndMutateAll(List&lt;CheckAndMutate&gt; checkAndMutates) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return allOf(checkAndMutate(checkAndMutates));<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Performs multiple mutations atomically on a single row. Currently {@link Put} and<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * {@link Delete} are supported.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * @param mutation object that specifies the set of mutations to perform atomically<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * @return A {@link CompletableFuture} that returns results of Increment/Append operations<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   */<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  CompletableFuture&lt;Result&gt; mutateRow(RowMutations mutation);<a name="line.413"></a>
+<span class="sourceLineNo">414</span><a name="line.414"></a>
+<span class="sourceLineNo">415</span>  /**<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * The scan API uses the observer pattern.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @param scan     A configured {@link Scan} object.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @param consumer the consumer used to receive results.<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * @see ScanResultConsumer<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * @see AdvancedScanResultConsumer<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  void scan(Scan scan, C consumer);<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>   * Gets a scanner on the current table for the given family.<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param family The column family to scan.<a name="line.426"></a>
 <span class="sourceLineNo">427</span>   * @return A scanner.<a name="line.427"></a>
 <span class="sourceLineNo">428</span>   */<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  default ResultScanner getScanner(byte[] family, byte[] qualifier) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    return getScanner(new Scan().addColumn(family, qualifier));<a name="line.430"></a>
+<span class="sourceLineNo">429</span>  default ResultScanner getScanner(byte[] family) {<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    return getScanner(new Scan().addFamily(family));<a name="line.430"></a>
 <span class="sourceLineNo">431</span>  }<a name="line.431"></a>
 <span class="sourceLineNo">432</span><a name="line.432"></a>
 <span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * Returns a scanner on the current table as specified by the {@link Scan} object.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * @param scan A configured {@link Scan} object.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @return A scanner.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  ResultScanner getScanner(Scan scan);<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /**<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Return all the results that match the given scan object.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * &lt;p&gt;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * Notice that usually you should use this method with a {@link Scan} object that has limit set.<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * For example, if you want to get the closest row after a given row, you could do this:<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;p&gt;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   *<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * &lt;pre&gt;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * table.scanAll(new Scan().withStartRow(row, false).setLimit(1)).thenAccept(results -&amp;gt; {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   *   if (results.isEmpty()) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   *     System.out.println("No row after " + Bytes.toStringBinary(row));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   *   } else {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   *     System.out.println("The closest row after " + Bytes.toStringBinary(row) + " is "<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   *       + Bytes.toStringBinary(results.stream().findFirst().get().getRow()));<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   *   }<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * });<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * &lt;/pre&gt;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * &lt;p&gt;<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * If your result set is very large, you should use other scan method to get a scanner or use<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * callback to process the results. They will do chunking to prevent OOM. The scanAll method will<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * fetch all the results and store them in a List and then return the list to you.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * &lt;p&gt;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * The scan metrics will be collected background if you enable it but you have no way to get it.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * Usually you can get scan metrics from {@code ResultScanner}, or through<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * {@code ScanResultConsumer.onScanMetricsCreated} but this method only returns a list of results.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * So if you really care about scan metrics then you'd better use other scan methods which return<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   * a {@code ResultScanner} or let you pass in a {@code ScanResultConsumer}. There is no<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * performance difference between these scan methods so do not worry.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param scan A configured {@link Scan} object. So if you use this method to fetch a really large<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   *             result set, it is likely to cause OOM.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * @return The results of this small scan operation. The return value will be wrapped by a<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   *         {@link CompletableFuture}.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  CompletableFuture&lt;List&lt;Result&gt;&gt; scanAll(Scan scan);<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>  /**<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Test for the existence of columns in the table, as specified by the Gets.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * &lt;p&gt;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * This will return a list of booleans. Each value will be true if the related Get matches one or<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * more keys, false if not.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * &lt;p&gt;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * This is a server-side call so it prevents any data from being transferred to the client.<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param gets the Gets<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @return A list of {@link CompletableFuture}s that represent the existence for each get.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  default List&lt;CompletableFuture&lt;Boolean&gt;&gt; exists(List&lt;Get&gt; gets) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    return get(toCheckExistenceOnly(gets)).stream()<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      .&lt;CompletableFuture&lt;Boolean&gt;&gt; map(f -&gt; f.thenApply(r -&gt; r.getExists())).collect(toList());<a name="line.487"></a>
-<span class="sourceLineNo">488</span>  }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>  /**<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * A simple version for batch exists. It will fail if there are any failures and you will get the<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * whole result boolean list at once if the operation is succeeded.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * @param gets the Gets<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * @return A {@link CompletableFuture} that wrapper the result boolean list.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   */<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  default CompletableFuture&lt;List&lt;Boolean&gt;&gt; existsAll(List&lt;Get&gt; gets) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    return allOf(exists(gets));<a name="line.497"></a>
+<span class="sourceLineNo">434</span>   * Gets a scanner on the current table for the given family and qualifier.<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * @param family    The column family to scan.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * @param qualifier The column qualifier to scan.<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * @return A scanner.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  default ResultScanner getScanner(byte[] family, byte[] qualifier) {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    return getScanner(new Scan().addColumn(family, qualifier));<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  }<a name="line.441"></a>
+<span class="sourceLineNo">442</span><a name="line.442"></a>
+<span class="sourceLineNo">443</span>  /**<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * Returns a scanner on the current table as specified by the {@link Scan} object.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param scan A configured {@link Scan} object.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @return A scanner.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
+<span class="sourceLineNo">448</span>  ResultScanner getScanner(Scan scan);<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span>  /**<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * Return all the results that match the given scan object.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * &lt;p&gt;<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * Notice that usually you should use this method with a {@link Scan} object that has limit set.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * For example, if you want to get the closest row after a given row, you could do this:<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * &lt;p&gt;<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   *<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   * &lt;pre&gt;<a name="line.457"></a>
+<span class="sourceLineNo">458</span>   * table.scanAll(new Scan().withStartRow(row, false).setLimit(1)).thenAccept(results -&amp;gt; {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>   *   if (results.isEmpty()) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>   *     System.out.println("No row after " + Bytes.toStringBinary(row));<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   *   } else {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *     System.out.println("The closest row after " + Bytes.toStringBinary(row) + " is "<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   *       + Bytes.toStringBinary(results.stream().findFirst().get().getRow()));<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   *   }<a name="line.464"></a>
+<span class="sourceLineNo">465</span>   * });<a name="line.465"></a>
+<span class="sourceLineNo">466</span>   * &lt;/pre&gt;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>   * &lt;p&gt;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * If your result set is very large, you should use other scan method to get a scanner or use<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   * callback to process the results. They will do chunking to prevent OOM. The scanAll method will<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * fetch all the results and store them in a List and then return the list to you.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * &lt;p&gt;<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * The scan metrics will be collected background if you enable it but you have no way to get it.<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * Usually you can get scan metrics from {@code ResultScanner}, or through<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * {@code ScanResultConsumer.onScanMetricsCreated} but this method only returns a list of results.<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   * So if you really care about scan metrics then you'd better use other scan methods which return<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   * a {@code ResultScanner} or let you pass in a {@code ScanResultConsumer}. There is no<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   * performance difference between these scan methods so do not worry.<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * @param scan A configured {@link Scan} object. So if you use this method to fetch a really large<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   *             result set, it is likely to cause OOM.<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @return The results of this small scan operation. The return value will be wrapped by a<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   *         {@link CompletableFuture}.<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  CompletableFuture&lt;List&lt;Result&gt;&gt; scanAll(Scan scan);<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>   * Test for the existence of columns in the table, as specified by the Gets.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   * &lt;p&gt;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>   * This will return a list of booleans. Each value will be true if the related Get matches one or<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * more keys, false if not.<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * &lt;p&gt;<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * This is a server-side call so it prevents any data from being transferred to the client.<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @param gets the Gets<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * @return A list of {@link CompletableFuture}s that represent the existence for each get.<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   */<a name="line.494"></a>
+<span class="sourceLineNo">495</span>  default List&lt;CompletableFuture&lt;Boolean&gt;&gt; exists(List&lt;Get&gt; gets) {<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    return get(toCheckExistenceOnly(gets)).stream()<a name="line.496"></a>
+<span class="sourceLineNo">497</span>      .&lt;CompletableFuture&lt;Boolean&gt;&gt; map(f -&gt; f.thenApply(r -&gt; r.getExists())).collect(toList());<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>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Extracts certain cells from the given rows, in batch.<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * &lt;p&gt;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Notice that you may not get all the results with this function, which means some of the<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * returned {@link CompletableFuture}s may succeed while some of the other returned<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * {@link CompletableFuture}s may fail.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @param gets The objects that specify what data to fetch and from which rows.<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   * @return A list of {@link CompletableFuture}s that represent the result for each get.<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   */<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  List&lt;CompletableFuture&lt;Result&gt;&gt; get(List&lt;Get&gt; gets);<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>  /**<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   * A simple version for batch get. It will fail if there are any failures and you will get the<a name="line.512"></a>
-<span class="sourceLineNo">513</span>   * whole result list at once if the operation is succeeded.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * @param gets The objects that specify what data to fetch and from which rows.<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * @return A {@link CompletableFuture} that wrapper the result list.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   */<a name="line.516"></a>
-<span class="sourceLineNo">517</span>  default CompletableFuture&lt;List&lt;Result&gt;&gt; getAll(List&lt;Get&gt; gets) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return allOf(get(gets));<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
+<span class="sourceLineNo">501</span>   * A simple version for batch exists. It will fail if there are any failures and you will get the<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * whole result boolean list at once if the operation is succeeded.<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * @param gets the Gets<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * @return A {@link CompletableFuture} that wrapper the result boolean list.<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
+<span class="sourceLineNo">506</span>  default CompletableFuture&lt;List&lt;Boolean&gt;&gt; existsAll(List&lt;Get&gt; gets) {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    return allOf(exists(gets));<a name="line.507"></a>
+<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>  /**<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   * Extracts certain cells from the given rows, in batch.<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   * &lt;p&gt;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   * Notice that you may not get all the results with this function, which means some of the<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   * returned {@link CompletableFuture}s may succeed while some of the other returned<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * {@link CompletableFuture}s may fail.<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * @param gets The objects that specify what data to fetch and from which rows.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   * @return A list of {@link CompletableFuture}s that represent the result for each get.<a name="line.517"></a>
+<span class="sourceLineNo">518</span>   */<a name="line.518"></a>
+<span class="sourceLineNo">519</span>  List&lt;CompletableFuture&lt;Result&gt;&gt; get(List&lt;Get&gt; gets);<a name="line.519"></a>
 <span class="sourceLineNo">520</span><a name="line.520"></a>
 <span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Puts some data in the table, in batch.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * @param puts The list of mutations to apply.<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @return A list of {@link CompletableFuture}s that represent the result for each put.<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   */<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  List&lt;CompletableFuture&lt;Void&gt;&gt; put(List&lt;Put&gt; puts);<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  /**<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * A simple version of batch put. It will fail if there are any failures.<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param puts The list of mutations to apply.<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  default CompletableFuture&lt;Void&gt; putAll(List&lt;Put&gt; puts) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    return allOf(put(puts)).thenApply(r -&gt; null);<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>   * Deletes the specified cells/rows in bulk.<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * @param deletes list of things to delete.<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * @return A list of {@link CompletableFuture}s that represent the result for each delete.<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   */<a name="line.541"></a>
-<span class="sourceLineNo">542</span>  List&lt;CompletableFuture&lt;Void&gt;&gt; delete(List&lt;Delete&gt; deletes);<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 simple version of batch delete. It will fail if there are any failures.<a name="line.545"></a>
-<span class="sourceLineNo">546</span>   * @param deletes list of things to delete.<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   */<a name="line.548"></a>
-<span class="sourceLineNo">549</span>  default CompletableFuture&lt;Void&gt; deleteAll(List&lt;Delete&gt; deletes) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    return allOf(delete(deletes)).thenApply(r -&gt; null);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>  }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>  /**<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * Method that does a batch call on Deletes, Gets, Puts, Increments, Appends and RowMutations. The<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * ordering of execution of the actions is not defined. Meaning if you do a Put and a Get in the<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * same {@link #batch} call, you will not necessarily be guaranteed that the Get returns what the<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * Put had put.<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @param actions list of Get, Put, Delete, Increment, Append, and RowMutations objects<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * @return A list of {@link CompletableFuture}s that represent the result for each action.<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   */<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  &lt;T&gt; List&lt;CompletableFuture&lt;T&gt;&gt; batch(List&lt;? extends Row&gt; actions);<a name="line.561"></a>
+<span class="sourceLineNo">522</span>   * A simple version for batch get. It will fail if there are any failures and you will get the<a name="line.522"></a>
+<span class="sourceLineNo">523</span>   * whole result list at once if the operation is succeeded.<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * @param gets The objects that specify what data to fetch and from which rows.<a name="line.524"></a>
+<span class="sourceLineNo">525</span>   * @return A {@link CompletableFuture} that wrapper the result list.<a name="line.525"></a>
+<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  default CompletableFuture&lt;List&lt;Result&gt;&gt; getAll(List&lt;Get&gt; gets) {<a name="line.527"></a>
+<span class="sourceLineNo">528</span>    return allOf(get(gets));<a name="line.528"></a>
+<span class="sourceLineNo">529</span>  }<a name="line.529"></a>
+<span class="sourceLineNo">530</span><a name="line.530"></a>
+<span class="sourceLineNo">531</span>  /**<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   * Puts some data in the table, in batch.<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param puts The list of mutations to apply.<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @return A list of {@link CompletableFuture}s that represent the result for each put.<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   */<a name="line.535"></a>
+<span class="sourceLineNo">536</span>  List&lt;CompletableFuture&lt;Void&gt;&gt; put(List&lt;Put&gt; puts);<a name="line.536"></a>
+<span class="sourceLineNo">537</span><a name="line.537"></a>
+<span class="sourceLineNo">538</span>  /**<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * A simple version of batch put. It will fail if there are any failures.<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @param puts The list of mutations to apply.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   */<a name="line.542"></a>
+<span class="sourceLineNo">543</span>  default CompletableFuture&lt;Void&gt; putAll(List&lt;Put&gt; puts) {<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    return allOf(put(puts)).thenApply(r -&gt; null);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>  /**<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   * Deletes the specified cells/rows in bulk.<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * @param deletes list of things to delete.<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * @return A list of {@link CompletableFuture}s that represent the result for each delete.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   */<a name="line.551"></a>
+<span class="sourceLineNo">552</span>  List&lt;CompletableFuture&lt;Void&gt;&gt; delete(List&lt;Delete&gt; deletes);<a name="line.552"></a>
+<span class="sourceLineNo">553</span><a name="line.553"></a>
+<span class="sourceLineNo">554</span>  /**<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * A simple version of batch delete. It will fail if there are any failures.<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param deletes list of things to delete.<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   * @return A {@link CompletableFuture} that always returns null when complete normally.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   */<a name="line.558"></a>
+<span class="sourceLineNo">559</span>  default CompletableFuture&lt;Void&gt; deleteAll(List&lt;Delete&gt; deletes) {<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    return allOf(delete(deletes)).thenApply(r -&gt; null);<a name="line.560"></a>
+<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
 <span class="sourceLineNo">562</span><a name="line.562"></a>
 <span class="sourceLineNo">563</span>  /**<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * A simple version of batch. It will fail if there are any failures and you will get the whole<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * result list at once if the operation is succeeded.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param actions list of Get, Put, Delete, Increment, Append and RowMutations objects<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @return A list of the result for the actions. Wrapped by a {@link CompletableFuture}.<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   */<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  default &lt;T&gt; CompletableFuture&lt;List&lt;T&gt;&gt; batchAll(List&lt;? extends Row&gt; actions) {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    return allOf(batch(actions));<a name="line.570"></a>
-<span class="sourceLineNo">571</span>  }<a name="line.571"></a>
+<span class="sourceLineNo">564</span>   * Method that does a batch call on Deletes, Gets, Puts, Increments, Appends and RowMutations. The<a name="line.564"></a>
+<span class="sourceLineNo">565</span>   * ordering of execution of the actions is not defined. Meaning if you do a Put and a Get in the<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   * same {@link #batch} call, you will not necessarily be guaranteed that the Get returns what the<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   * Put had put.<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * @param actions list of Get, Put, Delete, Increment, Append, and RowMutations objects<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   * @return A list of {@link CompletableFuture}s that represent the result for each action.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   */<a name="line.570"></a>
+<span class="sourceLineNo">571</span>  &lt;T&gt; List&lt;CompletableFuture&lt;T&gt;&gt; batch(List&lt;? extends Row&gt; actions);<a name="line.571"></a>
 <span class="sourceLineNo">572</span><a name="line.572"></a>
 <span class="sourceLineNo">573</span>  /**<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * Execute the given coprocessor call on the region which contains the given {@code row}.<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * &lt;p&gt;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   * one line lambda expression, like:<a name="line.577"></a>
-<span class="sourceLineNo">578</span>   *<a name="line.578"></a>
-<span class="sourceLineNo">579</span>   * &lt;pre&gt;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>   * channel -&amp;gt; xxxService.newStub(channel)<a name="line.580"></a>
-<span class="sourceLineNo">581</span>   * &lt;/pre&gt;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>   *<a name="line.582"></a>
-<span class="sourceLineNo">583</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * @param callable  a delegation to the actual protobuf rpc call. See the comment of<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   *                  {@link ServiceCaller} for more details.<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @param row       The row key used to identify the remote region location<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   * @param &lt;S&gt;       the type of the asynchronous stub<a name="line.587"></a>
-<span class="sourceLineNo">588</span>   * @param &lt;R&gt;       the type of the return value<a name="line.588"></a>
-<span class="sourceLineNo">589</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   * @see ServiceCaller<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   */<a name="line.591"></a>
-<span class="sourceLineNo">592</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    ServiceCaller&lt;S, R&gt; callable, byte[] row);<a name="line.593"></a>
-<span class="sourceLineNo">594</span><a name="line.594"></a>
-<span class="sourceLineNo">595</span>  /**<a name="line.595"></a>
-<span class="sourceLineNo">596</span>   * The callback when we want to execute a coprocessor call on a range of regions.<a name="line.596"></a>
-<span class="sourceLineNo">597</span>   * &lt;p&gt;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>   * As the locating itself also takes some time, the implementation may want to send rpc calls on<a name="line.598"></a>
-<span class="sourceLineNo">599</span>   * the fly, which means we do not know how many regions we have when we get the return value of<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * the rpc calls, so we need an {@link #onComplete()} which is used to tell you that we have<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * passed all the return values to you(through the {@link #onRegionComplete(RegionInfo, Object)}<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * or {@link #onRegionError(RegionInfo, Throwable)} calls), i.e, there will be no<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * {@link #onRegionComplete(RegionInfo, Object)} or {@link #onRegionError(RegionInfo, Throwable)}<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * calls in the future.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * &lt;p&gt;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * Here is a pseudo code to describe a typical implementation of a range coprocessor service<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * method to help you better understand how the {@link CoprocessorCallback} will be called. The<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * {@code callback} in the pseudo code is our {@link CoprocessorCallback}. And notice that the<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * {@code whenComplete} is {@code CompletableFuture.whenComplete}.<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   *<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * &lt;pre&gt;<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * locateThenCall(byte[] row) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   *   locate(row).whenComplete((location, locateError) -&amp;gt; {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   *     if (locateError != null) {<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   *       callback.onError(locateError);<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   *       return;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   *     }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   *     incPendingCall();<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   *     region = location.getRegion();<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   *     if (region.getEndKey() &gt; endKey) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   *       locateEnd = true;<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   *     } else {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   *       locateThenCall(region.getEndKey());<a name="line.623"></a>
-<span class="sourceLineNo">624</span>   *     }<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   *     sendCall().whenComplete((resp, error) -&amp;gt; {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   *       if (error != null) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   *         callback.onRegionError(region, error);<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   *       } else {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   *         callback.onRegionComplete(region, resp);<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   *       }<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   *       if (locateEnd &amp;&amp; decPendingCallAndGet() == 0) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   *         callback.onComplete();<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   *       }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   *     });<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *   });<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * }<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * &lt;/pre&gt;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>  @InterfaceAudience.Public<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  interface CoprocessorCallback&lt;R&gt; {<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>     * Indicate that the respose of a region is available<a name="line.643"></a>
-<span class="sourceLineNo">644</span>     * @param region the region that the response belongs to<a name="line.644"></a>
-<span class="sourceLineNo">645</span>     * @param resp   the response of the coprocessor call<a name="line.645"></a>
-<span class="sourceLineNo">646</span>     */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    void onRegionComplete(RegionInfo region, R resp);<a name="line.647"></a>
-<span class="sourceLineNo">648</span><a name="line.648"></a>
-<span class="sourceLineNo">649</span>    /**<a name="line.649"></a>
-<span class="sourceLineNo">650</span>     * Indicate that the error for a region is available<a name="line.650"></a>
-<span class="sourceLineNo">651</span>     * @param region the region that the error belongs to<a name="line.651"></a>
-<span class="sourceLineNo">652</span>     * @param error  the response error of the coprocessor call<a name="line.652"></a>
-<span class="sourceLineNo">653</span>     */<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    void onRegionError(RegionInfo region, Throwable error);<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>     * Indicate that all responses of the regions have been notified by calling<a name="line.657"></a>
-<span class="sourceLineNo">658</span>     * {@link #onRegionComplete(RegionInfo, Object)} or<a name="line.658"></a>
-<span class="sourceLineNo">659</span>     * {@link #onRegionError(RegionInfo, Throwable)}.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>     */<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    void onComplete();<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span>    /**<a name="line.663"></a>
-<span class="sourceLineNo">664</span>     * Indicate that we got an error which does not belong to any regions. Usually a locating error.<a name="line.664"></a>
-<span class="sourceLineNo">665</span>     */<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    void onError(Throwable error);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>  }<a name="line.667"></a>
-<span class="sourceLineNo">668</span><a name="line.668"></a>
-<span class="sourceLineNo">669</span>  /**<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   * Helper class for sending coprocessorService request that executes a coprocessor call on regions<a name="line.670"></a>
-<span class="sourceLineNo">671</span>   * which are covered by a range.<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   * &lt;p&gt;<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * If {@code fromRow} is not specified the selection will start with the first table region. If<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * {@code toRow} is not specified the selection will continue through the last table region.<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   * @param &lt;S&gt; the type of the protobuf Service you want to call.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   * @param &lt;R&gt; the type of the return value.<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   */<a name="line.677"></a>
-<span class="sourceLineNo">678</span>  interface CoprocessorServiceBuilder&lt;S, R&gt; {<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>     * Specify a start row<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     * @param startKey start region selection with region containing this row, inclusive.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     */<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    default CoprocessorServiceBuilder&lt;S, R&gt; fromRow(byte[] startKey) {<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      return fromRow(startKey, true);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>    /**<a name="line.688"></a>
-<span class="sourceLineNo">689</span>     * Specify a start row<a name="line.689"></a>
-<span class="sourceLineNo">690</span>     * @param startKey  start region selection with region containing this row<a name="line.690"></a>
-<span class="sourceLineNo">691</span>     * @param inclusive whether to include the startKey<a name="line.691"></a>
-<span class="sourceLineNo">692</span>     */<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    CoprocessorServiceBuilder&lt;S, R&gt; fromRow(byte[] startKey, boolean inclusive);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /**<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * Specify a stop row<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * @param endKey select regions up to and including the region containing this row, exclusive.<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     */<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    default CoprocessorServiceBuilder&lt;S, R&gt; toRow(byte[] endKey) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      return toRow(endKey, false);<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>     * Specify a stop row<a name="line.704"></a>
-<span class="sourceLineNo">705</span>     * @param endKey    select regions up to and including the region containing this row<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * @param inclusive whether to include the endKey<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     */<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    CoprocessorServiceBuilder&lt;S, R&gt; toRow(byte[] endKey, boolean inclusive);<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>     * Execute the coprocessorService request. You can get the response through the<a name="line.711"></a>
-<span class="sourceLineNo">712</span>     * {@link CoprocessorCallback}.<a name="line.712"></a>
-<span class="sourceLineNo">713</span>     */<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    void execute();<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>   * Execute a coprocessor call on the regions which are covered by a range.<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * &lt;p&gt;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * Use the returned {@link CoprocessorServiceBuilder} construct your request and then execute it.<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * &lt;p&gt;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   * The {@code stubMaker} is just a delegation to the {@code xxxService.newStub} call. Usually it<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   * is only a one line lambda expression, like:<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   *<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * &lt;pre&gt;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * channel -&amp;gt; xxxService.newStub(channel)<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * &lt;/pre&gt;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   * @param callable  a delegation to the actual protobuf rpc call. See the comment of<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   *                  {@link ServiceCaller} for more details.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   * @param callback  callback to get the response. See the comment of {@link CoprocessorCallback}<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   *                  for more details.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   */<a name="line.734"></a>
-<span class="sourceLineNo">735</span>  &lt;S, R&gt; CoprocessorServiceBuilder&lt;S, R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    ServiceCaller&lt;S, R&gt; callable, CoprocessorCallback&lt;R&gt; callback);<a name="line.736"></a>
-<span class="sourceLineNo">737</span>}<a name="line.737"></a>
+<span class="sourceLineNo">574</span>   * A simple version of batch. It will fail if there are any failures and you will get the whole<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * result list at once if the operation is succeeded.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * @param actions list of Get, Put, Delete, Increment, Append and RowMutations objects<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @return A list of the result for the actions. Wrapped by a {@link CompletableFuture}.<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   */<a name="line.578"></a>
+<span class="sourceLineNo">579</span>  default &lt;T&gt; CompletableFuture&lt;List&lt;T&gt;&gt; batchAll(List&lt;? extends Row&gt; actions) {<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    return allOf(batch(actions));<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
+<span class="sourceLineNo">582</span><a name="line.582"></a>
+<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   * Execute the given coprocessor call on the region which contains the given {@code row}.<a name="line.584"></a>
+<span class="sourceLineNo">585</span>   * &lt;p&gt;<a name="line.585"></a>
+<span class="sourceLineNo">586</span>   * The {@code stubMaker} is just a delegation to the {@code newStub} call. Usually it is only a<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * one line lambda expression, like:<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   *<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * &lt;pre&gt;<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   * channel -&amp;gt; xxxService.newStub(channel)<a name="line.590"></a>
+<span class="sourceLineNo">591</span>   * &lt;/pre&gt;<a name="line.591"></a>
+<span class="sourceLineNo">592</span>   *<a name="line.592"></a>
+<span class="sourceLineNo">593</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * @param callable  a delegation to the actual protobuf rpc call. See the comment of<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   *                  {@link ServiceCaller} for more details.<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param row       The row key used to identify the remote region location<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @param &lt;S&gt;       the type of the asynchronous stub<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * @param &lt;R&gt;       the type of the return value<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   * @return the return value of the protobuf rpc call, wrapped by a {@link CompletableFuture}.<a name="line.599"></a>
+<span class="sourceLineNo">600</span>   * @see ServiceCaller<a name="line.600"></a>
+<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
+<span class="sourceLineNo">602</span>  &lt;S, R&gt; CompletableFuture&lt;R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.602"></a>
+<span class="sourceLineNo">603</span>    ServiceCaller&lt;S, R&gt; callable, byte[] row);<a name="line.603"></a>
+<span class="sourceLineNo">604</span><a name="line.604"></a>
+<span class="sourceLineNo">605</span>  /**<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   * The callback when we want to execute a coprocessor call on a range of regions.<a name="line.606"></a>
+<span class="sourceLineNo">607</span>   * &lt;p&gt;<a name="line.607"></a>
+<span class="sourceLineNo">608</span>   * As the locating itself also takes some time, the implementation may want to send rpc calls on<a name="line.608"></a>
+<span class="sourceLineNo">609</span>   * the fly, which means we do not know how many regions we have when we get the return value of<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * the rpc calls, so we need an {@link #onComplete()} which is used to tell you that we have<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * passed all the return values to you(through the {@link #onRegionComplete(RegionInfo, Object)}<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * or {@link #onRegionError(RegionInfo, Throwable)} calls), i.e, there will be no<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * {@link #onRegionComplete(RegionInfo, Object)} or {@link #onRegionError(RegionInfo, Throwable)}<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * calls in the future.<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * &lt;p&gt;<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   * Here is a pseudo code to describe a typical implementation of a range coprocessor service<a name="line.616"></a>
+<span class="sourceLineNo">617</span>   * method to help you better understand how the {@link CoprocessorCallback} will be called. The<a name="line.617"></a>
+<span class="sourceLineNo">618</span>   * {@code callback} in the pseudo code is our {@link CoprocessorCallback}. And notice that the<a name="line.618"></a>
+<span class="sourceLineNo">619</span>   * {@code whenComplete} is {@code CompletableFuture.whenComplete}.<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   *<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * &lt;pre&gt;<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * locateThenCall(byte[] row) {<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   *   locate(row).whenComplete((location, locateError) -&amp;gt; {<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   *     if (locateError != null) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   *       callback.onError(locateError);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>   *       return;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   *     }<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   *     incPendingCall();<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   *     region = location.getRegion();<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   *     if (region.getEndKey() &gt; endKey) {<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   *       locateEnd = true;<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   *     } else {<a name="line.632"></a>
+<span class="sourceLineNo">633</span>   *       locateThenCall(region.getEndKey());<a name="line.633"></a>
+<span class="sourceLineNo">634</span>   *     }<a name="line.634"></a>
+<span class="sourceLineNo">635</span>   *     sendCall().whenComplete((resp, error) -&amp;gt; {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>   *       if (error != null) {<a name="line.636"></a>
+<span class="sourceLineNo">637</span>   *         callback.onRegionError(region, error);<a name="line.637"></a>
+<span class="sourceLineNo">638</span>   *       } else {<a name="line.638"></a>
+<span class="sourceLineNo">639</span>   *         callback.onRegionComplete(region, resp);<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   *       }<a name="line.640"></a>
+<span class="sourceLineNo">641</span>   *       if (locateEnd &amp;&amp; decPendingCallAndGet() == 0) {<a name="line.641"></a>
+<span class="sourceLineNo">642</span>   *         callback.onComplete();<a name="line.642"></a>
+<span class="sourceLineNo">643</span>   *       }<a name="line.643"></a>
+<span class="sourceLineNo">644</span>   *     });<a name="line.644"></a>
+<span class="sourceLineNo">645</span>   *   });<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * }<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   * &lt;/pre&gt;<a name="line.647"></a>
+<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
+<span class="sourceLineNo">649</span>  @InterfaceAudience.Public<a name="line.649"></a>
+<span class="sourceLineNo">650</span>  interface CoprocessorCallback&lt;R&gt; {<a name="line.650"></a>
+<span class="sourceLineNo">651</span><a name="line.651"></a>
+<span class="sourceLineNo">652</span>    /**<a name="line.652"></a>
+<span class="sourceLineNo">653</span>     * Indicate that the respose of a region is available<a name="line.653"></a>
+<span class="sourceLineNo">654</span>     * @param region the region that the response belongs to<a name="line.654"></a>
+<span class="sourceLineNo">655</span>     * @param resp   the response of the coprocessor call<a name="line.655"></a>
+<span class="sourceLineNo">656</span>     */<a name="line.656"></a>
+<span class="sourceLineNo">657</span>    void onRegionComplete(RegionInfo region, R resp);<a name="line.657"></a>
+<span class="sourceLineNo">658</span><a name="line.658"></a>
+<span class="sourceLineNo">659</span>    /**<a name="line.659"></a>
+<span class="sourceLineNo">660</span>     * Indicate that the error for a region is available<a name="line.660"></a>
+<span class="sourceLineNo">661</span>     * @param region the region that the error belongs to<a name="line.661"></a>
+<span class="sourceLineNo">662</span>     * @param error  the response error of the coprocessor call<a name="line.662"></a>
+<span class="sourceLineNo">663</span>     */<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    void onRegionError(RegionInfo region, Throwable error);<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>     * Indicate that all responses of the regions have been notified by calling<a name="line.667"></a>
+<span class="sourceLineNo">668</span>     * {@link #onRegionComplete(RegionInfo, Object)} or<a name="line.668"></a>
+<span class="sourceLineNo">669</span>     * {@link #onRegionError(RegionInfo, Throwable)}.<a name="line.669"></a>
+<span class="sourceLineNo">670</span>     */<a name="line.670"></a>
+<span class="sourceLineNo">671</span>    void onComplete();<a name="line.671"></a>
+<span class="sourceLineNo">672</span><a name="line.672"></a>
+<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
+<span class="sourceLineNo">674</span>     * Indicate that we got an error which does not belong to any regions. Usually a locating error.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>     */<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    void onError(Throwable error);<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>  /**<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   * Helper class for sending coprocessorService request that executes a coprocessor call on regions<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   * which are covered by a range.<a name="line.681"></a>
+<span class="sourceLineNo">682</span>   * &lt;p&gt;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>   * If {@code fromRow} is not specified the selection will start with the first table region. If<a name="line.683"></a>
+<span class="sourceLineNo">684</span>   * {@code toRow} is not specified the selection will continue through the last table region.<a name="line.684"></a>
+<span class="sourceLineNo">685</span>   * @param &lt;S&gt; the type of the protobuf Service you want to call.<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * @param &lt;R&gt; the type of the return value.<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   */<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  interface CoprocessorServiceBuilder&lt;S, R&gt; {<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>    /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>     * Specify a start row<a name="line.691"></a>
+<span class="sourceLineNo">692</span>     * @param startKey start region selection with region containing this row, inclusive.<a name="line.692"></a>
+<span class="sourceLineNo">693</span>     */<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    default CoprocessorServiceBuilder&lt;S, R&gt; fromRow(byte[] startKey) {<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      return fromRow(startKey, true);<a name="line.695"></a>
+<span class="sourceLineNo">696</span>    }<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>     * Specify a start row<a name="line.699"></a>
+<span class="sourceLineNo">700</span>     * @param startKey  start region selection with region containing this row<a name="line.700"></a>
+<span class="sourceLineNo">701</span>     * @param inclusive whether to include the startKey<a name="line.701"></a>
+<span class="sourceLineNo">702</span>     */<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    CoprocessorServiceBuilder&lt;S, R&gt; fromRow(byte[] startKey, boolean inclusive);<a name="line.703"></a>
+<span class="sourceLineNo">704</span><a name="line.704"></a>
+<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
+<span class="sourceLineNo">706</span>     * Specify a stop row<a name="line.706"></a>
+<span class="sourceLineNo">707</span>     * @param endKey select regions up to and including the region containing this row, exclusive.<a name="line.707"></a>
+<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
+<span class="sourceLineNo">709</span>    default CoprocessorServiceBuilder&lt;S, R&gt; toRow(byte[] endKey) {<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      return toRow(endKey, false);<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>     * Specify a stop row<a name="line.714"></a>
+<span class="sourceLineNo">715</span>     * @param endKey    select regions up to and including the region containing this row<a name="line.715"></a>
+<span class="sourceLineNo">716</span>     * @param inclusive whether to include the endKey<a name="line.716"></a>
+<span class="sourceLineNo">717</span>     */<a name="line.717"></a>
+<span class="sourceLineNo">718</span>    CoprocessorServiceBuilder&lt;S, R&gt; toRow(byte[] endKey, boolean inclusive);<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>     * Execute the coprocessorService request. You can get the response through the<a name="line.721"></a>
+<span class="sourceLineNo">722</span>     * {@link CoprocessorCallback}.<a name="line.722"></a>
+<span class="sourceLineNo">723</span>     */<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    void execute();<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>   * Execute a coprocessor call on the regions which are covered by a range.<a name="line.728"></a>
+<span class="sourceLineNo">729</span>   * &lt;p&gt;<a name="line.729"></a>
+<span class="sourceLineNo">730</span>   * Use the returned {@link CoprocessorServiceBuilder} construct your request and then execute it.<a name="line.730"></a>
+<span class="sourceLineNo">731</span>   * &lt;p&gt;<a name="line.731"></a>
+<span class="sourceLineNo">732</span>   * The {@code stubMaker} is just a delegation to the {@code xxxService.newStub} call. Usually it<a name="line.732"></a>
+<span class="sourceLineNo">733</span>   * is only a one line lambda expression, like:<a name="line.733"></a>
+<span class="sourceLineNo">734</span>   *<a name="line.734"></a>
+<span class="sourceLineNo">735</span>   * &lt;pre&gt;<a name="line.735"></a>
+<span class="sourceLineNo">736</span>   * channel -&amp;gt; xxxService.newStub(channel)<a name="line.736"></a>
+<span class="sourceLineNo">737</span>   * &lt;/pre&gt;<a name="line.737"></a>
+<span class="sourceLineNo">738</span>   *<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   * @param stubMaker a delegation to the actual {@code newStub} call.<a name="line.739"></a>
+<span class="sourceLineNo">740</span>   * @param callable  a delegation to the actual protobuf rpc call. See the comment of<a name="line.740"></a>
+<span class="sourceLineNo">741</span>   *                  {@link ServiceCaller} for more details.<a name="line.741"></a>
+<span class="sourceLineNo">742</span>   * @param callback  callback to get the response. See the comment of {@link CoprocessorCallback}<a name="line.742"></a>
+<span class="sourceLineNo">743</span>   *                  for more details.<a name="line.743"></a>
+<span class="sourceLineNo">744</span>   */<a name="line.744"></a>
+<span class="sourceLineNo">745</span>  &lt;S, R&gt; CoprocessorServiceBuilder&lt;S, R&gt; coprocessorService(Function&lt;RpcChannel, S&gt; stubMaker,<a name="line.745"></a>
+<span class="sourceLineNo">746</span>    ServiceCaller&lt;S, R&gt; callable, CoprocessorCallback&lt;R&gt; callback);<a name="line.746"></a>
+<span class="sourceLineNo">747</span>}<a name="line.747"></a>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTableBuilder.html b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTableBuilder.html
index 5244ba6ee47..866124b9da9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTableBuilder.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/AsyncTableBuilder.html
@@ -146,10 +146,15 @@
 <span class="sourceLineNo">138</span>  AsyncTableBuilder&lt;C&gt; setStartLogErrorsCnt(int startLogErrorsCnt);<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
 <span class="sourceLineNo">140</span>  /**<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   * Create the {@link AsyncTable} instance.<a name="line.141"></a>
+<span class="sourceLineNo">141</span>   * Set a request attribute<a name="line.141"></a>
 <span class="sourceLineNo">142</span>   */<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  AsyncTable&lt;C&gt; build();<a name="line.143"></a>
-<span class="sourceLineNo">144</span>}<a name="line.144"></a>
+<span class="sourceLineNo">143</span>  AsyncTableBuilder&lt;C&gt; setRequestAttribute(String key, byte[] value);<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>  /**<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * Create the {@link AsyncTable} instance.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  AsyncTable&lt;C&gt; build();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>}<a name="line.149"></a>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html b/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html
index 71c4cf75c30..505e8c03bbd 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html
@@ -30,294 +30,349 @@
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.lang.reflect.Constructor;<a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.security.PrivilegedExceptionAction;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.CompletableFuture;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.concurrent.ExecutorService;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.conf.Configuration;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.AuthUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.security.User;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.FutureUtils;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.ReflectionUtils;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>/**<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * A non-instantiable class that manages creation of {@link Connection}s. Managing the lifecycle of<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * the {@link Connection}s to the cluster is the responsibility of the caller. From a<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * {@link Connection}, {@link Table} implementations are retrieved with<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * {@link Connection#getTable(org.apache.hadoop.hbase.TableName)}. Example:<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * &lt;pre&gt;<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * Connection connection = ConnectionFactory.createConnection(config);<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * try {<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *   // Use the table as needed, for a single operation and a single thread<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * } finally {<a name="line.48"></a>
-<span class="sourceLineNo">049</span> *   table.close();<a name="line.49"></a>
-<span class="sourceLineNo">050</span> *   connection.close();<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * }<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;/pre&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * Since 2.2.0, Connection created by ConnectionFactory can contain user-specified kerberos<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * credentials if caller has following two configurations set:<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * &lt;ul&gt;<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * &lt;li&gt;hbase.client.keytab.file, points to a valid keytab on the local filesystem<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * &lt;li&gt;hbase.client.kerberos.principal, gives the Kerberos principal to use<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * &lt;/ul&gt;<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * By this way, caller can directly connect to kerberized cluster without caring login and<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * credentials renewal logic in application.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * &lt;pre&gt;<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * &lt;/pre&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> *<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Similarly, {@link Connection} also returns {@link Admin} and {@link RegionLocator}<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * implementations.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * @see Connection<a name="line.68"></a>
-<span class="sourceLineNo">069</span> * @since 0.99.0<a name="line.69"></a>
-<span class="sourceLineNo">070</span> */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>@InterfaceAudience.Public<a name="line.71"></a>
-<span class="sourceLineNo">072</span>public class ConnectionFactory {<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final String HBASE_CLIENT_ASYNC_CONNECTION_IMPL =<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    "hbase.client.async.connection.impl";<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** No public c.tors */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  protected ConnectionFactory() {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * Create a new Connection instance using default HBaseConfiguration. Connection encapsulates all<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * housekeeping for a connection to the cluster. All tables and interfaces created from returned<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * connection share zookeeper connection, meta cache, and connections to region servers and<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * masters. &lt;br&gt;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * instance. Typical usage:<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   *<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * &lt;pre&gt;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * Connection connection = ConnectionFactory.createConnection();<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * try {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   *   table.get(...);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   *   ...<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * } finally {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   *   table.close();<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   *   connection.close();<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * &lt;/pre&gt;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   *<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  public static Connection createConnection() throws IOException {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    Configuration conf = HBaseConfiguration.create();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    return createConnection(conf, null, AuthUtil.loginClient(conf));<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>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * region servers and masters. &lt;br&gt;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * instance. Typical usage:<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   *<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * &lt;pre&gt;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * try {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   *   table.get(...);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   *   ...<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * } finally {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   *   table.close();<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   *   connection.close();<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * &lt;/pre&gt;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   *<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @param conf configuration<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public static Connection createConnection(Configuration conf) throws IOException {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    return createConnection(conf, null, AuthUtil.loginClient(conf));<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<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>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * region servers and masters. &lt;br&gt;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   * instance. Typical usage:<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   *<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * &lt;pre&gt;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * try {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   *   table.get(...);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   *   ...<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * } finally {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   *   table.close();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   *   connection.close();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * &lt;/pre&gt;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   *<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @param conf configuration<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @param pool the thread pool to use for batch operations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   */<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static Connection createConnection(Configuration conf, ExecutorService pool)<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    return createConnection(conf, pool, AuthUtil.loginClient(conf));<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>  /**<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * region servers and masters. &lt;br&gt;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * instance. Typical usage:<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * &lt;pre&gt;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * try {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   *   table.get(...);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   *   ...<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * } finally {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   *   table.close();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   *   connection.close();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * }<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * &lt;/pre&gt;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * @param conf configuration<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @param user the user the connection is for<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  public static Connection createConnection(Configuration conf, User user) throws IOException {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return createConnection(conf, null, user);<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<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>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * region servers and masters. &lt;br&gt;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   * instance. Typical usage:<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   *<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   * &lt;pre&gt;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * try {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   *   table.get(...);<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   *   ...<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * } finally {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   *   table.close();<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   *   connection.close();<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * }<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * &lt;/pre&gt;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   *<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @param conf configuration<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * @param user the user the connection is for<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * @param pool the thread pool to use for batch operations<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  public static Connection createConnection(Configuration conf, ExecutorService pool,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    final User user) throws IOException {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    Class&lt;?&gt; clazz = conf.getClass(ConnectionUtils.HBASE_CLIENT_CONNECTION_IMPL,<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      ConnectionOverAsyncConnection.class, Connection.class);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    if (clazz != ConnectionOverAsyncConnection.class) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      try {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        // Default HCM#HCI is not accessible; make it so before invoking.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        Constructor&lt;?&gt; constructor =<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          clazz.getDeclaredConstructor(Configuration.class, ExecutorService.class, User.class);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        constructor.setAccessible(true);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        return user.runAs((PrivilegedExceptionAction&lt;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          Connection&gt;) () -&gt; (Connection) constructor.newInstance(conf, pool, user));<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      } catch (Exception e) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        throw new IOException(e);<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    } else {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return FutureUtils.get(createAsyncConnection(conf, user)).toConnection();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Call {@link #createAsyncConnection(Configuration)} using default HBaseConfiguration.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @see #createAsyncConnection(Configuration)<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    return createAsyncConnection(HBaseConfiguration.create());<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * Call {@link #createAsyncConnection(Configuration, User)} using the given {@code conf} and a<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * User object created by {@link UserProvider}. The given {@code conf} will also be used to<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * initialize the {@link UserProvider}.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param conf configuration<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @see #createAsyncConnection(Configuration, User)<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @see UserProvider<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection(Configuration conf) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    User user;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    try {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      user = AuthUtil.loginClient(conf);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    } catch (IOException e) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      CompletableFuture&lt;AsyncConnection&gt; future = new CompletableFuture&lt;&gt;();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      future.completeExceptionally(e);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      return future;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return createAsyncConnection(conf, user);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   * Create a new AsyncConnection instance using the passed {@code conf} and {@code user}.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * AsyncConnection encapsulates all housekeeping for a connection to the cluster. All tables and<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * interfaces created from returned connection share zookeeper connection, meta cache, and<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * connections to region servers and masters.<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * &lt;p&gt;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * The caller is responsible for calling {@link AsyncConnection#close()} on the returned<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * connection instance.<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * &lt;p&gt;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * Usually you should only create one AsyncConnection instance in your code and use it everywhere<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * as it is thread safe.<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * @param conf configuration<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * @param user the user the asynchronous connection is for<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection(Configuration conf,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    final User user) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    return TraceUtil.tracedFuture(() -&gt; {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      CompletableFuture&lt;AsyncConnection&gt; future = new CompletableFuture&lt;&gt;();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      ConnectionRegistry registry = ConnectionRegistryFactory.getRegistry(conf);<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      addListener(registry.getClusterId(), (clusterId, error) -&gt; {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        if (error != null) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>          registry.close();<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          future.completeExceptionally(error);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          return;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        }<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        if (clusterId == null) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>          registry.close();<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          future.completeExceptionally(new IOException("clusterid came back null"));<a name="line.295"></a>
-<span class="sourceLineNo">296</span>          return;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        Class&lt;? extends AsyncConnection&gt; clazz = conf.getClass(HBASE_CLIENT_ASYNC_CONNECTION_IMPL,<a name="line.298"></a>
-<span class="sourceLineNo">299</span>          AsyncConnectionImpl.class, AsyncConnection.class);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        try {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>          future.complete(<a name="line.301"></a>
-<span class="sourceLineNo">302</span>            user.runAs((PrivilegedExceptionAction&lt;? extends AsyncConnection&gt;) () -&gt; ReflectionUtils<a name="line.302"></a>
-<span class="sourceLineNo">303</span>              .newInstance(clazz, conf, registry, clusterId, null, user)));<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        } catch (Exception e) {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>          registry.close();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          future.completeExceptionally(e);<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>      return future;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    }, "ConnectionFactory.createAsyncConnection");<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>}<a name="line.312"></a>
+<span class="sourceLineNo">025</span>import java.util.Collections;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Map;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.concurrent.CompletableFuture;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.concurrent.ExecutorService;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.AuthUtil;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.security.User;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.FutureUtils;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.ReflectionUtils;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * A non-instantiable class that manages creation of {@link Connection}s. Managing the lifecycle of<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * the {@link Connection}s to the cluster is the responsibility of the caller. From a<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * {@link Connection}, {@link Table} implementations are retrieved with<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * {@link Connection#getTable(org.apache.hadoop.hbase.TableName)}. Example:<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;pre&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * Connection connection = ConnectionFactory.createConnection(config);<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * try {<a name="line.48"></a>
+<span class="sourceLineNo">049</span> *   // Use the table as needed, for a single operation and a single thread<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * } finally {<a name="line.50"></a>
+<span class="sourceLineNo">051</span> *   table.close();<a name="line.51"></a>
+<span class="sourceLineNo">052</span> *   connection.close();<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * }<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * &lt;/pre&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * Since 2.2.0, Connection created by ConnectionFactory can contain user-specified kerberos<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * credentials if caller has following two configurations set:<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;ul&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;li&gt;hbase.client.keytab.file, points to a valid keytab on the local filesystem<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * &lt;li&gt;hbase.client.kerberos.principal, gives the Kerberos principal to use<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * &lt;/ul&gt;<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * By this way, caller can directly connect to kerberized cluster without caring login and<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * credentials renewal logic in application.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> *<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * &lt;pre&gt;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * &lt;/pre&gt;<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * Similarly, {@link Connection} also returns {@link Admin} and {@link RegionLocator}<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * implementations.<a name="line.69"></a>
+<span class="sourceLineNo">070</span> * @see Connection<a name="line.70"></a>
+<span class="sourceLineNo">071</span> * @since 0.99.0<a name="line.71"></a>
+<span class="sourceLineNo">072</span> */<a name="line.72"></a>
+<span class="sourceLineNo">073</span>@InterfaceAudience.Public<a name="line.73"></a>
+<span class="sourceLineNo">074</span>public class ConnectionFactory {<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public static final String HBASE_CLIENT_ASYNC_CONNECTION_IMPL =<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    "hbase.client.async.connection.impl";<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  /** No public c.tors */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  protected ConnectionFactory() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * Create a new Connection instance using default HBaseConfiguration. Connection encapsulates all<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * housekeeping for a connection to the cluster. All tables and interfaces created from returned<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * connection share zookeeper connection, meta cache, and connections to region servers and<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * masters. &lt;br&gt;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * instance. Typical usage:<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   *<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * &lt;pre&gt;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * Connection connection = ConnectionFactory.createConnection();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * try {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   *   table.get(...);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   *   ...<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * } finally {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   *   table.close();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   *   connection.close();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * }<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * &lt;/pre&gt;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   *<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  public static Connection createConnection() throws IOException {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    Configuration conf = HBaseConfiguration.create();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return createConnection(conf, null, AuthUtil.loginClient(conf));<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /**<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * region servers and masters. &lt;br&gt;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * instance. Typical usage:<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   *<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * &lt;pre&gt;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * try {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   *   table.get(...);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   *   ...<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * } finally {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   *   table.close();<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   *   connection.close();<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * }<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * &lt;/pre&gt;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   *<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @param conf configuration<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  public static Connection createConnection(Configuration conf) throws IOException {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return createConnection(conf, null, AuthUtil.loginClient(conf));<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>  /**<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * region servers and masters. &lt;br&gt;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * instance. Typical usage:<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   *<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * &lt;pre&gt;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * try {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   *   table.get(...);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   *   ...<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * } finally {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   *   table.close();<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   *   connection.close();<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * &lt;/pre&gt;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   *<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param conf configuration<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param pool the thread pool to use for batch operations<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static Connection createConnection(Configuration conf, ExecutorService pool)<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    throws IOException {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return createConnection(conf, pool, AuthUtil.loginClient(conf));<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<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>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   * region servers and masters. &lt;br&gt;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   * instance. Typical usage:<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   *<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * &lt;pre&gt;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * try {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   *   table.get(...);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   *   ...<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * } finally {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   *   table.close();<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   *   connection.close();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * &lt;/pre&gt;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   *<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * @param conf configuration<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * @param user the user the connection is for<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public static Connection createConnection(Configuration conf, User user) throws IOException {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return createConnection(conf, null, user);<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>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * region servers and masters. &lt;br&gt;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   * instance. Typical usage:<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   *<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * &lt;pre&gt;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * try {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   *   table.get(...);<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   *   ...<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * } finally {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   *   table.close();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   *   connection.close();<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * }<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * &lt;/pre&gt;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   *<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * @param conf configuration<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * @param user the user the connection is for<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * @param pool the thread pool to use for batch operations<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  public static Connection createConnection(Configuration conf, ExecutorService pool,<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    final User user) throws IOException {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    return createConnection(conf, pool, user, Collections.emptyMap());<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  /**<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * region servers and masters. &lt;br&gt;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * instance. Typical usage:<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   *<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * &lt;pre&gt;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * try {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   *   table.get(...);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   *   ...<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * } finally {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   *   table.close();<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   *   connection.close();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * }<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * &lt;/pre&gt;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   *<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @param conf                 configuration<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * @param user                 the user the connection is for<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * @param pool                 the thread pool to use for batch operations<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * @param connectionAttributes attributes to be sent along to server during connection establish<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  public static Connection createConnection(Configuration conf, ExecutorService pool,<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    final User user, Map&lt;String, byte[]&gt; connectionAttributes) throws IOException {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    Class&lt;?&gt; clazz = conf.getClass(ConnectionUtils.HBASE_CLIENT_CONNECTION_IMPL,<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      ConnectionOverAsyncConnection.class, Connection.class);<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    if (clazz != ConnectionOverAsyncConnection.class) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      try {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        // Default HCM#HCI is not accessible; make it so before invoking.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>        Constructor&lt;?&gt; constructor = clazz.getDeclaredConstructor(Configuration.class,<a name="line.257"></a>
+<span class="sourceLineNo">258</span>          ExecutorService.class, User.class, Map.class);<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        constructor.setAccessible(true);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        return user.runAs((PrivilegedExceptionAction&lt;Connection&gt;) () -&gt; (Connection) constructor<a name="line.260"></a>
+<span class="sourceLineNo">261</span>          .newInstance(conf, pool, user, connectionAttributes));<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      } catch (Exception e) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        throw new IOException(e);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    } else {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      return FutureUtils.get(createAsyncConnection(conf, user, connectionAttributes))<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        .toConnection();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    }<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>  /**<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   * Call {@link #createAsyncConnection(Configuration)} using default HBaseConfiguration.<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   * @see #createAsyncConnection(Configuration)<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   */<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return createAsyncConnection(HBaseConfiguration.create());<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * Call {@link #createAsyncConnection(Configuration, User)} using the given {@code conf} and a<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * User object created by {@link UserProvider}. The given {@code conf} will also be used to<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * initialize the {@link UserProvider}.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * @param conf configuration<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   * @see #createAsyncConnection(Configuration, User)<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @see UserProvider<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   */<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection(Configuration conf) {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    User user;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    try {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      user = AuthUtil.loginClient(conf);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    } catch (IOException e) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      CompletableFuture&lt;AsyncConnection&gt; future = new CompletableFuture&lt;&gt;();<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      future.completeExceptionally(e);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      return future;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    return createAsyncConnection(conf, user);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  }<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * Create a new AsyncConnection instance using the passed {@code conf} and {@code user}.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * AsyncConnection encapsulates all housekeeping for a connection to the cluster. All tables and<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * interfaces created from returned connection share zookeeper connection, meta cache, and<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * connections to region servers and masters.<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * &lt;p&gt;<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * The caller is responsible for calling {@link AsyncConnection#close()} on the returned<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * connection instance.<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * &lt;p&gt;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * Usually you should only create one AsyncConnection instance in your code and use it everywhere<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * as it is thread safe.<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param conf configuration<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @param user the user the asynchronous connection is for<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection(Configuration conf,<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    final User user) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    return createAsyncConnection(conf, user, null);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  }<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>   * Create a new AsyncConnection instance using the passed {@code conf} and {@code user}.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * AsyncConnection encapsulates all housekeeping for a connection to the cluster. All tables and<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * interfaces created from returned connection share zookeeper connection, meta cache, and<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * connections to region servers and masters.<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * &lt;p&gt;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * The caller is responsible for calling {@link AsyncConnection#close()} on the returned<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * connection instance.<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * &lt;p&gt;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * Usually you should only create one AsyncConnection instance in your code and use it everywhere<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * as it is thread safe.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * @param conf                 configuration<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @param user                 the user the asynchronous connection is for<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * @param connectionAttributes attributes to be sent along to server during connection establish<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection(Configuration conf,<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    final User user, Map&lt;String, byte[]&gt; connectionAttributes) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    return TraceUtil.tracedFuture(() -&gt; {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      CompletableFuture&lt;AsyncConnection&gt; future = new CompletableFuture&lt;&gt;();<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      ConnectionRegistry registry = ConnectionRegistryFactory.getRegistry(conf);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      addListener(registry.getClusterId(), (clusterId, error) -&gt; {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>        if (error != null) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>          registry.close();<a name="line.344"></a>
+<span class="sourceLineNo">345</span>          future.completeExceptionally(error);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>          return;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        }<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        if (clusterId == null) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>          registry.close();<a name="line.349"></a>
+<span class="sourceLineNo">350</span>          future.completeExceptionally(new IOException("clusterid came back null"));<a name="line.350"></a>
+<span class="sourceLineNo">351</span>          return;<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        }<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        Class&lt;? extends AsyncConnection&gt; clazz = conf.getClass(HBASE_CLIENT_ASYNC_CONNECTION_IMPL,<a name="line.353"></a>
+<span class="sourceLineNo">354</span>          AsyncConnectionImpl.class, AsyncConnection.class);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        try {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          future.complete(<a name="line.356"></a>
+<span class="sourceLineNo">357</span>            user.runAs((PrivilegedExceptionAction&lt;? extends AsyncConnection&gt;) () -&gt; ReflectionUtils<a name="line.357"></a>
+<span class="sourceLineNo">358</span>              .newInstance(clazz, conf, registry, clusterId, null, user, connectionAttributes)));<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        } catch (Exception e) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          registry.close();<a name="line.360"></a>
+<span class="sourceLineNo">361</span>          future.completeExceptionally(e);<a name="line.361"></a>
+<span class="sourceLineNo">362</span>        }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      });<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return future;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    }, "ConnectionFactory.createAsyncConnection");<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  }<a name="line.366"></a>
+<span class="sourceLineNo">367</span>}<a name="line.367"></a>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Table.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Table.html
index 20299bb1848..d11014f3291 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Table.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Table.html
@@ -759,7 +759,15 @@
 <span class="sourceLineNo">751</span>  default long getOperationTimeout(TimeUnit unit) {<a name="line.751"></a>
 <span class="sourceLineNo">752</span>    throw new NotImplementedException("Add an implementation!");<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">754</span><a name="line.754"></a>
+<span class="sourceLineNo">755</span>  /**<a name="line.755"></a>
+<span class="sourceLineNo">756</span>   * Get the attributes to be submitted with requests<a name="line.756"></a>
+<span class="sourceLineNo">757</span>   * @return map of request attributes<a name="line.757"></a>
+<span class="sourceLineNo">758</span>   */<a name="line.758"></a>
+<span class="sourceLineNo">759</span>  default Map&lt;String, byte[]&gt; getRequestAttributes() {<a name="line.759"></a>
+<span class="sourceLineNo">760</span>    throw new NotImplementedException("Add an implementation!");<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>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/TableBuilder.html b/apidocs/src-html/org/apache/hadoop/hbase/client/TableBuilder.html
index 73488f7ac5c..30d9b4182f0 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/TableBuilder.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/TableBuilder.html
@@ -64,10 +64,15 @@
 <span class="sourceLineNo">056</span>  TableBuilder setWriteRpcTimeout(int timeout);<a name="line.56"></a>
 <span class="sourceLineNo">057</span><a name="line.57"></a>
 <span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Create the {@link Table} instance.<a name="line.59"></a>
+<span class="sourceLineNo">059</span>   * Set a request attribute<a name="line.59"></a>
 <span class="sourceLineNo">060</span>   */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  Table build();<a name="line.61"></a>
-<span class="sourceLineNo">062</span>}<a name="line.62"></a>
+<span class="sourceLineNo">061</span>  TableBuilder setRequestAttribute(String key, byte[] value);<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  /**<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * Create the {@link Table} instance.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  Table build();<a name="line.66"></a>
+<span class="sourceLineNo">067</span>}<a name="line.67"></a>
 
 
 
diff --git a/book.html b/book.html
index 56dd786b225..d71c3c1f063 100644
--- a/book.html
+++ b/book.html
@@ -48676,7 +48676,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 4.0.0-alpha-1-SNAPSHOT<br>
-Last updated 2023-07-24 14:29:37 UTC
+Last updated 2023-07-25 14:29:38 UTC
 </div>
 </div>
 <script type="text/x-mathjax-config">
diff --git a/bulk-loads.html b/bulk-loads.html
index 04378d945cd..4a4a86a7170 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -180,7 +180,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-24</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-25</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 7f5a1a2677e..b83df5267e4 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -173,7 +173,7 @@
 <th><figure><img src="images/icon_warning_sml.gif" alt="" /></figure>&#160;Warnings</th>
 <th><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Errors</th></tr>
 <tr class="b">
-<td>4875</td>
+<td>4876</td>
 <td>0</td>
 <td>0</td>
 <td>1728</td></tr></table></section><section>
@@ -3229,7 +3229,7 @@
 <tr class="b">
 <td>annotation</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_annotation.html#MissingDeprecated">MissingDeprecated</a></td>
-<td>10</td>
+<td>13</td>
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td></tr>
 <tr class="a">
 <td>blocks</td>
@@ -3299,7 +3299,7 @@
 <tr class="b">
 <td>javadoc</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>49</td>
+<td>46</td>
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td></tr>
 <tr class="a">
 <td>misc</td>
@@ -4690,8 +4690,8 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
-<td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>annotation</td>
+<td>MissingDeprecated</td>
 <td>Javadoc comment at column 20 has parse error. Missed HTML close tag 'path-to-conf'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>172</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.client.Action.java">org/apache/hadoop/hbase/client/Action.java</h3>
@@ -4761,19 +4761,19 @@
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'loc' must be private and have accessor methods.</td>
-<td>121</td></tr>
+<td>123</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'actions' must be private and have accessor methods.</td>
-<td>123</td></tr>
+<td>125</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'actionsByRegion' must be private and have accessor methods.</td>
-<td>132</td></tr></table></section><section>
+<td>134</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.client.AsyncClientScanner.java">org/apache/hadoop/hbase/client/AsyncClientScanner.java</h3>
 <table border="0" class="table table-striped">
 <tr class="a">
@@ -4787,25 +4787,25 @@
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'loc' must be private and have accessor methods.</td>
-<td>138</td></tr>
+<td>143</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'stub' must be private and have accessor methods.</td>
-<td>142</td></tr>
+<td>147</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'controller' must be private and have accessor methods.</td>
-<td>144</td></tr>
+<td>149</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'resp' must be private and have accessor methods.</td>
-<td>146</td></tr></table></section><section>
+<td>151</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.client.AsyncTableImpl.java">org/apache/hadoop/hbase/client/AsyncTableImpl.java</h3>
 <table border="0" class="table table-striped">
 <tr class="b">
@@ -4819,7 +4819,7 @@
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>243</td></tr></table></section><section>
+<td>249</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.client.ClientUtil.java">org/apache/hadoop/hbase/client/ClientUtil.java</h3>
 <table border="0" class="table table-striped">
 <tr class="b">
@@ -9031,7 +9031,7 @@
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
 <td>Utility classes should not have a public or default constructor.</td>
-<td>59</td></tr></table></section><section>
+<td>62</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.ipc.RpcServer.java">org/apache/hadoop/hbase/ipc/RpcServer.java</h3>
 <table border="0" class="table table-striped">
 <tr class="b">
@@ -9778,8 +9778,8 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
-<td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>annotation</td>
+<td>MissingDeprecated</td>
 <td>Javadoc comment at column 14 has parse error. Details: mismatched input ':' expecting &lt;EOF&gt; while parsing JAVADOC</td>
 <td>46</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner.java">org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.java</h3>
@@ -16330,8 +16330,8 @@
 <th>Line</th></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
-<td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>annotation</td>
+<td>MissingDeprecated</td>
 <td>Javadoc comment at column 20 has parse error. Missed HTML close tag 'SpanData'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>65</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.util.AbstractHBaseTool.java">org/apache/hadoop/hbase/util/AbstractHBaseTool.java</h3>
@@ -18562,7 +18562,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-24</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-25</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/checkstyle.rss b/checkstyle.rss
index 8db0db3ccf0..4f5ec9029f8 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,7 +25,7 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2023 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 4875,
+      <title>File: 4876,
              Errors: 1728,
              Warnings: 0,
              Infos: 0
@@ -53915,6 +53915,20 @@ under the License.
                 <td>
                   0
                 </td>
+              </tr>
+                          <tr>
+                <td>
+                  <a href="https://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.client.TestRequestAndConnectionAttributes.java">org/apache/hadoop/hbase/client/TestRequestAndConnectionAttributes.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
               </tr>
                           <tr>
                 <td>
diff --git a/coc.html b/coc.html
index a156d4ab8d5..d634e8c734c 100644
--- a/coc.html
+++ b/coc.html
@@ -248,7 +248,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-24</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-25</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependencies.html b/dependencies.html
index 64728d1059a..98408959aba 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -313,7 +313,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-24</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-25</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 9fa285e5139..b8a8d84c3bc 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -903,7 +903,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-24</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-25</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-info.html b/dependency-info.html
index f585a338528..55dab5dd52b 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -195,7 +195,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-24</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-25</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-management.html b/dependency-management.html
index b6074db46f6..4dd4ef32dab 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -1198,7 +1198,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2023
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-24</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2023-07-25</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 2797a6d4539..24e5fa26454 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -561,7 +561,7 @@
 <dd>
 <div class="block">Provides the basics for a RpcClient implementation like configuration and Logging.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/AbstractRpcClient.html#AbstractRpcClient-org.apache.hadoop.conf.Configuration-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.client.MetricsConnection-">AbstractRpcClient(Configuration, String, SocketAddress, MetricsConnection)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/AbstractRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AbstractR [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/AbstractRpcClient.html#AbstractRpcClient-org.apache.hadoop.conf.Configuration-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.client.MetricsConnection-java.util.Map-">AbstractRpcClient(Configuration, String, SocketAddress, MetricsConnection, Map&lt;String, byte[]&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/AbstractRpcClient.html" title="class  [...]
 <dd>
 <div class="block">Construct an IPC client for the cluster <code>clusterId</code></div>
 </dd>
@@ -4681,7 +4681,7 @@
 <dd>
 <div class="block">Retry caller for batch.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#AsyncBatchRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-java.util.List-long-long-int-long-long-int-">AsyncBatchRpcRetryingCaller(Timer, AsyncConnectionImpl, TableName, List&lt;? extends Row&gt;, long, long, int, long, long, int)</a></span> - Constructor for class org.apache.hadoop [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#AsyncBatchRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-java.util.List-long-long-int-long-long-int-java.util.Map-">AsyncBatchRpcRetryingCaller(Timer, AsyncConnectionImpl, TableName, List&lt;? extends Row&gt;, long, long, int, long, long, int, Map&lt;String, byte[]&gt;)</a></span>  [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncBatchRpcRetryingCaller.RegionRequest</span></a> - Class in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>&nbsp;</dd>
@@ -4717,7 +4717,7 @@
 <dd>
 <div class="block">The asynchronous client scanner implementation.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncClientScanner.html#AsyncClientScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hbase.thirdparty.io.netty.util.Timer-long-long-int-long-long-int-">AsyncClientScanner(Scan, AdvancedScanResultConsumer, TableName, AsyncConnectionImpl, Timer, long, long, int, long, long [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncClientScanner.html#AsyncClientScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hbase.thirdparty.io.netty.util.Timer-long-long-int-long-long-int-java.util.Map-">AsyncClientScanner(Scan, AdvancedScanResultConsumer, TableName, AsyncConnectionImpl, Timer, long, long, i [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncClientScanner.OpenScannerResponse</span></a> - Class in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>&nbsp;</dd>
@@ -4755,6 +4755,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#AsyncConnectionImpl-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ConnectionRegistry-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.security.User-">AsyncConnectionImpl(Configuration, ConnectionRegistry, String, SocketAddress, User)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncConnectionIm [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#AsyncConnectionImpl-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ConnectionRegistry-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.security.User-java.util.Map-">AsyncConnectionImpl(Configuration, ConnectionRegistry, String, SocketAddress, User, Map&lt;String, byte[]&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apa [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html#asyncCreate-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-byte:A-org.apache.zookeeper.AsyncCallback.StringCallback-java.lang.Object-">asyncCreate(ZKWatcher, String, byte[], AsyncCallback.StringCallback, Object)</a></span> - Static method in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html" title="class in org.apache.hadoop.hbase.zookeeper">Z [...]
 <dd>
 <div class="block">Async creates the specified node with the specified data.</div>
@@ -4876,7 +4878,7 @@
 </dd>
 <dt><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRpcRetryingCaller</span></a>&lt;<a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="type parameter in AsyncRpcRetryingCaller">T</a>&gt; - Class 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/AsyncRpcRetryingCaller.html#AsyncRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-int-long-long-int-long-long-int-">AsyncRpcRetryingCaller(Timer, AsyncConnectionImpl, int, long, long, int, long, long, int)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="cla [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#AsyncRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-int-long-long-int-long-long-int-java.util.Map-">AsyncRpcRetryingCaller(Timer, AsyncConnectionImpl, int, long, long, int, long, long, int, Map&lt;String, byte[]&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/clien [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRpcRetryingCallerFactory</span></a> - Class in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>
@@ -4902,7 +4904,7 @@
 <dd>
 <div class="block">Retry caller for scanning a region.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#AsyncScanSingleRegionRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.hbase.client.ScanResultCache-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.shaded.protobuf. [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#AsyncScanSingleRegionRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.hbase.client.ScanResultCache-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.shaded.protobuf. [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl</span></a> - Class in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>&nbsp;</dd>
@@ -4924,7 +4926,7 @@
 <dd>
 <div class="block">Retry caller for a single request, such as get, put, delete, etc.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.html#AsyncSingleRequestRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-byte:A-int-org.apache.hadoop.hbase.client.RegionLocateType-org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.Callable-int-long-long-int-long-long-int-">AsyncSingleRequestRpcRetryingCaller(Time [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.html#AsyncSingleRequestRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-byte:A-int-org.apache.hadoop.hbase.client.RegionLocateType-org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.Callable-int-long-long-int-long-long-int-java.util.Map-">AsyncSingleRequestRpcRetry [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncSingleRequestRpcRetryingCaller.Callable</span></a>&lt;<a href="org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.Callable.html" title="type parameter in AsyncSingleRequestRpcRetryingCaller.Callable">T</a>&gt; - Interface in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache [...]
 <dd>&nbsp;</dd>
@@ -5099,6 +5101,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalPrinterImpl.html#attributes">attributes</a></span> - Variable in class org.apache.hadoop.hbase.hbtop.terminal.impl.<a href="org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalPrinterImpl.html" title="class in org.apache.hadoop.hbase.hbtop.terminal.impl">TerminalPrinterImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/Call.html#attributes">attributes</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/Call.html" title="class in org.apache.hadoop.hbase.ipc">Call</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/server/trace/IpcServerSpanBuilder.html#attributes">attributes</a></span> - Variable in class org.apache.hadoop.hbase.server.trace.<a href="org/apache/hadoop/hbase/server/trace/IpcServerSpanBuilder.html" title="class in org.apache.hadoop.hbase.server.trace">IpcServerSpanBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/ImportTsv.TsvParser.html#ATTRIBUTES_COLUMN_SPEC">ATTRIBUTES_COLUMN_SPEC</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/ImportTsv.TsvParser.html" title="class in org.apache.hadoop.hbase.mapreduce">ImportTsv.TsvParser</a></dt>
@@ -7433,7 +7437,7 @@
 <dd>
 <div class="block">Used in test only.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/BlockingRpcClient.html#BlockingRpcClient-org.apache.hadoop.conf.Configuration-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.client.MetricsConnection-">BlockingRpcClient(Configuration, String, SocketAddress, MetricsConnection)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/BlockingRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">BlockingR [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/BlockingRpcClient.html#BlockingRpcClient-org.apache.hadoop.conf.Configuration-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.client.MetricsConnection-java.util.Map-">BlockingRpcClient(Configuration, String, SocketAddress, MetricsConnection, Map&lt;String, byte[]&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/BlockingRpcClient.html" title="class  [...]
 <dd>
 <div class="block">Construct an IPC client for the cluster <code>clusterId</code> with the default SocketFactory This
  method is called with reflection by the RpcClientFactory to create an instance</div>
@@ -10157,7 +10161,7 @@
 <dd>
 <div class="block">A call waiting for a value.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/Call.html#Call-int-org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor-org.apache.hbase.thirdparty.com.google.protobuf.Message-org.apache.hadoop.hbase.CellScanner-org.apache.hbase.thirdparty.com.google.protobuf.Message-int-int-org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback-org.apache.hadoop.hbase.client.MetricsConnection.CallStats-">Call(int, Descriptors.MethodDescriptor, Message,  [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/Call.html#Call-int-org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor-org.apache.hbase.thirdparty.com.google.protobuf.Message-org.apache.hadoop.hbase.CellScanner-org.apache.hbase.thirdparty.com.google.protobuf.Message-int-int-java.util.Map-org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback-org.apache.hadoop.hbase.client.MetricsConnection.CallStats-">Call(int, Descriptors.MethodDescrip [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/CallEvent.html#call">call</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/CallEvent.html" title="class in org.apache.hadoop.hbase.ipc">CallEvent</a></dt>
 <dd>&nbsp;</dd>
@@ -19599,6 +19603,10 @@
 &nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.html#CONNECTION_EXCEPTION_TYPES">CONNECTION_EXCEPTION_TYPES</a></span> - Static variable in class org.apache.hadoop.hbase.exceptions.<a href="org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.html" title="class in org.apache.hadoop.hbase.exceptions">ClientExceptionsUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/AbstractRpcClient.html#connectionAttributes">connectionAttributes</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/AbstractRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AbstractRpcClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcConnection.html#connectionAttributes">connectionAttributes</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">RpcConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/RESTServlet.html#connectionCache">connectionCache</a></span> - Variable in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/RESTServlet.html" title="class in org.apache.hadoop.hbase.rest">RESTServlet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/HBaseServiceHandler.html#connectionCache">connectionCache</a></span> - Variable in class org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/HBaseServiceHandler.html" title="class in org.apache.hadoop.hbase.thrift">HBaseServiceHandler</a></dt>
@@ -21875,6 +21883,10 @@
 <dd>
 <div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-java.util.Map-">createAsyncConnection(Configuration, User, Map&lt;String, byte[]&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ConnectionFactory.html" title="class in org.apache.hadoop.hbase.client">ConnectionFactory</a></dt>
+<dd>
+<div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#createAsyncWriter-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">createAsyncWriter(FileSystem, Path)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AsyncFSWAL</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html#createAsyncWriter-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup-java.lang.Class-">createAsyncWriter(Configuration, FileSystem, Path, boolean, EventLoopGroup, Class&lt;? extends Channel&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/ [...]
@@ -22050,7 +22062,7 @@
 <div class="block">Creates a new RpcClient by the class defined in the configuration or falls back to
  RpcClientImpl</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcClientFactory.html#createClient-org.apache.hadoop.conf.Configuration-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.client.MetricsConnection-">createClient(Configuration, String, SocketAddress, MetricsConnection)</a></span> - Static method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcClientFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcClientFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcClientFactory.html#createClient-org.apache.hadoop.conf.Configuration-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.client.MetricsConnection-java.util.Map-">createClient(Configuration, String, SocketAddress, MetricsConnection, Map&lt;String, byte[]&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcClientFactory.html" title="class in org.apac [...]
 <dd>
 <div class="block">Creates a new RpcClient by the class defined in the configuration or falls back to
  RpcClientImpl</div>
@@ -22229,6 +22241,10 @@
 <dd>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ConnectionFactory.html#createConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-java.util.Map-">createConnection(Configuration, ExecutorService, User, Map&lt;String, byte[]&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ConnectionFactory.html" title="class in org.apache.hadoop.hbas [...]
+<dd>
+<div class="block">Create a new Connection instance using the passed <code>conf</code> instance.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#createConnection-org.apache.hadoop.conf.Configuration-">createConnection(Configuration)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a></dt>
 <dd>
 <div class="block">Creates a cluster connection using the passed Configuration.</div>
@@ -43889,8 +43905,12 @@
 <dd>
 <div class="block">For test only.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcCall.html#getConnectionHeader--">getConnectionHeader()</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcConnection.html#getConnectionHeader--">getConnectionHeader()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">RpcConnection</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/ServerCall.html#getConnectionHeader--">getConnectionHeader()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/ServerCall.html" title="class in org.apache.hadoop.hbase.ipc">ServerCall</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcConnection.html#getConnectionHeaderPreamble--">getConnectionHeaderPreamble()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">RpcConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#getConnectionMetrics--">getConnectionMetrics()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a></dt>
@@ -57002,6 +57022,28 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AuthResult.html#getRequest--">getRequest()</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AuthResult.html" title="class in org.apache.hadoop.hbase.security.access">AuthResult</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTable.html#getRequestAttributes--">getRequestAttributes()</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">Get the map of request attributes</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTableImpl.html#getRequestAttributes--">getRequestAttributes()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncTableImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncTableImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncTableImpl.html#getRequestAttributes--">getRequestAttributes()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncTableImpl.html" title="class in org.apache.hadoop.hbase.client">RawAsyncTableImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Table.html#getRequestAttributes--">getRequestAttributes()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></dt>
+<dd>
+<div class="block">Get the attributes to be submitted with requests</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableOverAsyncTable.html#getRequestAttributes--">getRequestAttributes()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableOverAsyncTable.html" title="class in org.apache.hadoop.hbase.client">TableOverAsyncTable</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/DelegatingHBaseRpcController.html#getRequestAttributes--">getRequestAttributes()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/DelegatingHBaseRpcController.html" title="class in org.apache.hadoop.hbase.ipc">DelegatingHBaseRpcController</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/HBaseRpcController.html#getRequestAttributes--">getRequestAttributes()</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a></dt>
+<dd>
+<div class="block">Get the map of request attributes</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/HBaseRpcControllerImpl.html#getRequestAttributes--">getRequestAttributes()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/HBaseRpcControllerImpl.html" title="class in org.apache.hadoop.hbase.ipc">HBaseRpcControllerImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheStats.html#getRequestCachingCount--">getRequestCachingCount()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getRequestCachingCount--">getRequestCachingCount()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CombinedBlockCache.CombinedCacheStats</a></dt>
@@ -91635,6 +91677,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/NettyRpcClient.html#NettyRpcClient-org.apache.hadoop.conf.Configuration-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.client.MetricsConnection-">NettyRpcClient(Configuration, String, SocketAddress, MetricsConnection)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/NettyRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">NettyRpcClient</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/NettyRpcClient.html#NettyRpcClient-org.apache.hadoop.conf.Configuration-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.client.MetricsConnection-java.util.Map-">NettyRpcClient(Configuration, String, SocketAddress, MetricsConnection, Map&lt;String, byte[]&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/NettyRpcClient.html" title="class in org.apach [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/NettyRpcClient.html#NettyRpcClient-org.apache.hadoop.conf.Configuration-">NettyRpcClient(Configuration)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/NettyRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">NettyRpcClient</a></dt>
 <dd>
 <div class="block">Used in test only.</div>
@@ -111254,6 +111298,24 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.html#REQUEST_SIZE_NAME">REQUEST_SIZE_NAME</a></span> - Static variable in interface org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.html" title="interface in org.apache.hadoop.hbase.ipc">MetricsHBaseServerSource</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncClientScanner.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncClientScanner.html" title="class in org.apache.hadoop.hbase.client">AsyncClientScanner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTableBuilderBase.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncTableBuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncTableBuilderBase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncTableImpl.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncTableImpl.html" title="class in org.apache.hadoop.hbase.client">RawAsyncTableImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableBuilderBase.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableBuilderBase.html" title="class in org.apache.hadoop.hbase.client">TableBuilderBase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/HBaseRpcControllerImpl.html#requestAttributes">requestAttributes</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/HBaseRpcControllerImpl.html" title="class in org.apache.hadoop.hbase.ipc">HBaseRpcControllerImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheStats.html#requestCachingCounts">requestCachingCounts</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></dt>
 <dd>
 <div class="block">Caching access counts for each period in window</div>
@@ -114484,7 +114546,7 @@ service.</div>
 <dd>
 <div class="block">Base class for ipc connection.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcConnection.html#RpcConnection-org.apache.hadoop.conf.Configuration-org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer-org.apache.hadoop.hbase.ipc.ConnectionId-java.lang.String-boolean-org.apache.hadoop.hbase.codec.Codec-org.apache.hadoop.io.compress.CompressionCodec-org.apache.hadoop.hbase.client.MetricsConnection-">RpcConnection(Configuration, HashedWheelTimer, ConnectionId, String, boolean, Codec, Compress [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcConnection.html#RpcConnection-org.apache.hadoop.conf.Configuration-org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer-org.apache.hadoop.hbase.ipc.ConnectionId-java.lang.String-boolean-org.apache.hadoop.hbase.codec.Codec-org.apache.hadoop.io.compress.CompressionCodec-org.apache.hadoop.hbase.client.MetricsConnection-java.util.Map-">RpcConnection(Configuration, HashedWheelTimer, ConnectionId, String, boolean, C [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure/ProcedureCoordinator.html#rpcConnectionFailure-java.lang.String-java.io.IOException-">rpcConnectionFailure(String, IOException)</a></span> - Method in class org.apache.hadoop.hbase.procedure.<a href="org/apache/hadoop/hbase/procedure/ProcedureCoordinator.html" title="class in org.apache.hadoop.hbase.procedure">ProcedureCoordinator</a></dt>
 <dd>
@@ -122077,6 +122139,32 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.StripeCompactionRequest.html#setRequest-org.apache.hadoop.hbase.regionserver.compactions.CompactionRequestImpl-">setRequest(CompactionRequestImpl)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.StripeCompactionRequest.html" title="class in org.apache.hadoop.hbase.re [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTableBuilder.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute(String, byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a></dt>
+<dd>
+<div class="block">Set a request attribute</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTableBuilderBase.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute(String, byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncTableBuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncTableBuilderBase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableBuilder.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute(String, byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></dt>
+<dd>
+<div class="block">Set a request attribute</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableBuilderBase.html#setRequestAttribute-java.lang.String-byte:A-">setRequestAttribute(String, byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableBuilderBase.html" title="class in org.apache.hadoop.hbase.client">TableBuilderBase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#setRequestAttributes-java.util.Map-">setRequestAttributes(Map&lt;String, byte[]&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#setRequestAttributes-java.util.Map-">setRequestAttributes(Map&lt;String, byte[]&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBui [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#setRequestAttributes-java.util.Map-">setRequestAttributes(Map&lt;String, byte[]&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/DelegatingHBaseRpcController.html#setRequestAttributes-java.util.Map-">setRequestAttributes(Map&lt;String, byte[]&gt;)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/DelegatingHBaseRpcController.html" title="class in org.apache.hadoop.hbase.ipc">DelegatingHBaseRpcController</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/HBaseRpcController.html#setRequestAttributes-java.util.Map-">setRequestAttributes(Map&lt;String, byte[]&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a></dt>
+<dd>
+<div class="block">Set the map of request attributes</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/HBaseRpcControllerImpl.html#setRequestAttributes-java.util.Map-">setRequestAttributes(Map&lt;String, byte[]&gt;)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/HBaseRpcControllerImpl.html" title="class in org.apache.hadoop.hbase.ipc">HBaseRpcControllerImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ServerMetricsBuilder.html#setRequestCount-long-">setRequestCount(long)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerMetricsBuilder.html" title="class in org.apache.hadoop.hbase">ServerMetricsBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ServerMetricsBuilder.html#setRequestCountPerSecond-long-">setRequestCountPerSecond(long)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerMetricsBuilder.html" title="class in org.apache.hadoop.hbase">ServerMetricsBuilder</a></dt>
@@ -133915,7 +134003,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftConnection</span></a> - Class in <a href="org/apache/hadoop/hbase/thrift2/client/package-summary.html">org.apache.hadoop.hbase.thrift2.client</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.html#ThriftConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-">ThriftConnection(Configuration, ExecutorService, User)</a></span> - Constructor for class org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.html" title="class in org.apache.hadoop.hbase.thrift2.client">Th [...]
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.html#ThriftConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-java.util.Map-">ThriftConnection(Configuration, ExecutorService, User, Map&lt;String, byte[]&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.html" title="class in o [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.DefaultThriftClientBuilder.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftConnection.DefaultThriftClientBuilder</span></a> - Class in <a href="org/apache/hadoop/hbase/thrift2/client/package-summary.html">org.apache.hadoop.hbase.thrift2.client</a></dt>
 <dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index f85dd9efedf..a68a5886a8d 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -166,9 +166,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html b/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html
index fb1c312c025..64950e56f0b 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html
@@ -585,13 +585,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/Call.html#Call-int-org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor-org.apache.hbase.thirdparty.com.google.protobuf.Message-org.apache.hadoop.hbase.CellScanner-org.apache.hbase.thirdparty.com.google.protobuf.Message-int-int-org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback-org.apache.hadoop.hbase.client.MetricsConnection.CallStats-">Call</a></sp [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/Call.html#Call-int-org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor-org.apache.hbase.thirdparty.com.google.protobuf.Message-org.apache.hadoop.hbase.CellScanner-org.apache.hbase.thirdparty.com.google.protobuf.Message-int-int-java.util.Map-org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback-org.apache.hadoop.hbase.client.MetricsConnection.CallStats- [...]
     org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor&nbsp;md,
     org.apache.hbase.thirdparty.com.google.protobuf.Message&nbsp;param,
     <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells,
     org.apache.hbase.thirdparty.com.google.protobuf.Message&nbsp;responseDefaultType,
     int&nbsp;timeout,
     int&nbsp;priority,
+    <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>,byte[]&gt;&nbsp;attributes,
     org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/Call.html" title="class in org.apache.hadoop.hbase.ipc">Call</a>&gt;&nbsp;callback,
     <a href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.CallStats.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection.CallStats</a>&nbsp;callStats)</code>&nbsp;</td>
 </tr>
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
index 20238ad096e..67b74db1721 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
@@ -913,7 +913,7 @@ service.</div>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#AsyncScanSingleRegionRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.hbase.client.ScanResultCache-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#AsyncScanSingleRegionRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.hbase.client.ScanResultCache-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org [...]
                                       <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                                       <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                       <a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a>&nbsp;scanMetrics,
@@ -930,7 +930,8 @@ service.</div>
                                       int&nbsp;maxAttempts,
                                       long&nbsp;scanTimeoutNs,
                                       long&nbsp;rpcTimeoutNs,
-                                      int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+                                      int&nbsp;startLogErrorsCnt,
+                                      <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>,byte[]&gt;&nbsp;requestAttributes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#OpenScannerResponse-org.apache.hadoop.hbase.HRegionLocation-boolean-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface-org.apache.hadoop.hbase.ipc.HBaseRpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse-">OpenScannerResponse</a></span>(<a href="../../../../../org [...]
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
index 02b77b3f029..57b7d23001f 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -4842,7 +4842,7 @@ service.</div>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#AddColumnFamilyProcedureBiConsumer-org.apache.hadoop.hbase.TableName-">AddColumnFamilyProcedureBiConsumer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#AsyncBatchRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-java.util.List-long-long-int-long-long-int-">AsyncBatchRpcRetryingCaller</a></span>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#AsyncBatchRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-java.util.List-long-long-int-long-long-int-java.util.Map-">AsyncBatchRpcRetryingCaller</a></span>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
                            <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&nbsp;actions,
@@ -4851,10 +4851,11 @@ service.</div>
                            int&nbsp;maxAttempts,
                            long&nbsp;operationTimeoutNs,
                            long&nbsp;rpcTimeoutNs,
-                           int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+                           int&nbsp;startLogErrorsCnt,
+                           <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>,byte[]&gt;&nbsp;requestAttributes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#AsyncClientScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hbase.thirdparty.io.netty.util.Timer-long-long-int-long-long-int-">AsyncClientScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/clie [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#AsyncClientScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hbase.thirdparty.io.netty.util.Timer-long-long-int-long-long-int-java.util.Map-">AsyncClientScanner</a></span>(<a href="../../../../../org/apache/had [...]
                   <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a>&nbsp;consumer,
                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
@@ -4864,13 +4865,14 @@ service.</div>
                   int&nbsp;maxAttempts,
                   long&nbsp;scanTimeoutNs,
                   long&nbsp;rpcTimeoutNs,
-                  int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+                  int&nbsp;startLogErrorsCnt,
+                  <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>,byte[]&gt;&nbsp;requestAttributes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionLocationCache.html#AsyncRegionLocationCache-org.apache.hadoop.hbase.TableName-">AsyncRegionLocationCache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.html#AsyncSingleRequestRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-byte:A-int-org.apache.hadoop.hbase.client.RegionLocateType-org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.Callable-int-long-long-int-long-long-int-">Asy [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.html#AsyncSingleRequestRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-byte:A-int-org.apache.hadoop.hbase.client.RegionLocateType-org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.Callable-int-long-long-int-long-long-int-java. [...]
                                    <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                                    <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                    byte[]&nbsp;row,
@@ -4883,7 +4885,8 @@ service.</div>
                                    int&nbsp;maxAttempts,
                                    long&nbsp;operationTimeoutNs,
                                    long&nbsp;rpcTimeoutNs,
-                                   int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+                                   int&nbsp;startLogErrorsCnt,
+                                   <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>,byte[]&gt;&nbsp;requestAttributes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilderBase.html#AsyncTableBuilderBase-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionConfiguration-">AsyncTableBuilderBase</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html
index eb969262add..a9fcdd4f9ab 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.36">AsyncAdminRequestRetryingCaller.Callable</a>&lt;T&gt;</pre>
+public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.37">AsyncAdminRequestRetryingCaller.Callable</a>&lt;T&gt;</pre>
 </li>
 </ul>
 </div>
@@ -155,7 +155,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html" title="type parameter in AsyncAdminRequestRetryingCaller.Callable">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html#line [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html" title="type parameter in AsyncAdminRequestRetryingCaller.Callable">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html#line [...]
                           org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface&nbsp;stub)</pre>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html
index 000749ddd09..078a3e04aa1 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.33">AsyncAdminRequestRetryingCaller</a>&lt;T&gt;
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.34">AsyncAdminRequestRetryingCaller</a>&lt;T&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCaller</a>&lt;T&gt;</pre>
 </li>
 </ul>
@@ -250,7 +250,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>callable</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminRequestRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html" title="type parameter in AsyncAdminRequestRetryingCaller">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line [...]
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminRequestRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html" title="type parameter in AsyncAdminRequestRetryingCaller">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line [...]
 </li>
 </ul>
 <a name="serverName">
@@ -259,7 +259,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.41">serverName</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.42">serverName</a></pre>
 </li>
 </ul>
 </li>
@@ -276,7 +276,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncAdminRequestRetryingCaller</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.43">AsyncAdminRequestRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.44">AsyncAdminRequestRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
                                        <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                                        int&nbsp;priority,
                                        long&nbsp;pauseNs,
@@ -303,7 +303,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doCall</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.53">doCall</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html#line.54">doCall</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#doCall--">doCall</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html" title="type parameter in AsyncAdminRequestRetryingCaller">T</a>&gt;</code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html
index beb010cc9ff..cb38b0aa76a 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.119">AsyncBatchRpcRetryingCaller.RegionRequest</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.121">AsyncBatchRpcRetryingCaller.RegionRequest</a>
 extends <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></pre>
 </li>
 </ul>
@@ -188,7 +188,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>loc</h4>
-<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html#line.121">loc</a></pre>
+<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html#line.123">loc</a></pre>
 </li>
 </ul>
 <a name="actions">
@@ -197,7 +197,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>actions</h4>
-<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentLinkedQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html#line.123">actions</a></pre>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentLinkedQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html#line.125">actions</a></pre>
 </li>
 </ul>
 </li>
@@ -214,7 +214,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionRequest</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html#line.125">RegionRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html#line.127">RegionRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc)</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html
index 3428a9e42a2..eb89aa95988 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.130">AsyncBatchRpcRetryingCaller.ServerRequest</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.132">AsyncBatchRpcRetryingCaller.ServerRequest</a>
 extends <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></pre>
 </li>
 </ul>
@@ -213,7 +213,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>actionsByRegion</h4>
-<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.RegionRequest</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRet [...]
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.RegionRequest</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRet [...]
 </li>
 </ul>
 </li>
@@ -230,7 +230,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ServerRequest</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html#line.130">ServerRequest</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html#line.132">ServerRequest</a>()</pre>
 </li>
 </ul>
 </li>
@@ -247,7 +247,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>addAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html#line.135">addAction</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html#line.137">addAction</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc,
                       <a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&nbsp;action)</pre>
 </li>
 </ul>
@@ -257,7 +257,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setRegionRequest</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html#line.140">setRegionRequest</a>(byte[]&nbsp;regionName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html#line.142">setRegionRequest</a>(byte[]&nbsp;regionName,
                              <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.RegionRequest</a>&nbsp;regionReq)</pre>
 </li>
 </ul>
@@ -267,7 +267,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html#line.144">getPriority</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html#line.146">getPriority</a>()</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html
index 349c273d526..199fa8556d3 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html
@@ -200,22 +200,26 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#pauseManager">pauseManager</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <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>,byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#requestAttributes">requestAttributes</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private org.apache.hbase.thirdparty.io.netty.util.Timer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#retryTimer">retryTimer</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#rpcTimeoutNs">rpcTimeoutNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#startLogErrorsCnt">startLogErrorsCnt</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#startNs">startNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#tableName">tableName</a></span></code>&nbsp;</td>
 </tr>
@@ -234,7 +238,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#AsyncBatchRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-java.util.List-long-long-int-long-long-int-">AsyncBatchRpcRetryingCaller</a></span>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#AsyncBatchRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-java.util.List-long-long-int-long-long-int-java.util.Map-">AsyncBatchRpcRetryingCaller</a></span>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
                            <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&nbsp;actions,
@@ -243,7 +247,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                            int&nbsp;maxAttempts,
                            long&nbsp;operationTimeoutNs,
                            long&nbsp;rpcTimeoutNs,
-                           int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+                           int&nbsp;startLogErrorsCnt,
+                           <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>,byte[]&gt;&nbsp;requestAttributes)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -515,12 +520,21 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <a name="pauseManager">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>pauseManager</h4>
 <pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/backoff/HBaseServerExceptionPauseManager.html" title="class in org.apache.hadoop.hbase.client.backoff">HBaseServerExceptionPauseManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.115">pauseManager</a></pre>
 </li>
 </ul>
+<a name="requestAttributes">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>requestAttributes</h4>
+<pre>private final&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>,byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.117">requestAttributes</a></pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -529,13 +543,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="AsyncBatchRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-java.util.List-long-long-int-long-long-int-">
+<a name="AsyncBatchRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.TableName-java.util.List-long-long-int-long-long-int-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncBatchRpcRetryingCaller</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.150">AsyncBatchRpcRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.152">AsyncBatchRpcRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
                                    <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                                    <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&nbsp;actions,
@@ -544,7 +558,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                                    int&nbsp;maxAttempts,
                                    long&nbsp;operationTimeoutNs,
                                    long&nbsp;rpcTimeoutNs,
-                                   int&nbsp;startLogErrorsCnt)</pre>
+                                   int&nbsp;startLogErrorsCnt,
+                                   <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>,byte[]&gt;&nbsp;requestAttributes)</pre>
 </li>
 </ul>
 </li>
@@ -561,7 +576,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>hasIncrementOrAppend</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.185">hasIncrementOrAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;action)</pre>
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.189">hasIncrementOrAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;action)</pre>
 </li>
 </ul>
 <a name="hasIncrementOrAppend-org.apache.hadoop.hbase.client.RowMutations-">
@@ -570,7 +585,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>hasIncrementOrAppend</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.196">hasIncrementOrAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)</pre>
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.200">hasIncrementOrAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)</pre>
 </li>
 </ul>
 <a name="removeErrors-org.apache.hadoop.hbase.client.Action-">
@@ -579,7 +594,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>removeErrors</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RetriesExhaustedException.ThrowableWithExtraContext.html" title="class in org.apache.hadoop.hbase.client">RetriesExhaustedException.ThrowableWithExtraContext</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.205"> [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RetriesExhaustedException.ThrowableWithExtraContext.html" title="class in org.apache.hadoop.hbase.client">RetriesExhaustedException.ThrowableWithExtraContext</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.209"> [...]
 </li>
 </ul>
 <a name="logException-int-java.util.function.Supplier-java.lang.Throwable-org.apache.hadoop.hbase.ServerName-">
@@ -588,7 +603,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>logException</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.211">logException</a>(int&nbsp;tries,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.215">logException</a>(int&nbsp;tries,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hba [...]
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error,
                           <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
@@ -600,7 +615,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getExtraContextForError</h4>
-<pre>private&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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.222">getExtraContextForError</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>private&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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.226">getExtraContextForError</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
 </ul>
 <a name="addError-org.apache.hadoop.hbase.client.Action-java.lang.Throwable-org.apache.hadoop.hbase.ServerName-">
@@ -609,7 +624,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>addError</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.226">addError</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&nbsp;action,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.230">addError</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&nbsp;action,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error,
                       <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
@@ -620,7 +635,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>addError</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.235">addError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.239">addError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error,
                       <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
@@ -631,7 +646,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>failOne</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.239">failOne</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&nbsp;action,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.243">failOne</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&nbsp;action,
                      int&nbsp;tries,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error,
                      long&nbsp;currentTime,
@@ -644,7 +659,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>failAll</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.255">failAll</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.259">failAll</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
                      int&nbsp;tries,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error,
                      <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
@@ -656,7 +671,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>failAll</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.261">failAll</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.265">failAll</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
                      int&nbsp;tries)</pre>
 </li>
 </ul>
@@ -666,7 +681,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>buildReq</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.272">buildReq</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="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apac [...]
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.276">buildReq</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="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apac [...]
                                                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/CellScannable.html" title="interface in org.apache.hadoop.hbase">CellScannable</a>&gt;&nbsp;cells,
                                                                                              <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/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interfac [...]
                                                                                       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>
@@ -682,7 +697,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>onComplete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.294">onComplete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&nbsp;action,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.298">onComplete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&nbsp;action,
                         <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.RegionRequest</a>&nbsp;regionReq,
                         int&nbsp;tries,
                         <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
@@ -698,7 +713,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>onComplete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.322">onComplete</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="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.RegionRequest</a> [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.326">onComplete</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="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.RegionRequest</a> [...]
                         int&nbsp;tries,
                         <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                         <a href="../../../../../org/apache/hadoop/hbase/client/MultiResponse.html" title="class in org.apache.hadoop.hbase.client">MultiResponse</a>&nbsp;resp)</pre>
@@ -710,7 +725,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>sendToServer</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.361">sendToServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.365">sendToServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                           <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.ServerRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.ServerRequest</a>&nbsp;serverReq,
                           int&nbsp;tries)</pre>
 </li>
@@ -721,7 +736,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>sendOrDelay</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.415">sendOrDelay</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="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCalle [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.420">sendOrDelay</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="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCalle [...]
                          int&nbsp;tries)</pre>
 </li>
 </ul>
@@ -731,7 +746,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>onError</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.448">onError</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="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.RegionRequest</a>&gt [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.453">onError</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="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.RegionRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller.RegionRequest</a>&gt [...]
                      int&nbsp;tries,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
                      <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
@@ -743,7 +758,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tryResubmit</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.465">tryResubmit</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.470">tryResubmit</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
                          int&nbsp;tries,
                          boolean&nbsp;immediately,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
@@ -755,7 +770,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>groupAndSend</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.485">groupAndSend</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html#line.490">groupAndSend</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html?is-external=true" title="class or interface in java.util.stream">Stream</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&gt;&nbsp;actions,
                           int&nbsp;tries)</pre>
 </li>
 </ul>
@@ -765,7 +780,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html" title="type parameter in AsyncBatchRpcRetryingCaller">T< [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html" title="type parameter in AsyncBatchRpcRetryingCaller">T< [...]
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html
index 8100fef6cb6..b0cc74ca153 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.136">AsyncClientScanner.OpenScannerResponse</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.141">AsyncClientScanner.OpenScannerResponse</a>
 extends <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></pre>
 </li>
 </ul>
@@ -204,7 +204,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>loc</h4>
-<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.138">loc</a></pre>
+<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.143">loc</a></pre>
 </li>
 </ul>
 <a name="isRegionServerRemote">
@@ -213,7 +213,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isRegionServerRemote</h4>
-<pre>public final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.140">isRegionServerRemote</a></pre>
+<pre>public final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.145">isRegionServerRemote</a></pre>
 </li>
 </ul>
 <a name="stub">
@@ -222,7 +222,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>stub</h4>
-<pre>public final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.142">stub</a></pre>
+<pre>public final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.147">stub</a></pre>
 </li>
 </ul>
 <a name="controller">
@@ -231,7 +231,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>controller</h4>
-<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.144">controller</a></pre>
+<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.149">controller</a></pre>
 </li>
 </ul>
 <a name="resp">
@@ -240,7 +240,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resp</h4>
-<pre>public final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.146">resp</a></pre>
+<pre>public final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.151">resp</a></pre>
 </li>
 </ul>
 </li>
@@ -257,7 +257,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>OpenScannerResponse</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.148">OpenScannerResponse</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html#line.153">OpenScannerResponse</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc,
                            boolean&nbsp;isRegionServerRemote,
                            org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nbsp;stub,
                            <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncClientScanner.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncClientScanner.html
index 263b768d020..065ddc00f54 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncClientScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncClientScanner.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.63">AsyncClientScanner</a>
+class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.64">AsyncClientScanner</a>
 extends <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></pre>
 <div class="block">The asynchronous client scanner implementation.
  <p>
@@ -180,38 +180,42 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#pauseNsForServerOverloaded">pauseNsForServerOverloaded</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <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>,byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#requestAttributes">requestAttributes</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#resultCache">resultCache</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private org.apache.hbase.thirdparty.io.netty.util.Timer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#retryTimer">retryTimer</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#rpcTimeoutNs">rpcTimeoutNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <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/AsyncClientScanner.html#scan">scan</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#scanMetrics">scanMetrics</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#scanTimeoutNs">scanTimeoutNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private io.opentelemetry.api.trace.Span</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#span">span</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#startLogErrorsCnt">startLogErrorsCnt</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#tableName">tableName</a></span></code>&nbsp;</td>
 </tr>
@@ -230,7 +234,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#AsyncClientScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hbase.thirdparty.io.netty.util.Timer-long-long-int-long-long-int-">AsyncClientScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/clien [...]
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.html#AsyncClientScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hbase.thirdparty.io.netty.util.Timer-long-long-int-long-long-int-java.util.Map-">AsyncClientScanner</a></span>(<a href="../../../../../org/apache/hado [...]
                   <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a>&nbsp;consumer,
                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
@@ -240,7 +244,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                   int&nbsp;maxAttempts,
                   long&nbsp;scanTimeoutNs,
                   long&nbsp;rpcTimeoutNs,
-                  int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+                  int&nbsp;startLogErrorsCnt,
+                  <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>,byte[]&gt;&nbsp;requestAttributes)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -311,7 +316,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scan</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.67">scan</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.68">scan</a></pre>
 </li>
 </ul>
 <a name="scanMetrics">
@@ -320,7 +325,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scanMetrics</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.69">scanMetrics</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.70">scanMetrics</a></pre>
 </li>
 </ul>
 <a name="consumer">
@@ -329,7 +334,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>consumer</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.71">consumer</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.72">consumer</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -338,7 +343,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.73">tableName</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.74">tableName</a></pre>
 </li>
 </ul>
 <a name="conn">
@@ -347,7 +352,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>conn</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.75">conn</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.76">conn</a></pre>
 </li>
 </ul>
 <a name="retryTimer">
@@ -356,7 +361,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>retryTimer</h4>
-<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.77">retryTimer</a></pre>
+<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.78">retryTimer</a></pre>
 </li>
 </ul>
 <a name="pauseNs">
@@ -365,7 +370,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.79">pauseNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.80">pauseNs</a></pre>
 </li>
 </ul>
 <a name="pauseNsForServerOverloaded">
@@ -374,7 +379,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseNsForServerOverloaded</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.81">pauseNsForServerOverloaded</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.82">pauseNsForServerOverloaded</a></pre>
 </li>
 </ul>
 <a name="maxAttempts">
@@ -383,7 +388,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.83">maxAttempts</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.84">maxAttempts</a></pre>
 </li>
 </ul>
 <a name="scanTimeoutNs">
@@ -392,7 +397,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scanTimeoutNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.85">scanTimeoutNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.86">scanTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -401,7 +406,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.87">rpcTimeoutNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.88">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="startLogErrorsCnt">
@@ -410,7 +415,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.89">startLogErrorsCnt</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.90">startLogErrorsCnt</a></pre>
 </li>
 </ul>
 <a name="resultCache">
@@ -419,7 +424,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>resultCache</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.91">resultCache</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.92">resultCache</a></pre>
 </li>
 </ul>
 <a name="span">
@@ -428,7 +433,16 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>span</h4>
-<pre>private final&nbsp;io.opentelemetry.api.trace.Span <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.93">span</a></pre>
+<pre>private final&nbsp;io.opentelemetry.api.trace.Span <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.94">span</a></pre>
+</li>
+</ul>
+<a name="requestAttributes">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requestAttributes</h4>
+<pre>private final&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>,byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.96">requestAttributes</a></pre>
 </li>
 </ul>
 <a name="openScannerTries">
@@ -437,7 +451,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>openScannerTries</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.158">openScannerTries</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.163">openScannerTries</a></pre>
 </li>
 </ul>
 </li>
@@ -448,13 +462,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="AsyncClientScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hbase.thirdparty.io.netty.util.Timer-long-long-int-long-long-int-">
+<a name="AsyncClientScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hbase.thirdparty.io.netty.util.Timer-long-long-int-long-long-int-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncClientScanner</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.95">AsyncClientScanner</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/AsyncClientScanner.html#line.98">AsyncClientScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                           <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a>&nbsp;consumer,
                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
@@ -464,7 +478,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                           int&nbsp;maxAttempts,
                           long&nbsp;scanTimeoutNs,
                           long&nbsp;rpcTimeoutNs,
-                          int&nbsp;startLogErrorsCnt)</pre>
+                          int&nbsp;startLogErrorsCnt,
+                          <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>,byte[]&gt;&nbsp;requestAttributes)</pre>
 </li>
 </ul>
 </li>
@@ -481,7 +496,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>callOpenScanner</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html" title="class in org.apache.hadoop.hbase.client">AsyncClientScanner.OpenScannerResponse</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.ht [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html" title="class in org.apache.hadoop.hbase.client">AsyncClientScanner.OpenScannerResponse</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.ht [...]
                                                                                   <a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc,
                                                                                   org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nbsp;stub)</pre>
 </li>
@@ -492,7 +507,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>startScan</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.193">startScan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html" title="class in org.apache.hadoop.hbase.client">AsyncClientScanner.OpenScannerResponse</a>&nbsp;resp)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.198">startScan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html" title="class in org.apache.hadoop.hbase.client">AsyncClientScanner.OpenScannerResponse</a>&nbsp;resp)</pre>
 </li>
 </ul>
 <a name="openScanner-int-">
@@ -501,7 +516,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>openScanner</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html" title="class in org.apache.hadoop.hbase.client">AsyncClientScanner.OpenScannerResponse</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.ht [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClientScanner.OpenScannerResponse.html" title="class in org.apache.hadoop.hbase.client">AsyncClientScanner.OpenScannerResponse</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.ht [...]
 </li>
 </ul>
 <a name="getPrimaryTimeoutNs--">
@@ -510,7 +525,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrimaryTimeoutNs</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.239">getPrimaryTimeoutNs</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.246">getPrimaryTimeoutNs</a>()</pre>
 </li>
 </ul>
 <a name="openScanner--">
@@ -519,7 +534,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>openScanner</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.245">openScanner</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.252">openScanner</a>()</pre>
 </li>
 </ul>
 <a name="start--">
@@ -528,7 +543,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>start</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.266">start</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClientScanner.html#line.273">start</a>()</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html
index a7accd5db43..7898e903513 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.58">AsyncClusterConnectionImpl</a>
+class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.59">AsyncClusterConnectionImpl</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a></pre>
 <div class="block">The implementation of AsyncClusterConnection.</div>
@@ -310,7 +310,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncClusterConnectionImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.60">AsyncClusterConnectionImpl</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.61">AsyncClusterConnectionImpl</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html" title="interface in org.apache.hadoop.hbase.client">ConnectionRegistry</a>&nbsp;registry,
                                   <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;clusterId,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;localAddress,
@@ -331,7 +331,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGenerator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.66">getNonceGenerator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.67">getNonceGenerator</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#getNonceGenerator--">AsyncClusterConnection</a></code></span></div>
 <div class="block">Get the nonce generator for this connection.</div>
 <dl>
@@ -348,7 +348,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>getRpcClient</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcClient.html" title="interface in org.apache.hadoop.hbase.ipc">RpcClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.71">getRpcClient</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcClient.html" title="interface in org.apache.hadoop.hbase.ipc">RpcClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.72">getRpcClient</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#getRpcClient--">AsyncClusterConnection</a></code></span></div>
 <div class="block">Get the rpc client we used to communicate with other servers.</div>
 <dl>
@@ -363,7 +363,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerAdmin</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncRegionServerAdmin</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.76">getRegionServerAdmin</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncRegionServerAdmin</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.77">getRegionServerAdmin</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#getRegionServerAdmin-org.apache.hadoop.hbase.ServerName-">AsyncClusterConnection</a></code></span></div>
 <div class="block">Get the admin service for the given region server.</div>
 <dl>
@@ -378,7 +378,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>flush</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.81">flush</a>(byte[]&nbsp;regionName,
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.82">flush</a>(byte[]&nbsp;regionName,
                                                                                                                   boolean&nbsp;writeFlushWALMarker)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#flush-byte:A-boolean-">AsyncClusterConnection</a></code></span></div>
 <div class="block">Flush a region and get the response.</div>
@@ -394,7 +394,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionLocations</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.88">getRegionLocations</a>(<a href="../../../ [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.89">getRegionLocations</a>(<a href="../../../ [...]
                                                              byte[]&nbsp;row,
                                                              boolean&nbsp;reload)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#getRegionLocations-org.apache.hadoop.hbase.TableName-byte:A-boolean-">AsyncClusterConnection</a></code></span></div>
@@ -411,7 +411,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareBulkLoad</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.94">prepareBulkLoad</a>(<a href=". [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.95">prepareBulkLoad</a>(<a href=". [...]
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#prepareBulkLoad-org.apache.hadoop.hbase.TableName-">AsyncClusterConnection</a></code></span></div>
 <div class="block">Return the token for this bulk load.</div>
 <dl>
@@ -426,7 +426,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>bulkLoad</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.107">bulkLoad</a>(<a href="../.. [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.108">bulkLoad</a>(<a href="../.. [...]
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<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>&gt;&gt;&nbsp;familyPaths,
                                            byte[]&nbsp;row,
                                            boolean&nbsp;assignSeqNum,
@@ -463,7 +463,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupBulkLoad</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.120">cleanupBulkLoad</a>(<a href="../. [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.121">cleanupBulkLoad</a>(<a href="../. [...]
                                                <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;bulkToken)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#cleanupBulkLoad-org.apache.hadoop.hbase.TableName-java.lang.String-">AsyncClusterConnection</a></code></span></div>
 <div class="block">Clean up after finishing bulk load, no matter success or not.</div>
@@ -479,7 +479,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>getLiveRegionServers</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;<a href=".. [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;<a href=".. [...]
                                                                 int&nbsp;count)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#getLiveRegionServers-org.apache.hadoop.hbase.zookeeper.MasterAddressTracker-int-">AsyncClusterConnection</a></code></span></div>
 <div class="block">Get live region servers from masters.</div>
@@ -495,7 +495,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllBootstrapNodes</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;<a href=".. [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;<a href=".. [...]
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html#getAllBootstrapNodes-org.apache.hadoop.hbase.ServerName-">AsyncClusterConnection</a></code></span></div>
 <div class="block">Get the bootstrap node list of another region server.</div>
 <dl>
@@ -510,7 +510,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterCo
 <ul class="blockListLast">
 <li class="blockList">
 <h4>replicate</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.169">replicate</a>(<a href="../../../. [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html#line.170">replicate</a>(<a href="../../../. [...]
                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;&nbsp;entries,
                                          int&nbsp;retries,
                                          long&nbsp;rpcTimeoutNs,
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
index 95f483e9d26..e124fc8ef3a 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.76">AsyncConnectionImpl</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.78">AsyncConnectionImpl</a>
 extends <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>
 implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></pre>
 <div class="block">The implementation of AsyncConnection.</div>
@@ -257,6 +257,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;localAddress,
                    <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#AsyncConnectionImpl-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ConnectionRegistry-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.security.User-java.util.Map-">AsyncConnectionImpl</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                   <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html" title="interface in org.apache.hadoop.hbase.client">ConnectionRegistry</a>&nbsp;registry,
+                   <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;clusterId,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;localAddress,
+                   <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                   <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>,byte[]&gt;&nbsp;connectionAttributes)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -469,7 +477,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.78">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.80">LOG</a></pre>
 </li>
 </ul>
 <a name="RETRY_TIMER">
@@ -478,7 +486,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>RETRY_TIMER</h4>
-<pre>static final&nbsp;org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.80">RETRY_TIMER</a></pre>
+<pre>static final&nbsp;org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.82">RETRY_TIMER</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -487,7 +495,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.85">conf</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.87">conf</a></pre>
 </li>
 </ul>
 <a name="connConf">
@@ -496,7 +504,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>connConf</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionConfiguration.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionConfiguration</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.87">connConf</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionConfiguration.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionConfiguration</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.89">connConf</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -505,7 +513,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.89">user</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.91">user</a></pre>
 </li>
 </ul>
 <a name="registry">
@@ -514,7 +522,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>registry</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html" title="interface in org.apache.hadoop.hbase.client">ConnectionRegistry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.91">registry</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html" title="interface in org.apache.hadoop.hbase.client">ConnectionRegistry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.93">registry</a></pre>
 </li>
 </ul>
 <a name="rpcTimeout">
@@ -523,7 +531,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.93">rpcTimeout</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.95">rpcTimeout</a></pre>
 </li>
 </ul>
 <a name="rpcClient">
@@ -532,7 +540,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcClient</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcClient.html" title="interface in org.apache.hadoop.hbase.ipc">RpcClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.95">rpcClient</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcClient.html" title="interface in org.apache.hadoop.hbase.ipc">RpcClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.97">rpcClient</a></pre>
 </li>
 </ul>
 <a name="rpcControllerFactory">
@@ -541,7 +549,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcControllerFactory</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcControllerFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.97">rpcControllerFactory</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcControllerFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.99">rpcControllerFactory</a></pre>
 </li>
 </ul>
 <a name="locator">
@@ -550,7 +558,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>locator</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionLocator.html" title="class in org.apache.hadoop.hbase.client">AsyncRegionLocator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.99">locator</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionLocator.html" title="class in org.apache.hadoop.hbase.client">AsyncRegionLocator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.101">locator</a></pre>
 </li>
 </ul>
 <a name="callerFactory">
@@ -559,7 +567,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>callerFactory</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.101">callerFactory</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.103">callerFactory</a></pre>
 </li>
 </ul>
 <a name="nonceGenerator">
@@ -568,7 +576,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>nonceGenerator</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.103">nonceGenerator</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.105">nonceGenerator</a></pre>
 </li>
 </ul>
 <a name="rsStubs">
@@ -577,7 +585,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>rsStubs</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</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.shaded.protobuf.generated.ClientProtos.ClientService.Interface&gt; <a href="../../../../../src-html/org/apache/hadoop/hba [...]
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</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.shaded.protobuf.generated.ClientProtos.ClientService.Interface&gt; <a href="../../../../../src-html/org/apache/hadoop/hba [...]
 </li>
 </ul>
 <a name="adminStubs">
@@ -586,7 +594,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>adminStubs</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</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.shaded.protobuf.generated.AdminProtos.AdminService.Interface&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase [...]
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</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.shaded.protobuf.generated.AdminProtos.AdminService.Interface&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase [...]
 </li>
 </ul>
 <a name="masterStub">
@@ -595,7 +603,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>masterStub</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.109">masterStub</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.111">masterStub</a></pre>
 </li>
 </ul>
 <a name="masterStubMakeFuture">
@@ -604,7 +612,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>masterStubMakeFuture</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Int [...]
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Int [...]
 </li>
 </ul>
 <a name="stats">
@@ -613,7 +621,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>stats</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ServerStatisticTracker.html" title="class in org.apache.hadoop.hbase.client">ServerStatisticTracker</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.114">stats</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ServerStatisticTracker.html" title="class in org.apache.hadoop.hbase.client">ServerStatisticTracker</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.116">stats</a></pre>
 </li>
 </ul>
 <a name="backoffPolicy">
@@ -622,7 +630,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>backoffPolicy</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/backoff/ClientBackoffPolicy.html" title="interface in org.apache.hadoop.hbase.client.backoff">ClientBackoffPolicy</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.115">backoffPolicy</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/backoff/ClientBackoffPolicy.html" title="interface in org.apache.hadoop.hbase.client.backoff">ClientBackoffPolicy</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.117">backoffPolicy</a></pre>
 </li>
 </ul>
 <a name="choreService">
@@ -631,7 +639,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>choreService</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.117">choreService</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.119">choreService</a></pre>
 </li>
 </ul>
 <a name="closed">
@@ -640,7 +648,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>closed</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.119">closed</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.121">closed</a></pre>
 </li>
 </ul>
 <a name="metricsScope">
@@ -649,7 +657,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>metricsScope</h4>
-<pre>private 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/AsyncConnectionImpl.html#line.121">metricsScope</a></pre>
+<pre>private 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/AsyncConnectionImpl.html#line.123">metricsScope</a></pre>
 </li>
 </ul>
 <a name="metrics">
@@ -658,7 +666,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>metrics</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.122">metrics</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.124">metrics</a></pre>
 </li>
 </ul>
 <a name="clusterStatusListener">
@@ -667,7 +675,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterStatusListener</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterStatusListener.html" title="class in org.apache.hadoop.hbase.client">ClusterStatusListener</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.124">clusterStatusListener</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterStatusListener.html" title="class in org.apache.hadoop.hbase.client">ClusterStatusListener</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.126">clusterStatusListener</a></pre>
 </li>
 </ul>
 <a name="conn">
@@ -676,7 +684,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockListLast">
 <li class="blockList">
 <h4>conn</h4>
-<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ConnectionOverAsyncConnection.html" title="class in org.apache.hadoop.hbase.client">ConnectionOverAsyncConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.126">conn</a></pre>
+<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ConnectionOverAsyncConnection.html" title="class in org.apache.hadoop.hbase.client">ConnectionOverAsyncConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.128">conn</a></pre>
 </li>
 </ul>
 </li>
@@ -690,16 +698,30 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <a name="AsyncConnectionImpl-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ConnectionRegistry-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.security.User-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>AsyncConnectionImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.128">AsyncConnectionImpl</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.130">AsyncConnectionImpl</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                            <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html" title="interface in org.apache.hadoop.hbase.client">ConnectionRegistry</a>&nbsp;registry,
                            <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;clusterId,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;localAddress,
                            <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 </li>
 </ul>
+<a name="AsyncConnectionImpl-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ConnectionRegistry-java.lang.String-java.net.SocketAddress-org.apache.hadoop.hbase.security.User-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AsyncConnectionImpl</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.135">AsyncConnectionImpl</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                           <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html" title="interface in org.apache.hadoop.hbase.client">ConnectionRegistry</a>&nbsp;registry,
+                           <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;clusterId,
+                           <a href="https://docs.oracle.com/javase/8/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;localAddress,
+                           <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
+                           <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>,byte[]&gt;&nbsp;connectionAttributes)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -714,7 +736,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>spawnRenewalChore</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.184">spawnRenewalChore</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;user)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.191">spawnRenewalChore</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;user)</pre>
 </li>
 </ul>
 <a name="getChoreService--">
@@ -723,7 +745,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getChoreService</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.192">getChoreService</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.199">getChoreService</a>()</pre>
 <div class="block">If choreService has not been created yet, create the ChoreService.</div>
 </li>
 </ul>
@@ -733,7 +755,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getUser</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.202">getUser</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.209">getUser</a>()</pre>
 </li>
 </ul>
 <a name="getConnectionRegistry--">
@@ -742,7 +764,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnectionRegistry</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html" title="interface in org.apache.hadoop.hbase.client">ConnectionRegistry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.206">getConnectionRegistry</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html" title="interface in org.apache.hadoop.hbase.client">ConnectionRegistry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.213">getConnectionRegistry</a>()</pre>
 </li>
 </ul>
 <a name="getConfiguration--">
@@ -751,7 +773,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.211">getConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.218">getConfiguration</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getConfiguration--">AsyncConnection</a></code></span></div>
 <div class="block">Returns the <code>Configuration</code> object used by this instance.
  <p>
@@ -768,7 +790,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>isClosed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.216">isClosed</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.223">isClosed</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#isClosed--">AsyncConnection</a></code></span></div>
 <div class="block">Returns whether the connection is closed or not.</div>
 <dl>
@@ -785,7 +807,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.221">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.228">close</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
@@ -800,7 +822,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>logCallStack</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.250">logCallStack</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StackTraceElement.html?is-external=true" title="class or interface in java.lang">StackTraceElement</a>[]&nbsp;stackTraceElements)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.257">logCallStack</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StackTraceElement.html?is-external=true" title="class or interface in java.lang">StackTraceElement</a>[]&nbsp;stackTraceElements)</pre>
 </li>
 </ul>
 <a name="getRegionLocator-org.apache.hadoop.hbase.TableName-">
@@ -809,7 +831,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionLocator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.261">getRegionLocator</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.268">getRegionLocator</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getRegionLocator-org.apache.hadoop.hbase.TableName-">AsyncConnection</a></code></span></div>
 <div class="block">Retrieve a AsyncRegionLocator implementation to inspect region information on a table. The
  returned AsyncRegionLocator is not thread-safe, so a new instance should be created for each
@@ -831,7 +853,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>clearRegionLocationCache</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.266">clearRegionLocationCache</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.273">clearRegionLocationCache</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#clearRegionLocationCache--">AsyncConnection</a></code></span></div>
 <div class="block">Clear all the entries in the region location cache, for all the tables.
  <p/>
@@ -851,7 +873,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocator</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionLocator.html" title="class in org.apache.hadoop.hbase.client">AsyncRegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.271">getLocator</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionLocator.html" title="class in org.apache.hadoop.hbase.client">AsyncRegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.278">getLocator</a>()</pre>
 </li>
 </ul>
 <a name="getNonceGenerator--">
@@ -860,7 +882,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGenerator</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.276">getNonceGenerator</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.283">getNonceGenerator</a>()</pre>
 </li>
 </ul>
 <a name="createRegionServerStub-org.apache.hadoop.hbase.ServerName-">
@@ -869,7 +891,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionServerStub</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.280">createRegionServerStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.287">createRegionServerStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
                                                                                                                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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -883,7 +905,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerStub</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.284">getRegionServerStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.291">getRegionServerStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
                                                                                                     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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -897,7 +919,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>createMasterStub</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.290">createMasterStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.297">createMasterStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
                                                                                                          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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -911,7 +933,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>createAdminServerStub</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.294">createAdminServerStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.301">createAdminServerStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
                                                                                                             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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -925,7 +947,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getAdminStub</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.298">getAdminStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.305">getAdminStub</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
                                                                                            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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -939,7 +961,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterStub</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.304">getMasterStub</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.311">getMasterStub</a>()</pre>
 </li>
 </ul>
 <a name="getClusterId--">
@@ -948,7 +970,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterId</h4>
-<pre><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;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.327">getClusterId</a>()</pre>
+<pre><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;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.334">getClusterId</a>()</pre>
 </li>
 </ul>
 <a name="clearMasterStubCache-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface-">
@@ -957,7 +979,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>clearMasterStubCache</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.336">clearMasterStubCache</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;stub)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.343">clearMasterStubCache</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;stub)</pre>
 </li>
 </ul>
 <a name="getStatisticsTracker--">
@@ -966,7 +988,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getStatisticsTracker</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ServerStatisticTracker.html" title="class in org.apache.hadoop.hbase.client">ServerStatisticTracker</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.340">getStatisticsTracker</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ServerStatisticTracker.html" title="class in org.apache.hadoop.hbase.client">ServerStatisticTracker</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.347">getStatisticsTracker</a>()</pre>
 </li>
 </ul>
 <a name="getBackoffPolicy--">
@@ -975,7 +997,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getBackoffPolicy</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/backoff/ClientBackoffPolicy.html" title="interface in org.apache.hadoop.hbase.client.backoff">ClientBackoffPolicy</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.344">getBackoffPolicy</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/backoff/ClientBackoffPolicy.html" title="interface in org.apache.hadoop.hbase.client.backoff">ClientBackoffPolicy</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.351">getBackoffPolicy</a>()</pre>
 </li>
 </ul>
 <a name="getTableBuilder-org.apache.hadoop.hbase.TableName-">
@@ -984,7 +1006,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.349">getTableBuilder</a>(<a href="../../../.. [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.356">getTableBuilder</a>(<a href="../../../.. [...]
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getTableBuilder-org.apache.hadoop.hbase.TableName-">AsyncConnection</a></code></span></div>
 <div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTableBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a>.
  <p>
@@ -1004,7 +1026,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">ScanResultConsumer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.360">getTableBuilder</a>(<a href="../../../../../org/apache/h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">ScanResultConsumer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.367">getTableBuilder</a>(<a href="../../../../../org/apache/h [...]
                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">AsyncConnection</a></code></span></div>
 <div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTableBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a>.
@@ -1026,7 +1048,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getAdminBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.374">getAdminBuilder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.381">getAdminBuilder</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getAdminBuilder--">AsyncConnection</a></code></span></div>
 <div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncAdminBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncAdmin</code></a>.
  <p>
@@ -1045,7 +1067,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getAdminBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.384">getAdminBuilder</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.391">getAdminBuilder</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getAdminBuilder-java.util.concurrent.ExecutorService-">AsyncConnection</a></code></span></div>
 <div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncAdminBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncAdmin</code></a>.</div>
 <dl>
@@ -1062,7 +1084,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getBufferedMutatorBuilder</h4>
-<pre>public&nbsp;<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/AsyncConnectionImpl.html#line.396">getBufferedMutatorBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<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/AsyncConnectionImpl.html#line.403">getBufferedMutatorBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getBufferedMutatorBuilder-org.apache.hadoop.hbase.TableName-">AsyncConnection</a></code></span></div>
 <div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncBufferedMutatorBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncBufferedMutator</code></a>.</div>
 <dl>
@@ -1079,7 +1101,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getBufferedMutatorBuilder</h4>
-<pre>public&nbsp;<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/AsyncConnectionImpl.html#line.401">getBufferedMutatorBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;<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/AsyncConnectionImpl.html#line.408">getBufferedMutatorBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getBufferedMutatorBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">AsyncConnection</a></code></span></div>
 <div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncBufferedMutatorBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncBufferedMutator</code></a>.</div>
@@ -1098,7 +1120,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>toConnection</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.408">toConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.415">toConnection</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#toConnection--">AsyncConnection</a></code></span></div>
 <div class="block">Convert this connection to a <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>.
  <p/>
@@ -1116,7 +1138,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getHbckInternal</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.424">getHbckInternal</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;masterServer)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.431">getHbckInternal</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;masterServer)</pre>
 </li>
 </ul>
 <a name="getHbck--">
@@ -1125,7 +1147,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getHbck</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.434">getHbck</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.441">getHbck</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getHbck--">AsyncConnection</a></code></span></div>
 <div class="block">Retrieve an Hbck implementation to fix an HBase cluster. The returned Hbck is not guaranteed to
  be thread-safe. A new instance should be created by each thread. This is a lightweight
@@ -1148,7 +1170,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockList">
 <li class="blockList">
 <h4>getHbck</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.449">getHbck</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;masterServer)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.456">getHbck</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;masterServer)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getHbck-org.apache.hadoop.hbase.ServerName-">AsyncConnection</a></code></span></div>
 <div class="block">Retrieve an Hbck implementation to fix an HBase cluster. The returned Hbck is not guaranteed to
  be thread-safe. A new instance should be created by each thread. This is a lightweight
@@ -1175,7 +1197,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getConnectionMetrics</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.453">getConnectionMetrics</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.460">getConnectionMetrics</a>()</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html
index a91e9525fc4..8928872dc8e 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.40">AsyncMasterRequestRpcRetryingCaller.Callable</a>&lt;T&gt;</pre>
+public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.41">AsyncMasterRequestRpcRetryingCaller.Callable</a>&lt;T&gt;</pre>
 </li>
 </ul>
 </div>
@@ -155,7 +155,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html" title="type parameter in AsyncMasterRequestRpcRetryingCaller.Callable">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callab [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html" title="type parameter in AsyncMasterRequestRpcRetryingCaller.Callable">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callab [...]
                           org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;stub)</pre>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html
index 22a9fe87009..54cc2c23f6e 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.37">AsyncMasterRequestRpcRetryingCaller</a>&lt;T&gt;
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.38">AsyncMasterRequestRpcRetryingCaller</a>&lt;T&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCaller</a>&lt;T&gt;</pre>
 <div class="block">Retry caller for a request call to master.</div>
 <dl>
@@ -255,7 +255,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>callable</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncMasterRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html" title="type parameter in AsyncMasterRequestRpcRetryingCaller">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetr [...]
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncMasterRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html" title="type parameter in AsyncMasterRequestRpcRetryingCaller">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetr [...]
 </li>
 </ul>
 </li>
@@ -272,7 +272,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncMasterRequestRpcRetryingCaller</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.46">AsyncMasterRequestRpcRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.47">AsyncMasterRequestRpcRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
                                            <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                                            <a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncMasterRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html" title="type parameter in AsyncMasterRequestRpcRetryingCaller">T</a>&gt;&nbsp;callable,
                                            int&nbsp;priority,
@@ -298,7 +298,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>clearMasterStubCacheOnError</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.54">clearMasterStubCacheOnError</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;stub,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.55">clearMasterStubCacheOnError</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface&nbsp;stub,
                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 </li>
 </ul>
@@ -308,7 +308,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doCall</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.65">doCall</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html#line.66">doCall</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#doCall--">doCall</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html" title="type parameter in AsyncMasterRequestRpcRetryingCaller">T</a>&gt;</code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html
index 9b778b2dbd1..7c94d638eab 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.41">AsyncRegionReplicationRetryingCaller</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.42">AsyncRegionReplicationRetryingCaller</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCaller</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
 <div class="block">For replicating edits to secondary replicas.</div>
 </li>
@@ -244,7 +244,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>replica</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.43">replica</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.44">replica</a></pre>
 </li>
 </ul>
 <a name="entries">
@@ -253,7 +253,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>entries</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.45">entries</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.46">entries</a></pre>
 </li>
 </ul>
 <a name="useReplay">
@@ -262,7 +262,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>useReplay</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.50">useReplay</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.51">useReplay</a></pre>
 </li>
 </ul>
 </li>
@@ -279,7 +279,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncRegionReplicationRetryingCaller</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.52">AsyncRegionReplicationRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer&nbsp;retryTimer,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.53">AsyncRegionReplicationRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer&nbsp;retryTimer,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncClusterConnectionImpl</a>&nbsp;conn,
                                             int&nbsp;maxAttempts,
                                             long&nbsp;rpcTimeoutNs,
@@ -302,7 +302,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>preProcessError</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.63">preProcessError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.65">preProcessError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#preProcessError-java.lang.Throwable-">preProcessError</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCaller</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></dd>
@@ -315,7 +315,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>onComplete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.75">onComplete</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.77">onComplete</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc)</pre>
 </li>
 </ul>
 <a name="call-org.apache.hadoop.hbase.HRegionLocation-">
@@ -324,7 +324,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>call</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.85">call</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.87">call</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;loc)</pre>
 </li>
 </ul>
 <a name="doCall--">
@@ -333,7 +333,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doCall</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.107">doCall</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRegionReplicationRetryingCaller.html#line.109">doCall</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#doCall--">doCall</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCaller</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html
index 73e5e2ff4cc..60cd03c1280 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.49">AsyncRpcRetryingCaller</a>&lt;T&gt;
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.50">AsyncRpcRetryingCaller</a>&lt;T&gt;
 extends <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></pre>
 </li>
 </ul>
@@ -205,7 +205,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#AsyncRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-int-long-long-int-long-long-int-">AsyncRpcRetryingCaller</a></span>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#AsyncRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-int-long-long-int-long-long-int-java.util.Map-">AsyncRpcRetryingCaller</a></span>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
                       <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                       int&nbsp;priority,
                       long&nbsp;pauseNs,
@@ -213,7 +213,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                       int&nbsp;maxAttempts,
                       long&nbsp;operationTimeoutNs,
                       long&nbsp;rpcTimeoutNs,
-                      int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+                      int&nbsp;startLogErrorsCnt,
+                      <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>,byte[]&gt;&nbsp;requestAttributes)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -300,7 +301,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.51">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.52">LOG</a></pre>
 </li>
 </ul>
 <a name="retryTimer">
@@ -309,7 +310,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>retryTimer</h4>
-<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.53">retryTimer</a></pre>
+<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.54">retryTimer</a></pre>
 </li>
 </ul>
 <a name="priority">
@@ -318,7 +319,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.55">priority</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.56">priority</a></pre>
 </li>
 </ul>
 <a name="startNs">
@@ -327,7 +328,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>startNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.57">startNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.58">startNs</a></pre>
 </li>
 </ul>
 <a name="tries">
@@ -336,7 +337,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tries</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.59">tries</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.60">tries</a></pre>
 </li>
 </ul>
 <a name="maxAttempts">
@@ -345,7 +346,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.61">maxAttempts</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.62">maxAttempts</a></pre>
 </li>
 </ul>
 <a name="startLogErrorsCnt">
@@ -354,7 +355,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.63">startLogErrorsCnt</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.64">startLogErrorsCnt</a></pre>
 </li>
 </ul>
 <a name="exceptions">
@@ -363,7 +364,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>exceptions</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RetriesExhaustedException.ThrowableWithExtraContext.html" title="class in org.apache.hadoop.hbase.client">RetriesExhaustedException.ThrowableWithExtraContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.65">excep [...]
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RetriesExhaustedException.ThrowableWithExtraContext.html" title="class in org.apache.hadoop.hbase.client">RetriesExhaustedException.ThrowableWithExtraContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.66">excep [...]
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -372,7 +373,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.67">rpcTimeoutNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.68">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="operationTimeoutNs">
@@ -381,7 +382,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeoutNs</h4>
-<pre>protected final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.69">operationTimeoutNs</a></pre>
+<pre>protected final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.70">operationTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="conn">
@@ -390,7 +391,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>conn</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.71">conn</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.72">conn</a></pre>
 </li>
 </ul>
 <a name="future">
@@ -399,7 +400,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>future</h4>
-<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="type parameter in AsyncRpcRetryingCaller">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.73">future</a></pre>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="type parameter in AsyncRpcRetryingCaller">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.74">future</a></pre>
 </li>
 </ul>
 <a name="controller">
@@ -408,7 +409,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>controller</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.75">controller</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.76">controller</a></pre>
 </li>
 </ul>
 <a name="pauseManager">
@@ -417,7 +418,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>pauseManager</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/backoff/HBaseServerExceptionPauseManager.html" title="class in org.apache.hadoop.hbase.client.backoff">HBaseServerExceptionPauseManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.77">pauseManager</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/backoff/HBaseServerExceptionPauseManager.html" title="class in org.apache.hadoop.hbase.client.backoff">HBaseServerExceptionPauseManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.78">pauseManager</a></pre>
 </li>
 </ul>
 </li>
@@ -428,13 +429,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="AsyncRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-int-long-long-int-long-long-int-">
+<a name="AsyncRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-int-long-long-int-long-long-int-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncRpcRetryingCaller</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.79">AsyncRpcRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.80">AsyncRpcRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
                               <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                               int&nbsp;priority,
                               long&nbsp;pauseNs,
@@ -442,7 +443,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                               int&nbsp;maxAttempts,
                               long&nbsp;operationTimeoutNs,
                               long&nbsp;rpcTimeoutNs,
-                              int&nbsp;startLogErrorsCnt)</pre>
+                              int&nbsp;startLogErrorsCnt,
+                              <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>,byte[]&gt;&nbsp;requestAttributes)</pre>
 </li>
 </ul>
 </li>
@@ -459,7 +461,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>elapsedMs</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.98">elapsedMs</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.100">elapsedMs</a>()</pre>
 </li>
 </ul>
 <a name="remainingTimeNs--">
@@ -468,7 +470,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>remainingTimeNs</h4>
-<pre>protected final&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.102">remainingTimeNs</a>()</pre>
+<pre>protected final&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.104">remainingTimeNs</a>()</pre>
 </li>
 </ul>
 <a name="completeExceptionally--">
@@ -477,7 +479,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>completeExceptionally</h4>
-<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.106">completeExceptionally</a>()</pre>
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.108">completeExceptionally</a>()</pre>
 </li>
 </ul>
 <a name="resetCallTimeout--">
@@ -486,7 +488,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>resetCallTimeout</h4>
-<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.110">resetCallTimeout</a>()</pre>
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.112">resetCallTimeout</a>()</pre>
 </li>
 </ul>
 <a name="tryScheduleRetry-java.lang.Throwable-">
@@ -495,7 +497,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tryScheduleRetry</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.125">tryScheduleRetry</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.127">tryScheduleRetry</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 </li>
 </ul>
 <a name="getTableName--">
@@ -504,7 +506,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.140">getTableName</a>()</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.142">getTableName</a>()</pre>
 </li>
 </ul>
 <a name="preProcessError-java.lang.Throwable-">
@@ -513,7 +515,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>preProcessError</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.150">preProcessError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.152">preProcessError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 </li>
 </ul>
 <a name="onError-java.lang.Throwable-java.util.function.Supplier-java.util.function.Consumer-">
@@ -522,7 +524,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>onError</h4>
-<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.154">onError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.156">onError</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</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>&gt;&nbsp;errMsg,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;updateCachedLocation)</pre>
 </li>
@@ -533,7 +535,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>doCall</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.217">doCall</a>()</pre>
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.219">doCall</a>()</pre>
 </li>
 </ul>
 <a name="call--">
@@ -542,7 +544,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="type parameter in AsyncRpcRetryingCaller">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.219">call</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html" title="type parameter in AsyncRpcRetryingCaller">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.html#line.221">call</a>()</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html
index a721c62f8fb..60866edc8d1 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.458">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;T&gt;
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.483">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;T&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BuilderBase</a></pre>
 </li>
 </ul>
@@ -273,7 +273,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>callable</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminRequestRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client [...]
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdminRequestRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client [...]
 </li>
 </ul>
 <a name="operationTimeoutNs">
@@ -282,7 +282,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.463">operationTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.488">operationTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -291,7 +291,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.465">rpcTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.490">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="serverName">
@@ -300,7 +300,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.467">serverName</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.492">serverName</a></pre>
 </li>
 </ul>
 <a name="priority">
@@ -309,7 +309,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>priority</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.469">priority</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.494">priority</a></pre>
 </li>
 </ul>
 </li>
@@ -326,7 +326,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AdminRequestCallerBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.458">AdminRequestCallerBuilder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html#line.483">AdminRequestCallerBuilder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -343,7 +343,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>action</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
 </li>
 </ul>
 <a name="operationTimeout-long-java.util.concurrent.TimeUnit-">
@@ -352,7 +352,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
                                                                                    <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)</pre>
 </li>
 </ul>
@@ -362,7 +362,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
                                                                              <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)</pre>
 </li>
 </ul>
@@ -372,7 +372,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pause</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
                                                                         <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)</pre>
 </li>
 </ul>
@@ -382,7 +382,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseForServerOverloaded</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
                                                                                            <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)</pre>
 </li>
 </ul>
@@ -392,7 +392,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
 </li>
 </ul>
 <a name="startLogErrorsCnt-int-">
@@ -401,7 +401,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
 </li>
 </ul>
 <a name="serverName-org.apache.hadoop.hbase.ServerName-">
@@ -410,7 +410,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
 </li>
 </ul>
 <a name="priority-int-">
@@ -419,7 +419,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/ [...]
 </li>
 </ul>
 <a name="build--">
@@ -428,7 +428,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncAdminRequestRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingC [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncAdminRequestRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingC [...]
 </li>
 </ul>
 <a name="call--">
@@ -437,7 +437,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpc [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpc [...]
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html
index 6188f06a713..ede15a753b1 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.315">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.333">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BuilderBase</a></pre>
 </li>
 </ul>
@@ -147,10 +147,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#operationTimeoutNs">operationTimeoutNs</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <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>,byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#requestAttributes">requestAttributes</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#rpcTimeoutNs">rpcTimeoutNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#tableName">tableName</a></span></code>&nbsp;</td>
 </tr>
@@ -231,10 +235,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#startLogErrorsCnt-int-">startLogErrorsCnt</a></span>(int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#setRequestAttributes-java.util.Map-">setRequestAttributes</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  [...]
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#startLogErrorsCnt-int-">startLogErrorsCnt</a></span>(int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#table-org.apache.hadoop.hbase.TableName-">table</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 </table>
@@ -265,7 +273,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.317">tableName</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.335">tableName</a></pre>
 </li>
 </ul>
 <a name="actions">
@@ -274,7 +282,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>actions</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.319">actions</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.337">actions</a></pre>
 </li>
 </ul>
 <a name="operationTimeoutNs">
@@ -283,16 +291,25 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.321">operationTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.339">operationTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.323">rpcTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.341">rpcTimeoutNs</a></pre>
+</li>
+</ul>
+<a name="requestAttributes">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>requestAttributes</h4>
+<pre>private&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>,byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.343">requestAttributes</a></pre>
 </li>
 </ul>
 </li>
@@ -309,7 +326,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>BatchCallerBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.315">BatchCallerBuilder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.333">BatchCallerBuilder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -326,7 +343,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>table</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.325">table</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nb [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.345">table</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nb [...]
 </li>
 </ul>
 <a name="actions-java.util.List-">
@@ -335,7 +352,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>actions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.330">actions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in j [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.350">actions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in j [...]
 </li>
 </ul>
 <a name="operationTimeout-long-java.util.concurrent.TimeUnit-">
@@ -344,7 +361,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.335">operationTimeout</a>(long&nbsp;operationTimeout,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.355">operationTimeout</a>(long&nbsp;operationTimeout,
                                                                          <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)</pre>
 </li>
 </ul>
@@ -354,7 +371,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.340">rpcTimeout</a>(long&nbsp;rpcTimeout,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.360">rpcTimeout</a>(long&nbsp;rpcTimeout,
                                                                    <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)</pre>
 </li>
 </ul>
@@ -364,7 +381,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pause</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.345">pause</a>(long&nbsp;pause,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.365">pause</a>(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)</pre>
 </li>
 </ul>
@@ -374,7 +391,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseForServerOverloaded</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.350">pauseForServerOverloaded</a>(long&nbsp;pause,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.370">pauseForServerOverloaded</a>(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)</pre>
 </li>
 </ul>
@@ -384,7 +401,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.355">maxAttempts</a>(int&nbsp;maxAttempts)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.375">maxAttempts</a>(int&nbsp;maxAttempts)</pre>
 </li>
 </ul>
 <a name="startLogErrorsCnt-int-">
@@ -393,7 +410,16 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.360">startLogErrorsCnt</a>(int&nbsp;startLogErrorsCnt)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.380">startLogErrorsCnt</a>(int&nbsp;startLogErrorsCnt)</pre>
+</li>
+</ul>
+<a name="setRequestAttributes-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRequestAttributes</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.385">setRequestAttributes</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or in [...]
 </li>
 </ul>
 <a name="build--">
@@ -402,7 +428,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.365">build</a>()</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncBatchRpcRetryingCaller</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html#line.390">build</a>()</pre>
 </li>
 </ul>
 <a name="call--">
@@ -411,7 +437,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.ht [...]
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.ht [...]
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html
index 061ec3fbe67..f1c7657163f 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html
@@ -111,7 +111,7 @@
 </dl>
 <hr>
 <br>
-<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.57">AsyncRpcRetryingCallerFactory.BuilderBase</a>
+<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.59">AsyncRpcRetryingCallerFactory.BuilderBase</a>
 extends <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></pre>
 </li>
 </ul>
@@ -202,7 +202,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseNs</h4>
-<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.59">pauseNs</a></pre>
+<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.61">pauseNs</a></pre>
 </li>
 </ul>
 <a name="pauseNsForServerOverloaded">
@@ -211,7 +211,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseNsForServerOverloaded</h4>
-<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.61">pauseNsForServerOverloaded</a></pre>
+<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.63">pauseNsForServerOverloaded</a></pre>
 </li>
 </ul>
 <a name="maxAttempts">
@@ -220,7 +220,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.63">maxAttempts</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.65">maxAttempts</a></pre>
 </li>
 </ul>
 <a name="startLogErrorsCnt">
@@ -229,7 +229,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.65">startLogErrorsCnt</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.67">startLogErrorsCnt</a></pre>
 </li>
 </ul>
 </li>
@@ -246,7 +246,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>BuilderBase</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.57">BuilderBase</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html#line.59">BuilderBase</a>()</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html
index c8309d79743..91244054ed7 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.380">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;T&gt;
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.405">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;T&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BuilderBase</a></pre>
 </li>
 </ul>
@@ -275,7 +275,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>callable</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncMasterRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hb [...]
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncMasterRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hb [...]
 </li>
 </ul>
 <a name="operationTimeoutNs">
@@ -284,7 +284,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.383">operationTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.408">operationTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -293,7 +293,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.385">rpcTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.410">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="priority">
@@ -302,7 +302,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>priority</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.387">priority</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.412">priority</a></pre>
 </li>
 </ul>
 </li>
@@ -319,7 +319,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MasterRequestCallerBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.380">MasterRequestCallerBuilder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.405">MasterRequestCallerBuilder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -336,7 +336,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>action</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="operationTimeout-long-java.util.concurrent.TimeUnit-">
@@ -345,7 +345,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                                     <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)</pre>
 </li>
 </ul>
@@ -355,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                               <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)</pre>
 </li>
 </ul>
@@ -365,7 +365,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pause</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                          <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)</pre>
 </li>
 </ul>
@@ -375,7 +375,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseForServerOverloaded</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                                             <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)</pre>
 </li>
 </ul>
@@ -385,7 +385,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="startLogErrorsCnt-int-">
@@ -394,7 +394,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="priority-org.apache.hadoop.hbase.TableName-">
@@ -403,7 +403,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="priority-int-">
@@ -412,7 +412,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="preCheck--">
@@ -421,7 +421,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>preCheck</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.435">preCheck</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html#line.460">preCheck</a>()</pre>
 </li>
 </ul>
 <a name="build--">
@@ -430,7 +430,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncMasterRequestRpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRp [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncMasterRequestRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncMasterRequestRpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRp [...]
 </li>
 </ul>
 <a name="call--">
@@ -439,7 +439,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncR [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncR [...]
 <div class="block">Shortcut for <code>build().call()</code></div>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html
index 0f414f129d9..6b1f6cbfc49 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"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};
+var methods = {"i0":10,"i1":10,"i2":10,"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};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.178">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.188">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BuilderBase</a></pre>
 </li>
 </ul>
@@ -155,34 +155,38 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#priority">priority</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <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>,byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#requestAttributes">requestAttributes</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#resultCache">resultCache</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#rpcTimeoutNs">rpcTimeoutNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <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/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#scan">scan</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#scanMetrics">scanMetrics</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#scannerId">scannerId</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#scannerLeaseTimeoutPeriodNs">scannerLeaseTimeoutPeriodNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#scanTimeoutNs">scanTimeoutNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#stub">stub</a></span></code>&nbsp;</td>
 </tr>
@@ -288,20 +292,24 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#setScan-org.apache.hadoop.hbase.client.Scan-">setScan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#setRequestAttributes-java.util.Map-">setRequestAttributes</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 in [...]
 </tr>
 <tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#setScan-org.apache.hadoop.hbase.client.Scan-">setScan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#start-org.apache.hadoop.hbase.ipc.HBaseRpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse-">start</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
      org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse&nbsp;respWhenOpen)</code>
 <div class="block">Short cut for <code>build().start(HBaseRpcController, ScanResponse)</code>.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#startLogErrorsCnt-int-">startLogErrorsCnt</a></span>(int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#stub-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface-">stub</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nbsp;stub)</code>&nbsp;</td>
 </tr>
@@ -333,7 +341,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerId</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.180">scannerId</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.190">scannerId</a></pre>
 </li>
 </ul>
 <a name="scan">
@@ -342,7 +350,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>scan</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.182">scan</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.192">scan</a></pre>
 </li>
 </ul>
 <a name="scanMetrics">
@@ -351,7 +359,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>scanMetrics</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.184">scanMetrics</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.194">scanMetrics</a></pre>
 </li>
 </ul>
 <a name="resultCache">
@@ -360,7 +368,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>resultCache</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.186">resultCache</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.196">resultCache</a></pre>
 </li>
 </ul>
 <a name="consumer">
@@ -369,7 +377,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>consumer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.188">consumer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.198">consumer</a></pre>
 </li>
 </ul>
 <a name="stub">
@@ -378,7 +386,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>stub</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.190">stub</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.200">stub</a></pre>
 </li>
 </ul>
 <a name="loc">
@@ -387,7 +395,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>loc</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.192">loc</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.202">loc</a></pre>
 </li>
 </ul>
 <a name="isRegionServerRemote">
@@ -396,7 +404,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>isRegionServerRemote</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.194">isRegionServerRemote</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.204">isRegionServerRemote</a></pre>
 </li>
 </ul>
 <a name="scannerLeaseTimeoutPeriodNs">
@@ -405,7 +413,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerLeaseTimeoutPeriodNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.196">scannerLeaseTimeoutPeriodNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.206">scannerLeaseTimeoutPeriodNs</a></pre>
 </li>
 </ul>
 <a name="scanTimeoutNs">
@@ -414,7 +422,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>scanTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.198">scanTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.208">scanTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -423,16 +431,25 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.200">rpcTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.210">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="priority">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.202">priority</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.212">priority</a></pre>
+</li>
+</ul>
+<a name="requestAttributes">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>requestAttributes</h4>
+<pre>private&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>,byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.214">requestAttributes</a></pre>
 </li>
 </ul>
 </li>
@@ -449,7 +466,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ScanSingleRegionCallerBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.178">ScanSingleRegionCallerBuilder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.188">ScanSingleRegionCallerBuilder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -466,7 +483,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>id</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.204">id</a>(long&nbsp;scannerId)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.216">id</a>(long&nbsp;scannerId)</pre>
 </li>
 </ul>
 <a name="setScan-org.apache.hadoop.hbase.client.Scan-">
@@ -475,7 +492,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>setScan</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.209">setScan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org. [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.221">setScan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org. [...]
 </li>
 </ul>
 <a name="metrics-org.apache.hadoop.hbase.client.metrics.ScanMetrics-">
@@ -484,7 +501,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>metrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.215">metrics</a>(<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.227">metrics</a>(<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title [...]
 </li>
 </ul>
 <a name="remote-boolean-">
@@ -493,7 +510,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>remote</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.220">remote</a>(boolean&nbsp;isRegionServerRemote)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.232">remote</a>(boolean&nbsp;isRegionServerRemote)</pre>
 </li>
 </ul>
 <a name="resultCache-org.apache.hadoop.hbase.client.ScanResultCache-">
@@ -502,7 +519,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>resultCache</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.225">resultCache</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.237">resultCache</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title [...]
 </li>
 </ul>
 <a name="consumer-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-">
@@ -511,7 +528,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>consumer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.230">consumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.htm [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.242">consumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.htm [...]
 </li>
 </ul>
 <a name="stub-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface-">
@@ -520,7 +537,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>stub</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.235">stub</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nb [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.247">stub</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface&nb [...]
 </li>
 </ul>
 <a name="location-org.apache.hadoop.hbase.HRegionLocation-">
@@ -529,7 +546,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>location</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.240">location</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.252">location</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in [...]
 </li>
 </ul>
 <a name="scannerLeaseTimeoutPeriod-long-java.util.concurrent.TimeUnit-">
@@ -538,7 +555,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerLeaseTimeoutPeriod</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.245">scannerLeaseTimeoutPeriod</a>(long&nbsp;scannerLeaseTimeoutPeriod,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.257">scannerLeaseTimeoutPeriod</a>(long&nbsp;scannerLeaseTimeoutPeriod,
                                                                                              <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)</pre>
 </li>
 </ul>
@@ -548,7 +565,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>scanTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.251">scanTimeout</a>(long&nbsp;scanTimeout,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.263">scanTimeout</a>(long&nbsp;scanTimeout,
                                                                                <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)</pre>
 </li>
 </ul>
@@ -558,7 +575,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.256">rpcTimeout</a>(long&nbsp;rpcTimeout,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.268">rpcTimeout</a>(long&nbsp;rpcTimeout,
                                                                               <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)</pre>
 </li>
 </ul>
@@ -568,7 +585,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pause</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.261">pause</a>(long&nbsp;pause,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.273">pause</a>(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)</pre>
 </li>
 </ul>
@@ -578,7 +595,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseForServerOverloaded</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.266">pauseForServerOverloaded</a>(long&nbsp;pause,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.278">pauseForServerOverloaded</a>(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)</pre>
 </li>
 </ul>
@@ -588,7 +605,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.271">maxAttempts</a>(int&nbsp;maxAttempts)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.283">maxAttempts</a>(int&nbsp;maxAttempts)</pre>
 </li>
 </ul>
 <a name="startLogErrorsCnt-int-">
@@ -597,7 +614,16 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.276">startLogErrorsCnt</a>(int&nbsp;startLogErrorsCnt)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.288">startLogErrorsCnt</a>(int&nbsp;startLogErrorsCnt)</pre>
+</li>
+</ul>
+<a name="setRequestAttributes-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRequestAttributes</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.294">setRequestAttributes</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is- [...]
 </li>
 </ul>
 <a name="preCheck--">
@@ -606,7 +632,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>preCheck</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.281">preCheck</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.299">preCheck</a>()</pre>
 </li>
 </ul>
 <a name="build--">
@@ -615,7 +641,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.291">build</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line.309">build</a>()</pre>
 </li>
 </ul>
 <a name="start-org.apache.hadoop.hbase.ipc.HBaseRpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse-">
@@ -624,7 +650,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>start</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html#line [...]
                                         org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse&nbsp;respWhenOpen)</pre>
 <div class="block">Short cut for <code>build().start(HBaseRpcController, ScanResponse)</code>.</div>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html
index 17f472a78eb..e45146f7e86 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.533">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;T&gt;
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.558">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;T&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BuilderBase</a></pre>
 </li>
 </ul>
@@ -265,7 +265,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>callable</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncServerRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncServerRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hb [...]
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncServerRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncServerRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hb [...]
 </li>
 </ul>
 <a name="operationTimeoutNs">
@@ -274,7 +274,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html#line.537">operationTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html#line.562">operationTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -283,7 +283,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html#line.539">rpcTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html#line.564">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="serverName">
@@ -292,7 +292,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html#line.541">serverName</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html#line.566">serverName</a></pre>
 </li>
 </ul>
 </li>
@@ -309,7 +309,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ServerRequestCallerBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html#line.533">ServerRequestCallerBuilder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html#line.558">ServerRequestCallerBuilder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -326,7 +326,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>action</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="operationTimeout-long-java.util.concurrent.TimeUnit-">
@@ -335,7 +335,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                                     <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)</pre>
 </li>
 </ul>
@@ -345,7 +345,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                               <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)</pre>
 </li>
 </ul>
@@ -355,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pause</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                          <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)</pre>
 </li>
 </ul>
@@ -365,7 +365,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseForServerOverloaded</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                                             <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)</pre>
 </li>
 </ul>
@@ -375,7 +375,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="startLogErrorsCnt-int-">
@@ -384,7 +384,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="serverName-org.apache.hadoop.hbase.ServerName-">
@@ -393,7 +393,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="build--">
@@ -402,7 +402,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncServerRequestRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncServerRequestRpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRp [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncServerRequestRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncServerRequestRpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRp [...]
 </li>
 </ul>
 <a name="call--">
@@ -411,7 +411,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncR [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncR [...]
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html
index b603ed7ac5a..ccd4bbf47c2 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var methods = {"i0":10,"i1":10,"i2":10,"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};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.68">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;T&gt;
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.70">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;T&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BuilderBase.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BuilderBase</a></pre>
 </li>
 </ul>
@@ -159,14 +159,18 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#replicaId">replicaId</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <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>,byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#requestAttributes">requestAttributes</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#row">row</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#rpcTimeoutNs">rpcTimeoutNs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#tableName">tableName</a></span></code>&nbsp;</td>
 </tr>
@@ -269,10 +273,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#startLogErrorsCnt-int-">startLogErrorsCnt</a></span>(int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#setRequestAttributes-java.util.Map-">setRequestAttributes</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 inter [...]
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#startLogErrorsCnt-int-">startLogErrorsCnt</a></span>(int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#table-org.apache.hadoop.hbase.TableName-">table</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 </table>
@@ -303,7 +311,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.70">tableName</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.72">tableName</a></pre>
 </li>
 </ul>
 <a name="row">
@@ -312,7 +320,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>row</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.72">row</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.74">row</a></pre>
 </li>
 </ul>
 <a name="callable">
@@ -321,7 +329,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>callable</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncSingleRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hb [...]
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.Callable.html" title="interface in org.apache.hadoop.hbase.client">AsyncSingleRequestRpcRetryingCaller.Callable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hb [...]
 </li>
 </ul>
 <a name="operationTimeoutNs">
@@ -330,7 +338,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.76">operationTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.78">operationTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -339,7 +347,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.78">rpcTimeoutNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.80">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="locateType">
@@ -348,7 +356,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>locateType</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client">RegionLocateType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.80">locateType</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client">RegionLocateType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.82">locateType</a></pre>
 </li>
 </ul>
 <a name="replicaId">
@@ -357,16 +365,25 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>replicaId</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.82">replicaId</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.84">replicaId</a></pre>
 </li>
 </ul>
 <a name="priority">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.84">priority</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.86">priority</a></pre>
+</li>
+</ul>
+<a name="requestAttributes">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>requestAttributes</h4>
+<pre>private&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>,byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.88">requestAttributes</a></pre>
 </li>
 </ul>
 </li>
@@ -383,7 +400,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SingleRequestCallerBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.68">SingleRequestCallerBuilder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.70">SingleRequestCallerBuilder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -400,7 +417,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>table</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="row-byte:A-">
@@ -409,7 +426,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>row</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="action-org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.Callable-">
@@ -418,7 +435,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>action</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="operationTimeout-long-java.util.concurrent.TimeUnit-">
@@ -427,7 +444,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>operationTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                                     <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)</pre>
 </li>
 </ul>
@@ -437,7 +454,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                               <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)</pre>
 </li>
 </ul>
@@ -447,7 +464,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>locateType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="pause-long-java.util.concurrent.TimeUnit-">
@@ -456,7 +473,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pause</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                          <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)</pre>
 </li>
 </ul>
@@ -466,7 +483,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>pauseForServerOverloaded</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
                                                                                             <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)</pre>
 </li>
 </ul>
@@ -476,7 +493,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="startLogErrorsCnt-int-">
@@ -485,7 +502,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="replicaId-int-">
@@ -494,7 +511,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>replicaId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="priority-int-">
@@ -503,7 +520,16 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
+</li>
+</ul>
+<a name="setRequestAttributes-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRequestAttributes</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-h [...]
 </li>
 </ul>
 <a name="preCheck--">
@@ -512,7 +538,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>preCheck</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.147">preCheck</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html#line.157">preCheck</a>()</pre>
 </li>
 </ul>
 <a name="build--">
@@ -521,7 +547,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncSingleRequestRpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRp [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">AsyncSingleRequestRpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRp [...]
 </li>
 </ul>
 <a name="call--">
@@ -530,7 +556,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncR [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="type parameter in AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder">T</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncR [...]
 <div class="block">Shortcut for <code>build().call()</code></div>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html
index f164ce3cf4a..0002f6f2140 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.46">AsyncRpcRetryingCallerFactory</a>
+class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.48">AsyncRpcRetryingCallerFactory</a>
 extends <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></pre>
 <div class="block">Factory to create an AsyncRpcRetryCaller.</div>
 <dl>
@@ -275,7 +275,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>conn</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.48">conn</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.50">conn</a></pre>
 </li>
 </ul>
 <a name="retryTimer">
@@ -284,7 +284,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>retryTimer</h4>
-<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.50">retryTimer</a></pre>
+<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.52">retryTimer</a></pre>
 </li>
 </ul>
 </li>
@@ -301,7 +301,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncRpcRetryingCallerFactory</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.52">AsyncRpcRetryingCallerFactory</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.54">AsyncRpcRetryingCallerFactory</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                                      org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer)</pre>
 </li>
 </ul>
@@ -319,7 +319,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>single</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.174">single</a>()</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.SingleRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.184">single</a>()</pre>
 <div class="block">Create retry caller for single action, such as get, put, delete, etc.</div>
 </li>
 </ul>
@@ -329,7 +329,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scanSingleRegion</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.311">scanSingleRegion</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ScanSingleRegionCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.329">scanSingleRegion</a>()</pre>
 <div class="block">Create retry caller for scanning a region.</div>
 </li>
 </ul>
@@ -339,7 +339,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>batch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.376">batch</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.BatchCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.BatchCallerBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.401">batch</a>()</pre>
 </li>
 </ul>
 <a name="masterRequest--">
@@ -348,7 +348,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>masterRequest</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.454">masterRequest</a>()</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.479">masterRequest</a>()</pre>
 </li>
 </ul>
 <a name="adminRequest--">
@@ -357,7 +357,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>adminRequest</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.529">adminRequest</a>()</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.554">adminRequest</a>()</pre>
 </li>
 </ul>
 <a name="serverRequest--">
@@ -366,7 +366,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>serverRequest</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.596">serverRequest</a>()</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.html#line.621">serverRequest</a>()</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html
index f6c029d0531..cf55d734050 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.156">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl</a>
+<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.157">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl</a>
 extends <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>
 implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer.ScanController</a></pre>
 </li>
@@ -240,7 +240,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>callerThread</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.159">callerThread</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.160">callerThread</a></pre>
 </li>
 </ul>
 <a name="cursor">
@@ -249,7 +249,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>cursor</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client">Cursor</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.161">cursor</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client">Cursor</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.162">cursor</a></pre>
 </li>
 </ul>
 <a name="state">
@@ -258,7 +258,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>state</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.167">state</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.168">state</a></pre>
 </li>
 </ul>
 <a name="resumer">
@@ -267,7 +267,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resumer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.169">resumer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.170">resumer</a></pre>
 </li>
 </ul>
 </li>
@@ -284,7 +284,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ScanControllerImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.171">ScanControllerImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client">Cursor</a>&gt;&nbsp;cursor)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.172">ScanControllerImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client">Cursor</a>&gt;&nbsp;cursor)</pre>
 </li>
 </ul>
 </li>
@@ -301,7 +301,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>preCheck</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.176">preCheck</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.177">preCheck</a>()</pre>
 </li>
 </ul>
 <a name="suspend--">
@@ -310,7 +310,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>suspend</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer.ScanResumer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.186">suspend</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer.ScanResumer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.187">suspend</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.ScanController.html#suspend--">AdvancedScanResultConsumer.ScanController</a></code></span></div>
 <div class="block">Suspend the scan.
  <p>
@@ -330,7 +330,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>terminate</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.195">terminate</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.196">terminate</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.ScanController.html#terminate--">AdvancedScanResultConsumer.ScanController</a></code></span></div>
 <div class="block">Terminate the scan.
  <p>
@@ -348,7 +348,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>destroy</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.201">destroy</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.202">destroy</a>()</pre>
 </li>
 </ul>
 <a name="cursor--">
@@ -357,7 +357,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cursor</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client">Cursor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.208">cursor</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Cursor.html" title="class in org.apache.hadoop.hbase.client">Cursor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#line.209">cursor</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.ScanController.html#cursor--">AdvancedScanResultConsumer.ScanController</a></code></span></div>
 <div class="block">Get the scan cursor if available.</div>
 <dl>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html
index 27b408c49aa..de25d81fddc 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.132">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a>
+<pre>private static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.133">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</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/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a>&gt;</pre>
 </li>
 </ul>
@@ -216,7 +216,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>INITIALIZED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.133">INITIALIZED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.134">INITIALIZED</a></pre>
 </li>
 </ul>
 <a name="SUSPENDED">
@@ -225,7 +225,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>SUSPENDED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.134">SUSPENDED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.135">SUSPENDED</a></pre>
 </li>
 </ul>
 <a name="TERMINATED">
@@ -234,7 +234,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>TERMINATED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.135">TERMINATED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.136">TERMINATED</a></pre>
 </li>
 </ul>
 <a name="DESTROYED">
@@ -243,7 +243,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DESTROYED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.136">DESTROYED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.137">DESTROYED</a></pre>
 </li>
 </ul>
 </li>
@@ -260,7 +260,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/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.132">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.133">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:
@@ -280,7 +280,7 @@ for (AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState c : AsyncScanSin
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.132">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-externa [...]
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html#line.133">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-externa [...]
 <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/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html
index b88d6c6c5b9..efb101ef8a8 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.232">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl</a>
+<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.233">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl</a>
 extends <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>
 implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer.ScanResumer</a></pre>
 </li>
@@ -235,7 +235,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>state</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.236">state</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.237">state</a></pre>
 </li>
 </ul>
 <a name="resp">
@@ -244,7 +244,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>resp</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.238">resp</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.239">resp</a></pre>
 </li>
 </ul>
 <a name="numberOfCompleteRows">
@@ -253,7 +253,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>numberOfCompleteRows</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.240">numberOfCompleteRows</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.241">numberOfCompleteRows</a></pre>
 </li>
 </ul>
 <a name="leaseRenewer">
@@ -262,7 +262,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>leaseRenewer</h4>
-<pre>private&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timeout <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.248">leaseRenewer</a></pre>
+<pre>private&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timeout <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.249">leaseRenewer</a></pre>
 </li>
 </ul>
 </li>
@@ -279,7 +279,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ScanResumerImpl</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.232">ScanResumerImpl</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.233">ScanResumerImpl</a>()</pre>
 </li>
 </ul>
 </li>
@@ -296,7 +296,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>resume</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.251">resume</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.252">resume</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.ScanResumer.html#resume--">AdvancedScanResultConsumer.ScanResumer</a></code></span></div>
 <div class="block">Resume the scan. You are free to call it multiple time but only the first call will take
  effect.</div>
@@ -312,7 +312,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>scheduleRenewLeaseTask</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.279">scheduleRenewLeaseTask</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.280">scheduleRenewLeaseTask</a>()</pre>
 </li>
 </ul>
 <a name="tryRenewLease--">
@@ -321,7 +321,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockList">
 <li class="blockList">
 <h4>tryRenewLease</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.284">tryRenewLease</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.285">tryRenewLease</a>()</pre>
 </li>
 </ul>
 <a name="prepare-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse-int-">
@@ -330,7 +330,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanRe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>prepare</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.296">prepare</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse&nbsp;resp,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerImpl.html#line.297">prepare</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse&nbsp;resp,
                 int&nbsp;numberOfCompleteRows)</pre>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html
index c2291938af4..82c2ab8976c 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.213">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a>
+<pre>private static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.214">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</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/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a>&gt;</pre>
 </li>
 </ul>
@@ -213,7 +213,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>INITIALIZED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.214">INITIALIZED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.215">INITIALIZED</a></pre>
 </li>
 </ul>
 <a name="SUSPENDED">
@@ -222,7 +222,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>SUSPENDED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.215">SUSPENDED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.216">SUSPENDED</a></pre>
 </li>
 </ul>
 <a name="RESUMED">
@@ -231,7 +231,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RESUMED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.216">RESUMED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.217">RESUMED</a></pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,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/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.213">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.214">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:
@@ -268,7 +268,7 @@ for (AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState c : AsyncScanSingle
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.213">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" t [...]
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html#line.214">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" t [...]
 <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/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html
index 31c6c9066ed..a69191db092 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.75">AsyncScanSingleRegionRpcRetryingCaller</a>
+class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.76">AsyncScanSingleRegionRpcRetryingCaller</a>
 extends <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></pre>
 <div class="block">Retry caller for scanning a region.
  <p>
@@ -288,7 +288,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#AsyncScanSingleRegionRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.hbase.client.ScanResultCache-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org. [...]
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#AsyncScanSingleRegionRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.hbase.client.ScanResultCache-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org. [...]
                                       <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                                       <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                       <a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a>&nbsp;scanMetrics,
@@ -305,7 +305,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                                       int&nbsp;maxAttempts,
                                       long&nbsp;scanTimeoutNs,
                                       long&nbsp;rpcTimeoutNs,
-                                      int&nbsp;startLogErrorsCnt)</code>&nbsp;</td>
+                                      int&nbsp;startLogErrorsCnt,
+                                      <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>,byte[]&gt;&nbsp;requestAttributes)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -421,7 +422,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.77">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.78">LOG</a></pre>
 </li>
 </ul>
 <a name="retryTimer">
@@ -430,7 +431,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>retryTimer</h4>
-<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.80">retryTimer</a></pre>
+<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.util.Timer <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.81">retryTimer</a></pre>
 </li>
 </ul>
 <a name="scan">
@@ -439,7 +440,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scan</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.82">scan</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.83">scan</a></pre>
 </li>
 </ul>
 <a name="scanMetrics">
@@ -448,7 +449,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scanMetrics</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.84">scanMetrics</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.85">scanMetrics</a></pre>
 </li>
 </ul>
 <a name="scannerId">
@@ -457,7 +458,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerId</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.86">scannerId</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.87">scannerId</a></pre>
 </li>
 </ul>
 <a name="resultCache">
@@ -466,7 +467,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>resultCache</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.88">resultCache</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.89">resultCache</a></pre>
 </li>
 </ul>
 <a name="consumer">
@@ -475,7 +476,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>consumer</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.90">consumer</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AdvancedScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">AdvancedScanResultConsumer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.91">consumer</a></pre>
 </li>
 </ul>
 <a name="stub">
@@ -484,7 +485,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>stub</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.92">stub</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.93">stub</a></pre>
 </li>
 </ul>
 <a name="loc">
@@ -493,7 +494,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>loc</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.94">loc</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.95">loc</a></pre>
 </li>
 </ul>
 <a name="regionServerRemote">
@@ -502,7 +503,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServerRemote</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.96">regionServerRemote</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.97">regionServerRemote</a></pre>
 </li>
 </ul>
 <a name="priority">
@@ -511,7 +512,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.98">priority</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.99">priority</a></pre>
 </li>
 </ul>
 <a name="scannerLeaseTimeoutPeriodNs">
@@ -520,7 +521,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerLeaseTimeoutPeriodNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.100">scannerLeaseTimeoutPeriodNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.101">scannerLeaseTimeoutPeriodNs</a></pre>
 </li>
 </ul>
 <a name="maxAttempts">
@@ -529,7 +530,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.102">maxAttempts</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.103">maxAttempts</a></pre>
 </li>
 </ul>
 <a name="scanTimeoutNs">
@@ -538,7 +539,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scanTimeoutNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.104">scanTimeoutNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.105">scanTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="rpcTimeoutNs">
@@ -547,7 +548,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeoutNs</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.106">rpcTimeoutNs</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.107">rpcTimeoutNs</a></pre>
 </li>
 </ul>
 <a name="startLogErrorsCnt">
@@ -556,7 +557,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>startLogErrorsCnt</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.108">startLogErrorsCnt</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.109">startLogErrorsCnt</a></pre>
 </li>
 </ul>
 <a name="completeWhenNoMoreResultsInRegion">
@@ -565,7 +566,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>completeWhenNoMoreResultsInRegion</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.110">completeWhenNoMoreResultsInRegion</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.111">completeWhenNoMoreResultsInRegion</a></pre>
 </li>
 </ul>
 <a name="conn">
@@ -574,7 +575,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>conn</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.112">conn</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.113">conn</a></pre>
 </li>
 </ul>
 <a name="future">
@@ -583,7 +584,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>future</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.114">future</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.115">future</a></pre>
 </li>
 </ul>
 <a name="controller">
@@ -592,7 +593,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>controller</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.116">controller</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.117">controller</a></pre>
 </li>
 </ul>
 <a name="nextStartRowWhenError">
@@ -601,7 +602,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>nextStartRowWhenError</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.118">nextStartRowWhenError</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.119">nextStartRowWhenError</a></pre>
 </li>
 </ul>
 <a name="includeNextStartRowWhenError">
@@ -610,7 +611,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>includeNextStartRowWhenError</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.120">includeNextStartRowWhenError</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.121">includeNextStartRowWhenError</a></pre>
 </li>
 </ul>
 <a name="nextCallStartNs">
@@ -619,7 +620,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>nextCallStartNs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.122">nextCallStartNs</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.123">nextCallStartNs</a></pre>
 </li>
 </ul>
 <a name="tries">
@@ -628,7 +629,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tries</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.124">tries</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.125">tries</a></pre>
 </li>
 </ul>
 <a name="exceptions">
@@ -637,7 +638,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>exceptions</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RetriesExhaustedException.ThrowableWithExtraContext.html" title="class in org.apache.hadoop.hbase.client">RetriesExhaustedException.ThrowableWithExtraContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.htm [...]
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RetriesExhaustedException.ThrowableWithExtraContext.html" title="class in org.apache.hadoop.hbase.client">RetriesExhaustedException.ThrowableWithExtraContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.htm [...]
 </li>
 </ul>
 <a name="nextCallSeq">
@@ -646,7 +647,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>nextCallSeq</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.128">nextCallSeq</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.129">nextCallSeq</a></pre>
 </li>
 </ul>
 <a name="pauseManager">
@@ -655,7 +656,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>pauseManager</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/backoff/HBaseServerExceptionPauseManager.html" title="class in org.apache.hadoop.hbase.client.backoff">HBaseServerExceptionPauseManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.130">pauseManager</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/backoff/HBaseServerExceptionPauseManager.html" title="class in org.apache.hadoop.hbase.client.backoff">HBaseServerExceptionPauseManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.131">pauseManager</a></pre>
 </li>
 </ul>
 </li>
@@ -666,13 +667,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="AsyncScanSingleRegionRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.hbase.client.ScanResultCache-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface-org.apache.hadoop.hbase.HRegionLocation-boolean-int-long-long [...]
+<a name="AsyncScanSingleRegionRpcRetryingCaller-org.apache.hbase.thirdparty.io.netty.util.Timer-org.apache.hadoop.hbase.client.AsyncConnectionImpl-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.hbase.client.ScanResultCache-org.apache.hadoop.hbase.client.AdvancedScanResultConsumer-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface-org.apache.hadoop.hbase.HRegionLocation-boolean-int-long-long [...]
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncScanSingleRegionRpcRetryingCaller</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.314">AsyncScanSingleRegionRpcRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.html#line.315">AsyncScanSingleRegionRpcRetryingCaller</a>(org.apache.hbase.thirdparty.io.netty.util.Timer&nbsp;retryTimer,
                                               <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a>&nbsp;conn,
                                               <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                               <a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a>&nbsp;scanMetrics,
@@ -689,7 +690,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                                               int&nbsp;maxAttempts,
                                               long&nbsp;scanTimeoutNs,
                                               long&nbsp;rpcTimeoutNs,
... 69112 lines suppressed ...