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 8532f00 Published site at 7466e08aec99b24d7317b9d760ae1f6933557d00.
8532f00 is described below
commit 8532f0023402403162ca87ba0a5545c55eb606f0
Author: jenkins <[email protected]>
AuthorDate: Wed Jun 16 20:19:53 2021 +0000
Published site at 7466e08aec99b24d7317b9d760ae1f6933557d00.
---
acid-semantics.html | 2 +-
apache_hbase_reference_guide.pdf | 4 +-
book.html | 2 +-
bulk-loads.html | 2 +-
checkstyle-aggregate.html | 10 +-
coc.html | 2 +-
dependencies.html | 2 +-
dependency-convergence.html | 2 +-
dependency-info.html | 2 +-
dependency-management.html | 2 +-
devapidocs/index-all.html | 2 +-
.../hadoop/hbase/client/AsyncConnectionImpl.html | 90 +--
.../hadoop/hbase/client/AsyncConnectionImpl.html | 689 +++++++++++----------
downloads.html | 2 +-
export_control.html | 2 +-
index.html | 2 +-
issue-tracking.html | 2 +-
mail-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 +-
project-summary.html | 2 +-
pseudo-distributed.html | 2 +-
replication.html | 2 +-
resources.html | 2 +-
source-repository.html | 2 +-
sponsors.html | 2 +-
supportingprojects.html | 2 +-
team-list.html | 2 +-
33 files changed, 426 insertions(+), 425 deletions(-)
diff --git a/acid-semantics.html b/acid-semantics.html
index b8bbaf4..6c685e0 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -467,7 +467,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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 3cd62c7..3274550 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
/Author (Apache HBase Team)
/Creator (Asciidoctor PDF 1.5.3, based on Prawn 2.2.2)
/Producer (Apache HBase Team)
-/ModDate (D:20210615200605+00'00')
-/CreationDate (D:20210615201739+00'00')
+/ModDate (D:20210616200540+00'00')
+/CreationDate (D:20210616201756+00'00')
>>
endobj
2 0 obj
diff --git a/book.html b/book.html
index 85284e2..0527179 100644
--- a/book.html
+++ b/book.html
@@ -46192,7 +46192,7 @@
org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
<div id="footer">
<div id="footer-text">
Version 3.0.0-SNAPSHOT<br>
-Last updated 2021-06-15 20:06:05 UTC
+Last updated 2021-06-16 20:05:40 UTC
</div>
</div>
<link rel="stylesheet" href="./coderay-asciidoctor.css">
diff --git a/bulk-loads.html b/bulk-loads.html
index 5bde186..daec9e8 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -172,7 +172,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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 22460c3..902a4b8 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7393,12 +7393,12 @@
<td><a class="externalLink"
href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation">JavadocTagContinuationIndentation</a>
<ul>
<li>offset: <tt>"2"</tt></li></ul></td>
-<td>526</td>
+<td>524</td>
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td></tr>
<tr class="a">
<td></td>
<td><a class="externalLink"
href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>2226</td>
+<td>2228</td>
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td></tr>
<tr class="b">
<td>misc</td>
@@ -34899,7 +34899,7 @@
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
<td>Javadoc comment at column 14 has parse error. Details: mismatched input
':' expecting <EOF> while parsing JAVADOC</td>
<td>46</td></tr></table></div>
<div class="section">
@@ -49983,7 +49983,7 @@
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
<td>Javadoc comment at column 54 has parse error. Details: no viable
alternative at input '(' while parsing JAVADOC_INLINE_TAG</td>
<td>59</td></tr>
<tr class="a">
@@ -73511,7 +73511,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/coc.html b/coc.html
index a5f3222..a1e2db8 100644
--- a/coc.html
+++ b/coc.html
@@ -241,7 +241,7 @@ email to <a class="externalLink"
href="mailto:[email protected]">the priv
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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 7507ad3..e4fb82a 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -313,7 +313,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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 d67044c..161a5c5 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -875,7 +875,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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 4c67cc8..94c972c 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -194,7 +194,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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 dce4786..7c2a2f5 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -1201,7 +1201,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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 9fc82c1..a7fe431 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -2873,7 +2873,7 @@
<dd> </dd>
<dt><span class="memberNameLink"><a
href="org/apache/hadoop/hbase/http/HttpServer.Builder.html#adminsAcl">adminsAcl</a></span>
- Variable in class org.apache.hadoop.hbase.http.<a
href="org/apache/hadoop/hbase/http/HttpServer.Builder.html" title="class in
org.apache.hadoop.hbase.http">HttpServer.Builder</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a
href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#adminSubs">adminSubs</a></span>
- Variable 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>
+<dt><span class="memberNameLink"><a
href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#adminStubs">adminStubs</a></span>
- Variable 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>
<dd> </dd>
<dt><span class="memberNameLink"><a
href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#adoptAbandonedQueues--">adoptAbandonedQueues()</a></span>
- Method in class org.apache.hadoop.hbase.replication.regionserver.<a
href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html"
title="class in
org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a></dt>
<dd> </dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
b/devapidocs/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
index c786f84..46411b6 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
@@ -142,7 +142,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <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><<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></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#adminSubs">adminSubs</a></span></code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#adminStubs">adminStubs</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a
href="../../../../../org/apache/hadoop/hbase/client/backoff/ClientBackoffPolicy.html"
title="interface in
org.apache.hadoop.hbase.client.backoff">ClientBackoffPolicy</a></code></td>
@@ -568,13 +568,13 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<pre>private final <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><<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>
<a href="../../../../../src-html/org/apache/hadoop/hba [...]
</li>
</ul>
-<a name="adminSubs">
+<a name="adminStubs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>adminSubs</h4>
-<pre>private final <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><<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>
<a href="../../../../../src-html/org/apache/hadoop/hbase [...]
+<h4>adminStubs</h4>
+<pre>private final <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><<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>
<a href="../../../../../src-html/org/apache/hadoop/hbase [...]
</li>
</ul>
<a name="masterStub">
@@ -583,7 +583,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>masterStub</h4>
-<pre>private final <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><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface>
<a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.108">masterStub</a></pre>
+<pre>private final <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><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface>
<a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.109">masterStub</a></pre>
</li>
</ul>
<a name="masterStubMakeFuture">
@@ -592,7 +592,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>masterStubMakeFuture</h4>
-<pre>private final <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><<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><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Int
[...]
+<pre>private final <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><<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><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Int
[...]
</li>
</ul>
<a name="stats">
@@ -601,7 +601,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>stats</h4>
-<pre>private final <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><<a
href="../../../../../org/apache/hadoop/hbase/client/ServerStatisticTracker.html"
title="class in org.apache.hadoop.hbase.client">ServerStatisticTracker</a>>
<a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.113">stats</a></pre>
+<pre>private final <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><<a
href="../../../../../org/apache/hadoop/hbase/client/ServerStatisticTracker.html"
title="class in org.apache.hadoop.hbase.client">ServerStatisticTracker</a>>
<a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.114">stats</a></pre>
</li>
</ul>
<a name="backoffPolicy">
@@ -610,7 +610,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>backoffPolicy</h4>
-<pre>private final <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.114">backoffPolicy</a></pre>
+<pre>private final <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>
</li>
</ul>
<a name="choreService">
@@ -619,7 +619,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>choreService</h4>
-<pre>private <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.116">choreService</a></pre>
+<pre>private <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>
</li>
</ul>
<a name="closed">
@@ -628,7 +628,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>closed</h4>
-<pre>private final <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.118">closed</a></pre>
+<pre>private final <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>
</li>
</ul>
<a name="metrics">
@@ -637,7 +637,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>metrics</h4>
-<pre>private final <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><<a
href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.html"
title="class in org.apache.hadoop.hbase.client">MetricsConnection</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.120">metrics</a></pre>
+<pre>private final <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><<a
href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.html"
title="class in org.apache.hadoop.hbase.client">MetricsConnection</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.121">metrics</a></pre>
</li>
</ul>
<a name="clusterStatusListener">
@@ -646,7 +646,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>clusterStatusListener</h4>
-<pre>private final <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.122">clusterStatusListener</a></pre>
+<pre>private final <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.123">clusterStatusListener</a></pre>
</li>
</ul>
<a name="conn">
@@ -655,7 +655,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockListLast">
<li class="blockList">
<h4>conn</h4>
-<pre>private volatile <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.124">conn</a></pre>
+<pre>private volatile <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.125">conn</a></pre>
</li>
</ul>
</li>
@@ -672,7 +672,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockListLast">
<li class="blockList">
<h4>AsyncConnectionImpl</h4>
-<pre>public <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.126">AsyncConnectionImpl</a>(org.apache.hadoop.conf.Configuration conf,
+<pre>public <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.127">AsyncConnectionImpl</a>(org.apache.hadoop.conf.Configuration conf,
<a
href="../../../../../org/apache/hadoop/hbase/client/ConnectionRegistry.html"
title="interface in
org.apache.hadoop.hbase.client">ConnectionRegistry</a> 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> 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> localAddress,
@@ -693,7 +693,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>spawnRenewalChore</h4>
-<pre>private void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.180">spawnRenewalChore</a>(org.apache.hadoop.security.UserGroupInformation user)</pre>
+<pre>private void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.181">spawnRenewalChore</a>(org.apache.hadoop.security.UserGroupInformation user)</pre>
</li>
</ul>
<a name="getChoreService--">
@@ -702,7 +702,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> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.189">getChoreService</a>()</pre>
+<pre><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.190">getChoreService</a>()</pre>
<div class="block">If choreService has not been created yet, create the
ChoreService.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -716,7 +716,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getConfiguration</h4>
-<pre>public org.apache.hadoop.conf.Configuration <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.200">getConfiguration</a>()</pre>
+<pre>public org.apache.hadoop.conf.Configuration <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.201">getConfiguration</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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>
@@ -733,7 +733,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
-<pre>public boolean <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.205">isClosed</a>()</pre>
+<pre>public boolean <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.206">isClosed</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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>
@@ -750,7 +750,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.210">close</a>()</pre>
+<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.211">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> in
interface <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>
@@ -765,7 +765,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>logCallStack</h4>
-<pre>private void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.237">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>[] stackTraceElements)</pre>
+<pre>private void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.238">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>[] stackTraceElements)</pre>
</li>
</ul>
<a name="getRegionLocator-org.apache.hadoop.hbase.TableName-">
@@ -774,7 +774,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getRegionLocator</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.248">getRegionLocator</a>(<a
href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> tableName)</pre>
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.249">getRegionLocator</a>(<a
href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> tableName)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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
@@ -796,7 +796,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>clearRegionLocationCache</h4>
-<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.253">clearRegionLocationCache</a>()</pre>
+<pre>public void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.254">clearRegionLocationCache</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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/>
@@ -816,7 +816,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> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.258">getLocator</a>()</pre>
+<pre><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.259">getLocator</a>()</pre>
</li>
</ul>
<a name="getNonceGenerator--">
@@ -825,7 +825,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> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.263">getNonceGenerator</a>()</pre>
+<pre><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.264">getNonceGenerator</a>()</pre>
</li>
</ul>
<a name="createRegionServerStub-org.apache.hadoop.hbase.ServerName-">
@@ -834,7 +834,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>createRegionServerStub</h4>
-<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.267">createRegionServerStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> serverName)
+<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.268">createRegionServerStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> 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>
@@ -848,7 +848,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 <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.271">getRegionServerStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> serverName)
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.Interface <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.272">getRegionServerStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> 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>
@@ -862,7 +862,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>createMasterStub</h4>
-<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.277">createMasterStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> serverName)
+<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.278">createMasterStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> 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>
@@ -876,7 +876,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>createAdminServerStub</h4>
-<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.281">createAdminServerStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> serverName)
+<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.282">createAdminServerStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> 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>
@@ -890,7 +890,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 <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.285">getAdminStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> serverName)
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.286">getAdminStub</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> 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>
@@ -904,7 +904,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><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.291">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><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.292">getMasterStub</a>()</pre>
</li>
</ul>
<a name="getClusterId--">
@@ -913,7 +913,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> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.314">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> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.315">getClusterId</a>()</pre>
</li>
</ul>
<a
name="clearMasterStubCache-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface-">
@@ -922,7 +922,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>clearMasterStubCache</h4>
-<pre>void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.323">clearMasterStubCache</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface stub)</pre>
+<pre>void <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.324">clearMasterStubCache</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface stub)</pre>
</li>
</ul>
<a name="getStatisticsTracker--">
@@ -931,7 +931,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><<a
href="../../../../../org/apache/hadoop/hbase/client/ServerStatisticTracker.html"
title="class in
org.apache.hadoop.hbase.client">ServerStatisticTracker</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.327">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><<a
href="../../../../../org/apache/hadoop/hbase/client/ServerStatisticTracker.html"
title="class in
org.apache.hadoop.hbase.client">ServerStatisticTracker</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.328">getStatisticsTracker</a>()</pre>
</li>
</ul>
<a name="getBackoffPolicy--">
@@ -940,7 +940,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> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.331">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> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.332">getBackoffPolicy</a>()</pre>
</li>
</ul>
<a name="getTableBuilder-org.apache.hadoop.hbase.TableName-">
@@ -949,7 +949,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getTableBuilder</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html"
title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a><<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/AsyncConnectionImpl.html#line.336">getTableBuilder</a>(<a
href="../../../.. [...]
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html"
title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a><<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/AsyncConnectionImpl.html#line.337">getTableBuilder</a>(<a
href="../../../.. [...]
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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>
@@ -969,7 +969,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getTableBuilder</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html"
title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a><<a
href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html"
title="interface in
org.apache.hadoop.hbase.client">ScanResultConsumer</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.347">getTableBuilder</a>(<a
href="../../../../../org/apache/h [...]
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html"
title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a><<a
href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html"
title="interface in
org.apache.hadoop.hbase.client">ScanResultConsumer</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.348">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> pool)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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>.
@@ -991,7 +991,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getAdminBuilder</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncAdminBuilder</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.361">getAdminBuilder</a>()</pre>
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncAdminBuilder</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.362">getAdminBuilder</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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>
@@ -1010,7 +1010,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getAdminBuilder</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncAdminBuilder</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.371">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> pool)</pre>
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncAdminBuilder.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncAdminBuilder</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.372">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> pool)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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>
@@ -1027,7 +1027,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getBufferedMutatorBuilder</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.383">getBufferedMutatorBuilder</a>(<a
href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> tableName)</pre>
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.384">getBufferedMutatorBuilder</a>(<a
href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> tableName)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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>
@@ -1044,7 +1044,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getBufferedMutatorBuilder</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.388">getBufferedMutatorBuilder</a>(<a
href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> tableName,
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorBuilder.html"
title="interface in
org.apache.hadoop.hbase.client">AsyncBufferedMutatorBuilder</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.389">getBufferedMutatorBuilder</a>(<a
href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> 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> pool)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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>
@@ -1063,7 +1063,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>toConnection</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/Connection.html"
title="interface in org.apache.hadoop.hbase.client">Connection</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.395">toConnection</a>()</pre>
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/Connection.html"
title="interface in org.apache.hadoop.hbase.client">Connection</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.396">toConnection</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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/>
@@ -1081,7 +1081,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getHbckInternal</h4>
-<pre>private <a
href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface
in org.apache.hadoop.hbase.client">Hbck</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.411">getHbckInternal</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> masterServer)</pre>
+<pre>private <a
href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface
in org.apache.hadoop.hbase.client">Hbck</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.412">getHbckInternal</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> masterServer)</pre>
</li>
</ul>
<a name="getHbck--">
@@ -1090,7 +1090,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getHbck</h4>
-<pre>public <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><<a
href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface
in org.apache.hadoop.hbase.client">Hbck</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.421">getHbck</a>()</pre>
+<pre>public <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><<a
href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface
in org.apache.hadoop.hbase.client">Hbck</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.422">getHbck</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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
@@ -1113,7 +1113,7 @@ implements <a
href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectio
<ul class="blockList">
<li class="blockList">
<h4>getHbck</h4>
-<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface
in org.apache.hadoop.hbase.client">Hbck</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.436">getHbck</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> masterServer)</pre>
+<pre>public <a
href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface
in org.apache.hadoop.hbase.client">Hbck</a> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.437">getHbck</a>(<a
href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in
org.apache.hadoop.hbase">ServerName</a> masterServer)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from
interface: <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
@@ -1140,7 +1140,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><<a
href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.html"
title="class in
org.apache.hadoop.hbase.client">MetricsConnection</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.446">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><<a
href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.html"
title="class in
org.apache.hadoop.hbase.client">MetricsConnection</a>> <a
href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#line.447">getConnectionMetrics</a>()</pre>
</li>
</ul>
</li>
diff --git
a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
index 9299e6f..39f12bb 100644
---
a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
+++
b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncConnectionImpl.html
@@ -111,350 +111,351 @@
<span class="sourceLineNo">103</span> private final NonceGenerator
nonceGenerator;<a name="line.103"></a>
<span class="sourceLineNo">104</span><a name="line.104"></a>
<span class="sourceLineNo">105</span> private final ConcurrentMap<String,
ClientService.Interface> rsStubs = new ConcurrentHashMap<>();<a
name="line.105"></a>
-<span class="sourceLineNo">106</span> private final ConcurrentMap<String,
AdminService.Interface> adminSubs = new ConcurrentHashMap<>();<a
name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span> private final
AtomicReference<MasterService.Interface> masterStub = new
AtomicReference<>();<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span> private final
AtomicReference<CompletableFuture<MasterService.Interface>>
masterStubMakeFuture =<a name="line.110"></a>
-<span class="sourceLineNo">111</span> new AtomicReference<>();<a
name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span> private final
Optional<ServerStatisticTracker> stats;<a name="line.113"></a>
-<span class="sourceLineNo">114</span> private final ClientBackoffPolicy
backoffPolicy;<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span> private ChoreService choreService;<a
name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> private final AtomicBoolean closed =
new AtomicBoolean(false);<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span> private final
Optional<MetricsConnection> metrics;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span> private final ClusterStatusListener
clusterStatusListener;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span> private volatile
ConnectionOverAsyncConnection conn;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span> public
AsyncConnectionImpl(Configuration conf, ConnectionRegistry registry, String
clusterId,<a name="line.126"></a>
-<span class="sourceLineNo">127</span> SocketAddress localAddress, User
user) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span> this.conf = conf;<a
name="line.128"></a>
-<span class="sourceLineNo">129</span> this.user = user;<a
name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span> if (user.isLoginFromKeytab()) {<a
name="line.131"></a>
-<span class="sourceLineNo">132</span> spawnRenewalChore(user.getUGI());<a
name="line.132"></a>
-<span class="sourceLineNo">133</span> }<a name="line.133"></a>
-<span class="sourceLineNo">134</span> this.connConf = new
AsyncConnectionConfiguration(conf);<a name="line.134"></a>
-<span class="sourceLineNo">135</span> this.registry = registry;<a
name="line.135"></a>
-<span class="sourceLineNo">136</span> if
(conf.getBoolean(CLIENT_SIDE_METRICS_ENABLED_KEY, false)) {<a
name="line.136"></a>
-<span class="sourceLineNo">137</span> this.metrics = Optional.of(new
MetricsConnection(this.toString(), () -> null, () -> null));<a
name="line.137"></a>
-<span class="sourceLineNo">138</span> } else {<a name="line.138"></a>
-<span class="sourceLineNo">139</span> this.metrics = Optional.empty();<a
name="line.139"></a>
-<span class="sourceLineNo">140</span> }<a name="line.140"></a>
-<span class="sourceLineNo">141</span> this.rpcClient =<a
name="line.141"></a>
-<span class="sourceLineNo">142</span> RpcClientFactory.createClient(conf,
clusterId, localAddress, metrics.orElse(null));<a name="line.142"></a>
-<span class="sourceLineNo">143</span> this.rpcControllerFactory =
RpcControllerFactory.instantiate(conf);<a name="line.143"></a>
-<span class="sourceLineNo">144</span> this.rpcTimeout =<a
name="line.144"></a>
-<span class="sourceLineNo">145</span> (int) Math.min(Integer.MAX_VALUE,
TimeUnit.NANOSECONDS.toMillis(connConf.getRpcTimeoutNs()));<a
name="line.145"></a>
-<span class="sourceLineNo">146</span> this.locator = new
AsyncRegionLocator(this, RETRY_TIMER);<a name="line.146"></a>
-<span class="sourceLineNo">147</span> this.callerFactory = new
AsyncRpcRetryingCallerFactory(this, RETRY_TIMER);<a name="line.147"></a>
-<span class="sourceLineNo">148</span> if
(conf.getBoolean(CLIENT_NONCES_ENABLED_KEY, true)) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span> nonceGenerator =
PerClientRandomNonceGenerator.get();<a name="line.149"></a>
-<span class="sourceLineNo">150</span> } else {<a name="line.150"></a>
-<span class="sourceLineNo">151</span> nonceGenerator =
NO_NONCE_GENERATOR;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> }<a name="line.152"></a>
-<span class="sourceLineNo">153</span> this.stats =
Optional.ofNullable(ServerStatisticTracker.create(conf));<a name="line.153"></a>
-<span class="sourceLineNo">154</span> this.backoffPolicy =
ClientBackoffPolicyFactory.create(conf);<a name="line.154"></a>
-<span class="sourceLineNo">155</span> ClusterStatusListener listener =
null;<a name="line.155"></a>
-<span class="sourceLineNo">156</span> if (conf.getBoolean(STATUS_PUBLISHED,
STATUS_PUBLISHED_DEFAULT)) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span> // TODO: this maybe a blocking
operation, better to create it outside the constructor and pass<a
name="line.157"></a>
-<span class="sourceLineNo">158</span> // it in, just like clusterId. Not
a big problem for now as the default value is false.<a name="line.158"></a>
-<span class="sourceLineNo">159</span> Class<? extends
ClusterStatusListener.Listener> listenerClass = conf.getClass(<a
name="line.159"></a>
-<span class="sourceLineNo">160</span> STATUS_LISTENER_CLASS,
DEFAULT_STATUS_LISTENER_CLASS, ClusterStatusListener.Listener.class);<a
name="line.160"></a>
-<span class="sourceLineNo">161</span> if (listenerClass == null) {<a
name="line.161"></a>
-<span class="sourceLineNo">162</span> LOG.warn("{} is true, but {} is
not set", STATUS_PUBLISHED, STATUS_LISTENER_CLASS);<a name="line.162"></a>
-<span class="sourceLineNo">163</span> } else {<a name="line.163"></a>
-<span class="sourceLineNo">164</span> try {<a name="line.164"></a>
-<span class="sourceLineNo">165</span> listener = new
ClusterStatusListener(new ClusterStatusListener.DeadServerHandler() {<a
name="line.165"></a>
-<span class="sourceLineNo">166</span> @Override<a
name="line.166"></a>
-<span class="sourceLineNo">167</span> public void
newDead(ServerName sn) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span> locator.clearCache(sn);<a
name="line.168"></a>
-<span class="sourceLineNo">169</span>
rpcClient.cancelConnections(sn);<a name="line.169"></a>
-<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> }, conf, listenerClass);<a
name="line.171"></a>
-<span class="sourceLineNo">172</span> } catch (IOException e) {<a
name="line.172"></a>
-<span class="sourceLineNo">173</span> LOG.warn("Failed create of
ClusterStatusListener, not a critical, ignoring...", e);<a name="line.173"></a>
-<span class="sourceLineNo">174</span> }<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> this.clusterStatusListener =
listener;<a name="line.177"></a>
-<span class="sourceLineNo">178</span> }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span> private void spawnRenewalChore(final
UserGroupInformation user) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span> ChoreService service =
getChoreService();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>
service.scheduleChore(AuthUtil.getAuthRenewalChore(user));<a
name="line.182"></a>
-<span class="sourceLineNo">183</span> }<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span> /**<a name="line.185"></a>
-<span class="sourceLineNo">186</span> * If choreService has not been created
yet, create the ChoreService.<a name="line.186"></a>
-<span class="sourceLineNo">187</span> * @return ChoreService<a
name="line.187"></a>
-<span class="sourceLineNo">188</span> */<a name="line.188"></a>
-<span class="sourceLineNo">189</span> synchronized ChoreService
getChoreService() {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> if (isClosed()) {<a
name="line.190"></a>
-<span class="sourceLineNo">191</span> throw new
IllegalStateException("connection is already closed");<a name="line.191"></a>
-<span class="sourceLineNo">192</span> }<a name="line.192"></a>
-<span class="sourceLineNo">193</span> if (choreService == null) {<a
name="line.193"></a>
-<span class="sourceLineNo">194</span> choreService = new
ChoreService("AsyncConn Chore Service");<a name="line.194"></a>
-<span class="sourceLineNo">195</span> }<a name="line.195"></a>
-<span class="sourceLineNo">196</span> return choreService;<a
name="line.196"></a>
-<span class="sourceLineNo">197</span> }<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span> @Override<a name="line.199"></a>
-<span class="sourceLineNo">200</span> public Configuration getConfiguration()
{<a name="line.200"></a>
-<span class="sourceLineNo">201</span> return conf;<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> @Override<a name="line.204"></a>
-<span class="sourceLineNo">205</span> public boolean isClosed() {<a
name="line.205"></a>
-<span class="sourceLineNo">206</span> return closed.get();<a
name="line.206"></a>
-<span class="sourceLineNo">207</span> }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span> @Override<a name="line.209"></a>
-<span class="sourceLineNo">210</span> public void close() {<a
name="line.210"></a>
-<span class="sourceLineNo">211</span> TraceUtil.trace(() -> {<a
name="line.211"></a>
-<span class="sourceLineNo">212</span> if (!closed.compareAndSet(false,
true)) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span> return;<a name="line.213"></a>
-<span class="sourceLineNo">214</span> }<a name="line.214"></a>
-<span class="sourceLineNo">215</span> LOG.info("Connection has been
closed by {}.", Thread.currentThread().getName());<a name="line.215"></a>
-<span class="sourceLineNo">216</span> if (LOG.isDebugEnabled()) {<a
name="line.216"></a>
-<span class="sourceLineNo">217</span>
logCallStack(Thread.currentThread().getStackTrace());<a name="line.217"></a>
-<span class="sourceLineNo">218</span> }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>
IOUtils.closeQuietly(clusterStatusListener,<a name="line.219"></a>
-<span class="sourceLineNo">220</span> e -> LOG.warn("failed to close
clusterStatusListener", e));<a name="line.220"></a>
-<span class="sourceLineNo">221</span> IOUtils.closeQuietly(rpcClient, e
-> LOG.warn("failed to close rpcClient", e));<a name="line.221"></a>
-<span class="sourceLineNo">222</span> IOUtils.closeQuietly(registry, e
-> LOG.warn("failed to close registry", e));<a name="line.222"></a>
-<span class="sourceLineNo">223</span> synchronized (this) {<a
name="line.223"></a>
-<span class="sourceLineNo">224</span> if (choreService != null) {<a
name="line.224"></a>
-<span class="sourceLineNo">225</span> choreService.shutdown();<a
name="line.225"></a>
-<span class="sourceLineNo">226</span> choreService = null;<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>
metrics.ifPresent(MetricsConnection::shutdown);<a name="line.229"></a>
-<span class="sourceLineNo">230</span> ConnectionOverAsyncConnection c =
this.conn;<a name="line.230"></a>
-<span class="sourceLineNo">231</span> if (c != null) {<a
name="line.231"></a>
-<span class="sourceLineNo">232</span> c.closePool();<a
name="line.232"></a>
-<span class="sourceLineNo">233</span> }<a name="line.233"></a>
-<span class="sourceLineNo">234</span> }, "AsyncConnection.close");<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> private void
logCallStack(StackTraceElement[] stackTraceElements) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span> StringBuilder stackBuilder = new
StringBuilder("Call stack:");<a name="line.238"></a>
-<span class="sourceLineNo">239</span> for (StackTraceElement element :
stackTraceElements) {<a name="line.239"></a>
-<span class="sourceLineNo">240</span> stackBuilder.append("\n at ");<a
name="line.240"></a>
-<span class="sourceLineNo">241</span> stackBuilder.append(element);<a
name="line.241"></a>
-<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> stackBuilder.append("\n");<a
name="line.243"></a>
-<span class="sourceLineNo">244</span> LOG.debug(stackBuilder.toString());<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> @Override<a name="line.247"></a>
-<span class="sourceLineNo">248</span> public AsyncTableRegionLocator
getRegionLocator(TableName tableName) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span> return new
AsyncTableRegionLocatorImpl(tableName, this);<a name="line.249"></a>
-<span class="sourceLineNo">250</span> }<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span> @Override<a name="line.252"></a>
-<span class="sourceLineNo">253</span> public void clearRegionLocationCache()
{<a name="line.253"></a>
-<span class="sourceLineNo">254</span> locator.clearCache();<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> // we will override this method for
testing retry caller, so do not remove this method.<a name="line.257"></a>
-<span class="sourceLineNo">258</span> AsyncRegionLocator getLocator() {<a
name="line.258"></a>
-<span class="sourceLineNo">259</span> return locator;<a name="line.259"></a>
-<span class="sourceLineNo">260</span> }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span> // ditto<a name="line.262"></a>
-<span class="sourceLineNo">263</span> NonceGenerator getNonceGenerator() {<a
name="line.263"></a>
-<span class="sourceLineNo">264</span> return nonceGenerator;<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> private ClientService.Interface
createRegionServerStub(ServerName serverName) throws IOException {<a
name="line.267"></a>
-<span class="sourceLineNo">268</span> return
ClientService.newStub(rpcClient.createRpcChannel(serverName, user,
rpcTimeout));<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> ClientService.Interface
getRegionServerStub(ServerName serverName) throws IOException {<a
name="line.271"></a>
-<span class="sourceLineNo">272</span> return
ConcurrentMapUtils.computeIfAbsentEx(rsStubs,<a name="line.272"></a>
-<span class="sourceLineNo">273</span>
getStubKey(ClientService.getDescriptor().getName(), serverName),<a
name="line.273"></a>
-<span class="sourceLineNo">274</span> () ->
createRegionServerStub(serverName));<a name="line.274"></a>
-<span class="sourceLineNo">275</span> }<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span> private MasterService.Interface
createMasterStub(ServerName serverName) throws IOException {<a
name="line.277"></a>
-<span class="sourceLineNo">278</span> return
MasterService.newStub(rpcClient.createRpcChannel(serverName, user,
rpcTimeout));<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> private AdminService.Interface
createAdminServerStub(ServerName serverName) throws IOException {<a
name="line.281"></a>
-<span class="sourceLineNo">282</span> return
AdminService.newStub(rpcClient.createRpcChannel(serverName, user,
rpcTimeout));<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> AdminService.Interface
getAdminStub(ServerName serverName) throws IOException {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> return
ConcurrentMapUtils.computeIfAbsentEx(adminSubs,<a name="line.286"></a>
-<span class="sourceLineNo">287</span>
getStubKey(AdminService.getDescriptor().getName(), serverName),<a
name="line.287"></a>
-<span class="sourceLineNo">288</span> () ->
createAdminServerStub(serverName));<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>
CompletableFuture<MasterService.Interface> getMasterStub() {<a
name="line.291"></a>
-<span class="sourceLineNo">292</span> return
ConnectionUtils.getOrFetch(masterStub, masterStubMakeFuture, false, () ->
{<a name="line.292"></a>
-<span class="sourceLineNo">293</span>
CompletableFuture<MasterService.Interface> future = new
CompletableFuture<>();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>
addListener(registry.getActiveMaster(), (addr, error) -> {<a
name="line.294"></a>
-<span class="sourceLineNo">295</span> if (error != null) {<a
name="line.295"></a>
-<span class="sourceLineNo">296</span>
future.completeExceptionally(error);<a name="line.296"></a>
-<span class="sourceLineNo">297</span> } else if (addr == null) {<a
name="line.297"></a>
-<span class="sourceLineNo">298</span>
future.completeExceptionally(new MasterNotRunningException(<a
name="line.298"></a>
-<span class="sourceLineNo">299</span> "ZooKeeper available but no
active master location found"));<a name="line.299"></a>
-<span class="sourceLineNo">300</span> } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> LOG.debug("The fetched master
address is {}", addr);<a name="line.301"></a>
-<span class="sourceLineNo">302</span> try {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>
future.complete(createMasterStub(addr));<a name="line.303"></a>
-<span class="sourceLineNo">304</span> } catch (IOException e) {<a
name="line.304"></a>
-<span class="sourceLineNo">305</span>
future.completeExceptionally(e);<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><a name="line.308"></a>
-<span class="sourceLineNo">309</span> });<a name="line.309"></a>
-<span class="sourceLineNo">310</span> return future;<a
name="line.310"></a>
-<span class="sourceLineNo">311</span> }, stub -> true, "master stub");<a
name="line.311"></a>
-<span class="sourceLineNo">312</span> }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span> String getClusterId() {<a
name="line.314"></a>
-<span class="sourceLineNo">315</span> try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span> return
registry.getClusterId().get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> } catch (InterruptedException |
ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span> LOG.error("Error fetching cluster
ID: ", e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span> }<a name="line.319"></a>
-<span class="sourceLineNo">320</span> return null;<a name="line.320"></a>
-<span class="sourceLineNo">321</span> }<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span> void
clearMasterStubCache(MasterService.Interface stub) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span> masterStub.compareAndSet(stub,
null);<a name="line.324"></a>
-<span class="sourceLineNo">325</span> }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span> Optional<ServerStatisticTracker>
getStatisticsTracker() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span> return stats;<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> ClientBackoffPolicy getBackoffPolicy()
{<a name="line.331"></a>
-<span class="sourceLineNo">332</span> return backoffPolicy;<a
name="line.332"></a>
-<span class="sourceLineNo">333</span> }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span> @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span> public
AsyncTableBuilder<AdvancedScanResultConsumer> getTableBuilder(TableName
tableName) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span> return new
AsyncTableBuilderBase<AdvancedScanResultConsumer>(tableName, connConf)
{<a name="line.337"></a>
-<span class="sourceLineNo">338</span><a name="line.338"></a>
-<span class="sourceLineNo">339</span> @Override<a name="line.339"></a>
-<span class="sourceLineNo">340</span> public
AsyncTable<AdvancedScanResultConsumer> build() {<a name="line.340"></a>
-<span class="sourceLineNo">341</span> return new
RawAsyncTableImpl(AsyncConnectionImpl.this, RETRY_TIMER, this);<a
name="line.341"></a>
-<span class="sourceLineNo">342</span> }<a name="line.342"></a>
-<span class="sourceLineNo">343</span> };<a name="line.343"></a>
-<span class="sourceLineNo">344</span> }<a name="line.344"></a>
-<span class="sourceLineNo">345</span><a name="line.345"></a>
-<span class="sourceLineNo">346</span> @Override<a name="line.346"></a>
-<span class="sourceLineNo">347</span> public
AsyncTableBuilder<ScanResultConsumer> getTableBuilder(TableName
tableName,<a name="line.347"></a>
-<span class="sourceLineNo">348</span> ExecutorService pool) {<a
name="line.348"></a>
-<span class="sourceLineNo">349</span> return new
AsyncTableBuilderBase<ScanResultConsumer>(tableName, connConf) {<a
name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span> @Override<a name="line.351"></a>
-<span class="sourceLineNo">352</span> public
AsyncTable<ScanResultConsumer> build() {<a name="line.352"></a>
-<span class="sourceLineNo">353</span> RawAsyncTableImpl rawTable =<a
name="line.353"></a>
-<span class="sourceLineNo">354</span> new
RawAsyncTableImpl(AsyncConnectionImpl.this, RETRY_TIMER, this);<a
name="line.354"></a>
-<span class="sourceLineNo">355</span> return new
AsyncTableImpl(AsyncConnectionImpl.this, rawTable, pool);<a name="line.355"></a>
-<span class="sourceLineNo">356</span> }<a name="line.356"></a>
-<span class="sourceLineNo">357</span> };<a name="line.357"></a>
-<span class="sourceLineNo">358</span> }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
-<span class="sourceLineNo">361</span> public AsyncAdminBuilder
getAdminBuilder() {<a name="line.361"></a>
-<span class="sourceLineNo">362</span> return new
AsyncAdminBuilderBase(connConf) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span> @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span> public AsyncAdmin build() {<a
name="line.364"></a>
-<span class="sourceLineNo">365</span> return new
RawAsyncHBaseAdmin(AsyncConnectionImpl.this, RETRY_TIMER, this);<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>
-<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> @Override<a name="line.370"></a>
-<span class="sourceLineNo">371</span> public AsyncAdminBuilder
getAdminBuilder(ExecutorService pool) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span> return new
AsyncAdminBuilderBase(connConf) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span> @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span> public AsyncAdmin build() {<a
name="line.374"></a>
-<span class="sourceLineNo">375</span> RawAsyncHBaseAdmin rawAdmin =<a
name="line.375"></a>
-<span class="sourceLineNo">376</span> new
RawAsyncHBaseAdmin(AsyncConnectionImpl.this, RETRY_TIMER, this);<a
name="line.376"></a>
-<span class="sourceLineNo">377</span> return new
AsyncHBaseAdmin(rawAdmin, pool);<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> }<a name="line.380"></a>
-<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span> @Override<a name="line.382"></a>
-<span class="sourceLineNo">383</span> public AsyncBufferedMutatorBuilder
getBufferedMutatorBuilder(TableName tableName) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span> return new
AsyncBufferedMutatorBuilderImpl(connConf, getTableBuilder(tableName),
RETRY_TIMER);<a name="line.384"></a>
-<span class="sourceLineNo">385</span> }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
-<span class="sourceLineNo">388</span> public AsyncBufferedMutatorBuilder
getBufferedMutatorBuilder(TableName tableName,<a name="line.388"></a>
-<span class="sourceLineNo">389</span> ExecutorService pool) {<a
name="line.389"></a>
-<span class="sourceLineNo">390</span> return new
AsyncBufferedMutatorBuilderImpl(connConf, getTableBuilder(tableName, pool),<a
name="line.390"></a>
-<span class="sourceLineNo">391</span> RETRY_TIMER);<a name="line.391"></a>
-<span class="sourceLineNo">392</span> }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span> @Override<a name="line.394"></a>
-<span class="sourceLineNo">395</span> public Connection toConnection() {<a
name="line.395"></a>
-<span class="sourceLineNo">396</span> ConnectionOverAsyncConnection c =
this.conn;<a name="line.396"></a>
-<span class="sourceLineNo">397</span> if (c != null) {<a
name="line.397"></a>
-<span class="sourceLineNo">398</span> return c;<a name="line.398"></a>
-<span class="sourceLineNo">399</span> }<a name="line.399"></a>
-<span class="sourceLineNo">400</span> synchronized (this) {<a
name="line.400"></a>
-<span class="sourceLineNo">401</span> c = this.conn;<a
name="line.401"></a>
-<span class="sourceLineNo">402</span> if (c != null) {<a
name="line.402"></a>
-<span class="sourceLineNo">403</span> return c;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> c = new
ConnectionOverAsyncConnection(this);<a name="line.405"></a>
-<span class="sourceLineNo">406</span> this.conn = c;<a
name="line.406"></a>
-<span class="sourceLineNo">407</span> }<a name="line.407"></a>
-<span class="sourceLineNo">408</span> return c;<a name="line.408"></a>
-<span class="sourceLineNo">409</span> }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span> private Hbck getHbckInternal(ServerName
masterServer) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>
Span.current().setAttribute(TraceUtil.SERVER_NAME_KEY,
masterServer.getServerName());<a name="line.412"></a>
-<span class="sourceLineNo">413</span> // we will not create a new
connection when creating a new protobuf stub, and for hbck there<a
name="line.413"></a>
-<span class="sourceLineNo">414</span> // will be no performance
consideration, so for simplification we will create a new stub every<a
name="line.414"></a>
-<span class="sourceLineNo">415</span> // time instead of caching the stub
here.<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return new
HBaseHbck(MasterProtos.HbckService.newBlockingStub(<a name="line.416"></a>
-<span class="sourceLineNo">417</span>
rpcClient.createBlockingRpcChannel(masterServer, user, rpcTimeout)),
rpcControllerFactory);<a name="line.417"></a>
-<span class="sourceLineNo">418</span> }<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span> @Override<a name="line.420"></a>
-<span class="sourceLineNo">421</span> public CompletableFuture<Hbck>
getHbck() {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> return TraceUtil.tracedFuture(()
-> {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> CompletableFuture<Hbck>
future = new CompletableFuture<>();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>
addListener(registry.getActiveMaster(), (sn, error) -> {<a
name="line.424"></a>
-<span class="sourceLineNo">425</span> if (error != null) {<a
name="line.425"></a>
-<span class="sourceLineNo">426</span>
future.completeExceptionally(error);<a name="line.426"></a>
-<span class="sourceLineNo">427</span> } else {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>
future.complete(getHbckInternal(sn));<a name="line.428"></a>
-<span class="sourceLineNo">429</span> }<a name="line.429"></a>
-<span class="sourceLineNo">430</span> });<a name="line.430"></a>
-<span class="sourceLineNo">431</span> return future;<a
name="line.431"></a>
-<span class="sourceLineNo">432</span> }, "AsyncConnection.getHbck");<a
name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span> @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span> public Hbck getHbck(ServerName
masterServer) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span> return TraceUtil.trace(new
Supplier<Hbck>() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span> @Override<a name="line.439"></a>
-<span class="sourceLineNo">440</span> public Hbck get() {<a
name="line.440"></a>
-<span class="sourceLineNo">441</span> return
getHbckInternal(masterServer);<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> }, "AsyncConnection.getHbck");<a
name="line.443"></a>
-<span class="sourceLineNo">444</span> }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span> Optional<MetricsConnection>
getConnectionMetrics() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span> return metrics;<a name="line.447"></a>
-<span class="sourceLineNo">448</span> }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>}<a name="line.449"></a>
+<span class="sourceLineNo">106</span> private final ConcurrentMap<String,
AdminService.Interface> adminStubs =<a name="line.106"></a>
+<span class="sourceLineNo">107</span> new ConcurrentHashMap<>();<a
name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span> private final
AtomicReference<MasterService.Interface> masterStub = new
AtomicReference<>();<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span> private final
AtomicReference<CompletableFuture<MasterService.Interface>>
masterStubMakeFuture =<a name="line.111"></a>
+<span class="sourceLineNo">112</span> new AtomicReference<>();<a
name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span> private final
Optional<ServerStatisticTracker> stats;<a name="line.114"></a>
+<span class="sourceLineNo">115</span> private final ClientBackoffPolicy
backoffPolicy;<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span> private ChoreService choreService;<a
name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span> private final AtomicBoolean closed =
new AtomicBoolean(false);<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span> private final
Optional<MetricsConnection> metrics;<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span> private final ClusterStatusListener
clusterStatusListener;<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span> private volatile
ConnectionOverAsyncConnection conn;<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span> public
AsyncConnectionImpl(Configuration conf, ConnectionRegistry registry, String
clusterId,<a name="line.127"></a>
+<span class="sourceLineNo">128</span> SocketAddress localAddress, User
user) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span> this.conf = conf;<a
name="line.129"></a>
+<span class="sourceLineNo">130</span> this.user = user;<a
name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span> if (user.isLoginFromKeytab()) {<a
name="line.132"></a>
+<span class="sourceLineNo">133</span> spawnRenewalChore(user.getUGI());<a
name="line.133"></a>
+<span class="sourceLineNo">134</span> }<a name="line.134"></a>
+<span class="sourceLineNo">135</span> this.connConf = new
AsyncConnectionConfiguration(conf);<a name="line.135"></a>
+<span class="sourceLineNo">136</span> this.registry = registry;<a
name="line.136"></a>
+<span class="sourceLineNo">137</span> if
(conf.getBoolean(CLIENT_SIDE_METRICS_ENABLED_KEY, false)) {<a
name="line.137"></a>
+<span class="sourceLineNo">138</span> this.metrics = Optional.of(new
MetricsConnection(this.toString(), () -> null, () -> null));<a
name="line.138"></a>
+<span class="sourceLineNo">139</span> } else {<a name="line.139"></a>
+<span class="sourceLineNo">140</span> this.metrics = Optional.empty();<a
name="line.140"></a>
+<span class="sourceLineNo">141</span> }<a name="line.141"></a>
+<span class="sourceLineNo">142</span> this.rpcClient =<a
name="line.142"></a>
+<span class="sourceLineNo">143</span> RpcClientFactory.createClient(conf,
clusterId, localAddress, metrics.orElse(null));<a name="line.143"></a>
+<span class="sourceLineNo">144</span> this.rpcControllerFactory =
RpcControllerFactory.instantiate(conf);<a name="line.144"></a>
+<span class="sourceLineNo">145</span> this.rpcTimeout =<a
name="line.145"></a>
+<span class="sourceLineNo">146</span> (int) Math.min(Integer.MAX_VALUE,
TimeUnit.NANOSECONDS.toMillis(connConf.getRpcTimeoutNs()));<a
name="line.146"></a>
+<span class="sourceLineNo">147</span> this.locator = new
AsyncRegionLocator(this, RETRY_TIMER);<a name="line.147"></a>
+<span class="sourceLineNo">148</span> this.callerFactory = new
AsyncRpcRetryingCallerFactory(this, RETRY_TIMER);<a name="line.148"></a>
+<span class="sourceLineNo">149</span> if
(conf.getBoolean(CLIENT_NONCES_ENABLED_KEY, true)) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span> nonceGenerator =
PerClientRandomNonceGenerator.get();<a name="line.150"></a>
+<span class="sourceLineNo">151</span> } else {<a name="line.151"></a>
+<span class="sourceLineNo">152</span> nonceGenerator =
NO_NONCE_GENERATOR;<a name="line.152"></a>
+<span class="sourceLineNo">153</span> }<a name="line.153"></a>
+<span class="sourceLineNo">154</span> this.stats =
Optional.ofNullable(ServerStatisticTracker.create(conf));<a name="line.154"></a>
+<span class="sourceLineNo">155</span> this.backoffPolicy =
ClientBackoffPolicyFactory.create(conf);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> ClusterStatusListener listener =
null;<a name="line.156"></a>
+<span class="sourceLineNo">157</span> if (conf.getBoolean(STATUS_PUBLISHED,
STATUS_PUBLISHED_DEFAULT)) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span> // TODO: this maybe a blocking
operation, better to create it outside the constructor and pass<a
name="line.158"></a>
+<span class="sourceLineNo">159</span> // it in, just like clusterId. Not
a big problem for now as the default value is false.<a name="line.159"></a>
+<span class="sourceLineNo">160</span> Class<? extends
ClusterStatusListener.Listener> listenerClass = conf.getClass(<a
name="line.160"></a>
+<span class="sourceLineNo">161</span> STATUS_LISTENER_CLASS,
DEFAULT_STATUS_LISTENER_CLASS, ClusterStatusListener.Listener.class);<a
name="line.161"></a>
+<span class="sourceLineNo">162</span> if (listenerClass == null) {<a
name="line.162"></a>
+<span class="sourceLineNo">163</span> LOG.warn("{} is true, but {} is
not set", STATUS_PUBLISHED, STATUS_LISTENER_CLASS);<a name="line.163"></a>
+<span class="sourceLineNo">164</span> } else {<a name="line.164"></a>
+<span class="sourceLineNo">165</span> try {<a name="line.165"></a>
+<span class="sourceLineNo">166</span> listener = new
ClusterStatusListener(new ClusterStatusListener.DeadServerHandler() {<a
name="line.166"></a>
+<span class="sourceLineNo">167</span> @Override<a
name="line.167"></a>
+<span class="sourceLineNo">168</span> public void
newDead(ServerName sn) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span> locator.clearCache(sn);<a
name="line.169"></a>
+<span class="sourceLineNo">170</span>
rpcClient.cancelConnections(sn);<a name="line.170"></a>
+<span class="sourceLineNo">171</span> }<a name="line.171"></a>
+<span class="sourceLineNo">172</span> }, conf, listenerClass);<a
name="line.172"></a>
+<span class="sourceLineNo">173</span> } catch (IOException e) {<a
name="line.173"></a>
+<span class="sourceLineNo">174</span> LOG.warn("Failed create of
ClusterStatusListener, not a critical, ignoring...", e);<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> }<a name="line.177"></a>
+<span class="sourceLineNo">178</span> this.clusterStatusListener =
listener;<a name="line.178"></a>
+<span class="sourceLineNo">179</span> }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span> private void spawnRenewalChore(final
UserGroupInformation user) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span> ChoreService service =
getChoreService();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>
service.scheduleChore(AuthUtil.getAuthRenewalChore(user));<a
name="line.183"></a>
+<span class="sourceLineNo">184</span> }<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> * If choreService has not been created
yet, create the ChoreService.<a name="line.187"></a>
+<span class="sourceLineNo">188</span> * @return ChoreService<a
name="line.188"></a>
+<span class="sourceLineNo">189</span> */<a name="line.189"></a>
+<span class="sourceLineNo">190</span> synchronized ChoreService
getChoreService() {<a name="line.190"></a>
+<span class="sourceLineNo">191</span> if (isClosed()) {<a
name="line.191"></a>
+<span class="sourceLineNo">192</span> throw new
IllegalStateException("connection is already closed");<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span> if (choreService == null) {<a
name="line.194"></a>
+<span class="sourceLineNo">195</span> choreService = new
ChoreService("AsyncConn Chore Service");<a name="line.195"></a>
+<span class="sourceLineNo">196</span> }<a name="line.196"></a>
+<span class="sourceLineNo">197</span> return choreService;<a
name="line.197"></a>
+<span class="sourceLineNo">198</span> }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span> @Override<a name="line.200"></a>
+<span class="sourceLineNo">201</span> public Configuration getConfiguration()
{<a name="line.201"></a>
+<span class="sourceLineNo">202</span> return conf;<a name="line.202"></a>
+<span class="sourceLineNo">203</span> }<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span> @Override<a name="line.205"></a>
+<span class="sourceLineNo">206</span> public boolean isClosed() {<a
name="line.206"></a>
+<span class="sourceLineNo">207</span> return closed.get();<a
name="line.207"></a>
+<span class="sourceLineNo">208</span> }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span> @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span> public void close() {<a
name="line.211"></a>
+<span class="sourceLineNo">212</span> TraceUtil.trace(() -> {<a
name="line.212"></a>
+<span class="sourceLineNo">213</span> if (!closed.compareAndSet(false,
true)) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span> return;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> }<a name="line.215"></a>
+<span class="sourceLineNo">216</span> LOG.info("Connection has been
closed by {}.", Thread.currentThread().getName());<a name="line.216"></a>
+<span class="sourceLineNo">217</span> if (LOG.isDebugEnabled()) {<a
name="line.217"></a>
+<span class="sourceLineNo">218</span>
logCallStack(Thread.currentThread().getStackTrace());<a name="line.218"></a>
+<span class="sourceLineNo">219</span> }<a name="line.219"></a>
+<span class="sourceLineNo">220</span>
IOUtils.closeQuietly(clusterStatusListener,<a name="line.220"></a>
+<span class="sourceLineNo">221</span> e -> LOG.warn("failed to close
clusterStatusListener", e));<a name="line.221"></a>
+<span class="sourceLineNo">222</span> IOUtils.closeQuietly(rpcClient, e
-> LOG.warn("failed to close rpcClient", e));<a name="line.222"></a>
+<span class="sourceLineNo">223</span> IOUtils.closeQuietly(registry, e
-> LOG.warn("failed to close registry", e));<a name="line.223"></a>
+<span class="sourceLineNo">224</span> synchronized (this) {<a
name="line.224"></a>
+<span class="sourceLineNo">225</span> if (choreService != null) {<a
name="line.225"></a>
+<span class="sourceLineNo">226</span> choreService.shutdown();<a
name="line.226"></a>
+<span class="sourceLineNo">227</span> choreService = null;<a
name="line.227"></a>
+<span class="sourceLineNo">228</span> }<a name="line.228"></a>
+<span class="sourceLineNo">229</span> }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>
metrics.ifPresent(MetricsConnection::shutdown);<a name="line.230"></a>
+<span class="sourceLineNo">231</span> ConnectionOverAsyncConnection c =
this.conn;<a name="line.231"></a>
+<span class="sourceLineNo">232</span> if (c != null) {<a
name="line.232"></a>
+<span class="sourceLineNo">233</span> c.closePool();<a
name="line.233"></a>
+<span class="sourceLineNo">234</span> }<a name="line.234"></a>
+<span class="sourceLineNo">235</span> }, "AsyncConnection.close");<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> private void
logCallStack(StackTraceElement[] stackTraceElements) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span> StringBuilder stackBuilder = new
StringBuilder("Call stack:");<a name="line.239"></a>
+<span class="sourceLineNo">240</span> for (StackTraceElement element :
stackTraceElements) {<a name="line.240"></a>
+<span class="sourceLineNo">241</span> stackBuilder.append("\n at ");<a
name="line.241"></a>
+<span class="sourceLineNo">242</span> stackBuilder.append(element);<a
name="line.242"></a>
+<span class="sourceLineNo">243</span> }<a name="line.243"></a>
+<span class="sourceLineNo">244</span> stackBuilder.append("\n");<a
name="line.244"></a>
+<span class="sourceLineNo">245</span> LOG.debug(stackBuilder.toString());<a
name="line.245"></a>
+<span class="sourceLineNo">246</span> }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span> @Override<a name="line.248"></a>
+<span class="sourceLineNo">249</span> public AsyncTableRegionLocator
getRegionLocator(TableName tableName) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span> return new
AsyncTableRegionLocatorImpl(tableName, this);<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> @Override<a name="line.253"></a>
+<span class="sourceLineNo">254</span> public void clearRegionLocationCache()
{<a name="line.254"></a>
+<span class="sourceLineNo">255</span> locator.clearCache();<a
name="line.255"></a>
+<span class="sourceLineNo">256</span> }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span> // we will override this method for
testing retry caller, so do not remove this method.<a name="line.258"></a>
+<span class="sourceLineNo">259</span> AsyncRegionLocator getLocator() {<a
name="line.259"></a>
+<span class="sourceLineNo">260</span> return locator;<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> // ditto<a name="line.263"></a>
+<span class="sourceLineNo">264</span> NonceGenerator getNonceGenerator() {<a
name="line.264"></a>
+<span class="sourceLineNo">265</span> return nonceGenerator;<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> private ClientService.Interface
createRegionServerStub(ServerName serverName) throws IOException {<a
name="line.268"></a>
+<span class="sourceLineNo">269</span> return
ClientService.newStub(rpcClient.createRpcChannel(serverName, user,
rpcTimeout));<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> ClientService.Interface
getRegionServerStub(ServerName serverName) throws IOException {<a
name="line.272"></a>
+<span class="sourceLineNo">273</span> return
ConcurrentMapUtils.computeIfAbsentEx(rsStubs,<a name="line.273"></a>
+<span class="sourceLineNo">274</span>
getStubKey(ClientService.getDescriptor().getName(), serverName),<a
name="line.274"></a>
+<span class="sourceLineNo">275</span> () ->
createRegionServerStub(serverName));<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> private MasterService.Interface
createMasterStub(ServerName serverName) throws IOException {<a
name="line.278"></a>
+<span class="sourceLineNo">279</span> return
MasterService.newStub(rpcClient.createRpcChannel(serverName, user,
rpcTimeout));<a name="line.279"></a>
+<span class="sourceLineNo">280</span> }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span> private AdminService.Interface
createAdminServerStub(ServerName serverName) throws IOException {<a
name="line.282"></a>
+<span class="sourceLineNo">283</span> return
AdminService.newStub(rpcClient.createRpcChannel(serverName, user,
rpcTimeout));<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> AdminService.Interface
getAdminStub(ServerName serverName) throws IOException {<a name="line.286"></a>
+<span class="sourceLineNo">287</span> return
ConcurrentMapUtils.computeIfAbsentEx(adminStubs,<a name="line.287"></a>
+<span class="sourceLineNo">288</span>
getStubKey(AdminService.getDescriptor().getName(), serverName),<a
name="line.288"></a>
+<span class="sourceLineNo">289</span> () ->
createAdminServerStub(serverName));<a name="line.289"></a>
+<span class="sourceLineNo">290</span> }<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>
CompletableFuture<MasterService.Interface> getMasterStub() {<a
name="line.292"></a>
+<span class="sourceLineNo">293</span> return
ConnectionUtils.getOrFetch(masterStub, masterStubMakeFuture, false, () ->
{<a name="line.293"></a>
+<span class="sourceLineNo">294</span>
CompletableFuture<MasterService.Interface> future = new
CompletableFuture<>();<a name="line.294"></a>
+<span class="sourceLineNo">295</span>
addListener(registry.getActiveMaster(), (addr, error) -> {<a
name="line.295"></a>
+<span class="sourceLineNo">296</span> if (error != null) {<a
name="line.296"></a>
+<span class="sourceLineNo">297</span>
future.completeExceptionally(error);<a name="line.297"></a>
+<span class="sourceLineNo">298</span> } else if (addr == null) {<a
name="line.298"></a>
+<span class="sourceLineNo">299</span>
future.completeExceptionally(new MasterNotRunningException(<a
name="line.299"></a>
+<span class="sourceLineNo">300</span> "ZooKeeper available but no
active master location found"));<a name="line.300"></a>
+<span class="sourceLineNo">301</span> } else {<a name="line.301"></a>
+<span class="sourceLineNo">302</span> LOG.debug("The fetched master
address is {}", addr);<a name="line.302"></a>
+<span class="sourceLineNo">303</span> try {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>
future.complete(createMasterStub(addr));<a name="line.304"></a>
+<span class="sourceLineNo">305</span> } catch (IOException e) {<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><a name="line.309"></a>
+<span class="sourceLineNo">310</span> });<a name="line.310"></a>
+<span class="sourceLineNo">311</span> return future;<a
name="line.311"></a>
+<span class="sourceLineNo">312</span> }, stub -> true, "master stub");<a
name="line.312"></a>
+<span class="sourceLineNo">313</span> }<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span> String getClusterId() {<a
name="line.315"></a>
+<span class="sourceLineNo">316</span> try {<a name="line.316"></a>
+<span class="sourceLineNo">317</span> return
registry.getClusterId().get();<a name="line.317"></a>
+<span class="sourceLineNo">318</span> } catch (InterruptedException |
ExecutionException e) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span> LOG.error("Error fetching cluster
ID: ", e);<a name="line.319"></a>
+<span class="sourceLineNo">320</span> }<a name="line.320"></a>
+<span class="sourceLineNo">321</span> return null;<a name="line.321"></a>
+<span class="sourceLineNo">322</span> }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span> void
clearMasterStubCache(MasterService.Interface stub) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span> masterStub.compareAndSet(stub,
null);<a name="line.325"></a>
+<span class="sourceLineNo">326</span> }<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span> Optional<ServerStatisticTracker>
getStatisticsTracker() {<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return stats;<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> ClientBackoffPolicy getBackoffPolicy()
{<a name="line.332"></a>
+<span class="sourceLineNo">333</span> return backoffPolicy;<a
name="line.333"></a>
+<span class="sourceLineNo">334</span> }<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span> @Override<a name="line.336"></a>
+<span class="sourceLineNo">337</span> public
AsyncTableBuilder<AdvancedScanResultConsumer> getTableBuilder(TableName
tableName) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span> return new
AsyncTableBuilderBase<AdvancedScanResultConsumer>(tableName, connConf)
{<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span> @Override<a name="line.340"></a>
+<span class="sourceLineNo">341</span> public
AsyncTable<AdvancedScanResultConsumer> build() {<a name="line.341"></a>
+<span class="sourceLineNo">342</span> return new
RawAsyncTableImpl(AsyncConnectionImpl.this, RETRY_TIMER, this);<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> }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span> @Override<a name="line.347"></a>
+<span class="sourceLineNo">348</span> public
AsyncTableBuilder<ScanResultConsumer> getTableBuilder(TableName
tableName,<a name="line.348"></a>
+<span class="sourceLineNo">349</span> ExecutorService pool) {<a
name="line.349"></a>
+<span class="sourceLineNo">350</span> return new
AsyncTableBuilderBase<ScanResultConsumer>(tableName, connConf) {<a
name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span> @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span> public
AsyncTable<ScanResultConsumer> build() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span> RawAsyncTableImpl rawTable =<a
name="line.354"></a>
+<span class="sourceLineNo">355</span> new
RawAsyncTableImpl(AsyncConnectionImpl.this, RETRY_TIMER, this);<a
name="line.355"></a>
+<span class="sourceLineNo">356</span> return new
AsyncTableImpl(AsyncConnectionImpl.this, rawTable, pool);<a name="line.356"></a>
+<span class="sourceLineNo">357</span> }<a name="line.357"></a>
+<span class="sourceLineNo">358</span> };<a name="line.358"></a>
+<span class="sourceLineNo">359</span> }<a name="line.359"></a>
+<span class="sourceLineNo">360</span><a name="line.360"></a>
+<span class="sourceLineNo">361</span> @Override<a name="line.361"></a>
+<span class="sourceLineNo">362</span> public AsyncAdminBuilder
getAdminBuilder() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span> return new
AsyncAdminBuilderBase(connConf) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span> @Override<a name="line.364"></a>
+<span class="sourceLineNo">365</span> public AsyncAdmin build() {<a
name="line.365"></a>
+<span class="sourceLineNo">366</span> return new
RawAsyncHBaseAdmin(AsyncConnectionImpl.this, RETRY_TIMER, this);<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><a name="line.370"></a>
+<span class="sourceLineNo">371</span> @Override<a name="line.371"></a>
+<span class="sourceLineNo">372</span> public AsyncAdminBuilder
getAdminBuilder(ExecutorService pool) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span> return new
AsyncAdminBuilderBase(connConf) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> @Override<a name="line.374"></a>
+<span class="sourceLineNo">375</span> public AsyncAdmin build() {<a
name="line.375"></a>
+<span class="sourceLineNo">376</span> RawAsyncHBaseAdmin rawAdmin =<a
name="line.376"></a>
+<span class="sourceLineNo">377</span> new
RawAsyncHBaseAdmin(AsyncConnectionImpl.this, RETRY_TIMER, this);<a
name="line.377"></a>
+<span class="sourceLineNo">378</span> return new
AsyncHBaseAdmin(rawAdmin, pool);<a name="line.378"></a>
+<span class="sourceLineNo">379</span> }<a name="line.379"></a>
+<span class="sourceLineNo">380</span> };<a name="line.380"></a>
+<span class="sourceLineNo">381</span> }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span> @Override<a name="line.383"></a>
+<span class="sourceLineNo">384</span> public AsyncBufferedMutatorBuilder
getBufferedMutatorBuilder(TableName tableName) {<a name="line.384"></a>
+<span class="sourceLineNo">385</span> return new
AsyncBufferedMutatorBuilderImpl(connConf, getTableBuilder(tableName),
RETRY_TIMER);<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> @Override<a name="line.388"></a>
+<span class="sourceLineNo">389</span> public AsyncBufferedMutatorBuilder
getBufferedMutatorBuilder(TableName tableName,<a name="line.389"></a>
+<span class="sourceLineNo">390</span> ExecutorService pool) {<a
name="line.390"></a>
+<span class="sourceLineNo">391</span> return new
AsyncBufferedMutatorBuilderImpl(connConf, getTableBuilder(tableName, pool),<a
name="line.391"></a>
+<span class="sourceLineNo">392</span> RETRY_TIMER);<a name="line.392"></a>
+<span class="sourceLineNo">393</span> }<a name="line.393"></a>
+<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">395</span> @Override<a name="line.395"></a>
+<span class="sourceLineNo">396</span> public Connection toConnection() {<a
name="line.396"></a>
+<span class="sourceLineNo">397</span> ConnectionOverAsyncConnection c =
this.conn;<a name="line.397"></a>
+<span class="sourceLineNo">398</span> if (c != null) {<a
name="line.398"></a>
+<span class="sourceLineNo">399</span> return c;<a name="line.399"></a>
+<span class="sourceLineNo">400</span> }<a name="line.400"></a>
+<span class="sourceLineNo">401</span> synchronized (this) {<a
name="line.401"></a>
+<span class="sourceLineNo">402</span> c = this.conn;<a
name="line.402"></a>
+<span class="sourceLineNo">403</span> if (c != null) {<a
name="line.403"></a>
+<span class="sourceLineNo">404</span> return c;<a name="line.404"></a>
+<span class="sourceLineNo">405</span> }<a name="line.405"></a>
+<span class="sourceLineNo">406</span> c = new
ConnectionOverAsyncConnection(this);<a name="line.406"></a>
+<span class="sourceLineNo">407</span> this.conn = c;<a
name="line.407"></a>
+<span class="sourceLineNo">408</span> }<a name="line.408"></a>
+<span class="sourceLineNo">409</span> return c;<a name="line.409"></a>
+<span class="sourceLineNo">410</span> }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span> private Hbck getHbckInternal(ServerName
masterServer) {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>
Span.current().setAttribute(TraceUtil.SERVER_NAME_KEY,
masterServer.getServerName());<a name="line.413"></a>
+<span class="sourceLineNo">414</span> // we will not create a new
connection when creating a new protobuf stub, and for hbck there<a
name="line.414"></a>
+<span class="sourceLineNo">415</span> // will be no performance
consideration, so for simplification we will create a new stub every<a
name="line.415"></a>
+<span class="sourceLineNo">416</span> // time instead of caching the stub
here.<a name="line.416"></a>
+<span class="sourceLineNo">417</span> return new
HBaseHbck(MasterProtos.HbckService.newBlockingStub(<a name="line.417"></a>
+<span class="sourceLineNo">418</span>
rpcClient.createBlockingRpcChannel(masterServer, user, rpcTimeout)),
rpcControllerFactory);<a name="line.418"></a>
+<span class="sourceLineNo">419</span> }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span> @Override<a name="line.421"></a>
+<span class="sourceLineNo">422</span> public CompletableFuture<Hbck>
getHbck() {<a name="line.422"></a>
+<span class="sourceLineNo">423</span> return TraceUtil.tracedFuture(()
-> {<a name="line.423"></a>
+<span class="sourceLineNo">424</span> CompletableFuture<Hbck>
future = new CompletableFuture<>();<a name="line.424"></a>
+<span class="sourceLineNo">425</span>
addListener(registry.getActiveMaster(), (sn, error) -> {<a
name="line.425"></a>
+<span class="sourceLineNo">426</span> if (error != null) {<a
name="line.426"></a>
+<span class="sourceLineNo">427</span>
future.completeExceptionally(error);<a name="line.427"></a>
+<span class="sourceLineNo">428</span> } else {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>
future.complete(getHbckInternal(sn));<a name="line.429"></a>
+<span class="sourceLineNo">430</span> }<a name="line.430"></a>
+<span class="sourceLineNo">431</span> });<a name="line.431"></a>
+<span class="sourceLineNo">432</span> return future;<a
name="line.432"></a>
+<span class="sourceLineNo">433</span> }, "AsyncConnection.getHbck");<a
name="line.433"></a>
+<span class="sourceLineNo">434</span> }<a name="line.434"></a>
+<span class="sourceLineNo">435</span><a name="line.435"></a>
+<span class="sourceLineNo">436</span> @Override<a name="line.436"></a>
+<span class="sourceLineNo">437</span> public Hbck getHbck(ServerName
masterServer) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span> return TraceUtil.trace(new
Supplier<Hbck>() {<a name="line.438"></a>
+<span class="sourceLineNo">439</span><a name="line.439"></a>
+<span class="sourceLineNo">440</span> @Override<a name="line.440"></a>
+<span class="sourceLineNo">441</span> public Hbck get() {<a
name="line.441"></a>
+<span class="sourceLineNo">442</span> return
getHbckInternal(masterServer);<a name="line.442"></a>
+<span class="sourceLineNo">443</span> }<a name="line.443"></a>
+<span class="sourceLineNo">444</span> }, "AsyncConnection.getHbck");<a
name="line.444"></a>
+<span class="sourceLineNo">445</span> }<a name="line.445"></a>
+<span class="sourceLineNo">446</span><a name="line.446"></a>
+<span class="sourceLineNo">447</span> Optional<MetricsConnection>
getConnectionMetrics() {<a name="line.447"></a>
+<span class="sourceLineNo">448</span> return metrics;<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>
diff --git a/downloads.html b/downloads.html
index e2218b8..0c37460 100644
--- a/downloads.html
+++ b/downloads.html
@@ -435,7 +435,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/export_control.html b/export_control.html
index c4d31b8..ed8c4eb 100644
--- a/export_control.html
+++ b/export_control.html
@@ -197,7 +197,7 @@ for more details.</p>
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/index.html b/index.html
index 7c2b42d..427ba99 100644
--- a/index.html
+++ b/index.html
@@ -275,7 +275,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/issue-tracking.html b/issue-tracking.html
index bb92836..f23798a 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -169,7 +169,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/mail-lists.html b/mail-lists.html
index b8a407f..cf458e1 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -215,7 +215,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/metrics.html b/metrics.html
index 562552d..583bb6b 100644
--- a/metrics.html
+++ b/metrics.html
@@ -325,7 +325,7 @@ export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_OPTS
-Dcom.sun.management.jmxrem
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/old_news.html b/old_news.html
index f4e07b3..bd5be11 100644
--- a/old_news.html
+++ b/old_news.html
@@ -316,7 +316,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/plugin-management.html b/plugin-management.html
index db83419..8371af3 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -321,7 +321,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/plugins.html b/plugins.html
index 95ba119..4d36cd9 100644
--- a/plugins.html
+++ b/plugins.html
@@ -248,7 +248,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/poweredbyhbase.html b/poweredbyhbase.html
index f3bb6b3..2dbde6a 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -650,7 +650,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/project-info.html b/project-info.html
index 025789a..73825ea 100644
--- a/project-info.html
+++ b/project-info.html
@@ -210,7 +210,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/project-reports.html b/project-reports.html
index a705797..6fe28da 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -186,7 +186,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/project-summary.html b/project-summary.html
index fb047a0..4d8a24d 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -212,7 +212,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/pseudo-distributed.html b/pseudo-distributed.html
index d90b2fc..691714f 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -174,7 +174,7 @@ Running Apache HBase (TM) in pseudo-distributed mode
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/replication.html b/replication.html
index 41b9e5d..378ed2f 100644
--- a/replication.html
+++ b/replication.html
@@ -169,7 +169,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/resources.html b/resources.html
index c540159..095820b 100644
--- a/resources.html
+++ b/resources.html
@@ -197,7 +197,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/source-repository.html b/source-repository.html
index 722048c..f1a2385 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -180,7 +180,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/sponsors.html b/sponsors.html
index 91665cc..ff83129 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -199,7 +199,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/supportingprojects.html b/supportingprojects.html
index b89a1a1..0bf7c46 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -390,7 +390,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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/team-list.html b/team-list.html
index 3d214ea..767a391 100644
--- a/team-list.html
+++ b/team-list.html
@@ -731,7 +731,7 @@
<div class="row">
<p>Copyright ©2007–2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-15</li>
+All rights reserved. <li id="publishDate" class="pull-right">Last
Published: 2021-06-16</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>