You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by gi...@apache.org on 2018/02/26 22:24:41 UTC

[bookkeeper] branch asf-site updated: Updated site at revision c0aff9f

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/bookkeeper.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 16be664  Updated site at revision c0aff9f
16be664 is described below

commit 16be664df32d3b0d0081c722c989f869d4881e85
Author: jenkins <bu...@apache.org>
AuthorDate: Mon Feb 26 22:24:39 2018 +0000

    Updated site at revision c0aff9f
---
 .../docs/latest/api/javadoc/allclasses-frame.html  |   1 +
 .../latest/api/javadoc/allclasses-noframe.html     |   1 +
 .../docs/latest/api/javadoc/constant-values.html   |   2 +-
 content/docs/latest/api/javadoc/index-all.html     |  10 +
 .../bookkeeper/client/RackChangeNotifier.html      | 230 +++++++++++++++++++++
 .../client/RackawareEnsemblePlacementPolicy.html   |   2 +-
 ...lePlacementPolicyImpl.DNSResolverDecorator.html |   4 +-
 .../RackawareEnsemblePlacementPolicyImpl.html      |  47 +++--
 .../client/ReadLastConfirmedAndEntryOp.html        |   4 +-
 .../client/RegionAwareEnsemblePlacementPolicy.html |   2 +-
 .../client/class-use/EnsemblePlacementPolicy.html  |   2 +-
 .../ITopologyAwareEnsemblePlacementPolicy.html     |   2 +-
 .../client/class-use/RackChangeNotifier.html       | 125 +++++++++++
 .../RackawareEnsemblePlacementPolicyImpl.html      |  15 ++
 .../TopologyAwareEnsemblePlacementPolicy.html      |   2 +-
 .../apache/bookkeeper/client/package-frame.html    |   1 +
 .../apache/bookkeeper/client/package-summary.html  |  16 +-
 .../org/apache/bookkeeper/client/package-tree.html |   1 +
 content/docs/latest/api/javadoc/overview-tree.html |   1 +
 19 files changed, 436 insertions(+), 32 deletions(-)

diff --git a/content/docs/latest/api/javadoc/allclasses-frame.html b/content/docs/latest/api/javadoc/allclasses-frame.html
index fca40ab..1d63091 100644
--- a/content/docs/latest/api/javadoc/allclasses-frame.html
+++ b/content/docs/latest/api/javadoc/allclasses-frame.html
@@ -183,6 +183,7 @@
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicyImpl</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator</a></li>
+<li><a href="org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">RackChangeNotifier</span></a></li>
 <li><a href="org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">ReadHandle</span></a></li>
 <li><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">ReadLastConfirmedAndEntryOp</a></li>
 <li><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</span></a></li>
diff --git a/content/docs/latest/api/javadoc/allclasses-noframe.html b/content/docs/latest/api/javadoc/allclasses-noframe.html
index 01f29c9..45e71bd 100644
--- a/content/docs/latest/api/javadoc/allclasses-noframe.html
+++ b/content/docs/latest/api/javadoc/allclasses-noframe.html
@@ -183,6 +183,7 @@
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator</a></li>
+<li><a href="org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">RackChangeNotifier</span></a></li>
 <li><a href="org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">ReadHandle</span></a></li>
 <li><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client">ReadLastConfirmedAndEntryOp</a></li>
 <li><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</span></a></li>
diff --git a/content/docs/latest/api/javadoc/constant-values.html b/content/docs/latest/api/javadoc/constant-values.html
index f94a4bc..ccc1f37 100644
--- a/content/docs/latest/api/javadoc/constant-values.html
+++ b/content/docs/latest/api/javadoc/constant-values.html
@@ -486,7 +486,7 @@
 </li>
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.bookkeeper.client.org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl</span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th scope="col">Constant Field</th>
diff --git a/content/docs/latest/api/javadoc/index-all.html b/content/docs/latest/api/javadoc/index-all.html
index a0b1cb3..8f233fe 100644
--- a/content/docs/latest/api/javadoc/index-all.html
+++ b/content/docs/latest/api/javadoc/index-all.html
@@ -4436,6 +4436,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html#oldBookie2NewBookie">oldBookie2NewBookie</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html" title="class in org.apache.bookkeeper.client">LedgerFragmentReplicator.SingleFragmentCallback</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#onBookieRackChange-java.util.List-">onBookieRackChange(List&lt;BookieSocketAddress&gt;)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#onChanged-long-org.apache.bookkeeper.client.LedgerMetadata-">onChanged(long, LedgerMetadata)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html" title="class in org.apache.bookkeeper.client">ReadOnlyLedgerHandle</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#onClusterChanged-java.util.Set-java.util.Set-">onClusterChanged(Set&lt;BookieSocketAddress&gt;, Set&lt;BookieSocketAddress&gt;)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">DefaultEnsemblePlacementPolicy</a></dt>
@@ -4793,6 +4795,10 @@
 <dd>
 <div class="block">Decorator for any existing dsn resolver.</div>
 </dd>
+<dt><a href="org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">RackChangeNotifier</span></a> - Interface in <a href="org/apache/bookkeeper/client/package-summary.html">org.apache.bookkeeper.client</a></dt>
+<dd>
+<div class="block">Notifier used by the RackawareEnsemblePlacementPolicy to get notified if a rack changes for a bookie.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#RACKNAME_DISTANCE_FROM_LEAVES">RACKNAME_DISTANCE_FROM_LEAVES</a></span> - Static variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.RackOrRegionDurabilityCoverageSet.html#RackOrRegionDurabilityCoverageSet--">RackOrRegionDurabilityCoverageSet()</a></span> - Constructor for class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.RackOrRegionDurabilityCoverageSet.html" title="class in org.apache.bo [...]
@@ -5131,6 +5137,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerHandle.html#registerOperationFailureOnBookie-org.apache.bookkeeper.net.BookieSocketAddress-long-">registerOperationFailureOnBookie(BookieSocketAddress, long)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RackChangeNotifier.html#registerRackChangeListener-org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl-">registerRackChangeListener(RackawareEnsemblePlacementPolicyImpl)</a></span> - Method in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client">RackChangeNotifier</a></dt>
+<dd>
+<div class="block">Register a listener for the rack-aware placement policy.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#registerSlowBookie-org.apache.bookkeeper.net.BookieSocketAddress-long-">registerSlowBookie(BookieSocketAddress, long)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">DefaultEnsemblePlacementPolicy</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/EnsemblePlacementPolicy.html#registerSlowBookie-org.apache.bookkeeper.net.BookieSocketAddress-long-">registerSlowBookie(BookieSocketAddress, long)</a></span> - Method in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></dt>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackChangeNotifier.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackChangeNotifier.html
new file mode 100644
index 0000000..4f3fd09
--- /dev/null
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackChangeNotifier.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RackChangeNotifier (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RackChangeNotifier (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RackChangeNotifier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/bookkeeper/client/RackChangeNotifier.html" target="_top">Frames</a></li>
+<li><a href="RackChangeNotifier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.bookkeeper.client</div>
+<h2 title="Interface RackChangeNotifier" class="title">Interface RackChangeNotifier</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">RackChangeNotifier</span></pre>
+<div class="block">Notifier used by the RackawareEnsemblePlacementPolicy to get notified if a rack changes for a bookie.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackChangeNotifier.html#registerRackChangeListener-org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl-">registerRackChangeListener</a></span>(<a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a>&nbsp;rackawarePolicy)</code>
+<div class="block">Register a listener for the rack-aware placement policy.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="registerRackChangeListener-org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>registerRackChangeListener</h4>
+<pre>void&nbsp;registerRackChangeListener(<a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a>&nbsp;rackawarePolicy)</pre>
+<div class="block">Register a listener for the rack-aware placement policy.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rackawarePolicy</code> - </dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RackChangeNotifier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/bookkeeper/client/RackChangeNotifier.html" target="_top">Frames</a></li>
+<li><a href="RackChangeNotifier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2011&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html
index b42651a..2389c6e 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html
@@ -330,7 +330,7 @@ implements <a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsem
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#convertBookiesToNodes-java.util.Set-">convertBookiesToNodes</a>, <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#createBookieNode-org.apache.bookkeeper.net.BookieSocketAddress-">createBookieNode</a>, <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#getDefaultRack--">getDefaultRack</a>, <a href="../../../.. [...]
+<code><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#convertBookiesToNodes-java.util.Set-">convertBookiesToNodes</a>, <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#createBookieNode-org.apache.bookkeeper.net.BookieSocketAddress-">createBookieNode</a>, <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#getDefaultRack--">getDefaultRack</a>, <a href="../../../.. [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html
index 24b90b2..0adb1b9 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" target="_top">Frames</a></li>
@@ -368,7 +368,7 @@ implements org.apache.bookkeeper.net.DNSToSwitchMapping</pre>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" target="_top">Frames</a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html
index 5ba54a2..8b19b2e 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":9,"i24":10,"i25":10,"i26":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":9,"i25":10,"i26":10,"i27":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>class <span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl</span>
+<pre>public class <span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl</span>
 extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy</a></pre>
 <div class="block">Simple rackware ensemble placement policy.
 
@@ -416,6 +416,10 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
                    <a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;parentPredicate)</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#onBookieRackChange-java.util.List-">onBookieRackChange</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;bookieAddressList)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#onClusterChanged-java.util.Set-java.util.Set-">onClusterChanged</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;writableBookies,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;readOnlyBookies)</code>
@@ -423,14 +427,14 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
  readonly) is updated when any changes happen in the cluster.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#registerSlowBookie-org.apache.bookkeeper.net.BookieSocketAddress-long-">registerSlowBookie</a></span>(org.apache.bookkeeper.net.BookieSocketAddress&nbsp;bookieSocketAddress,
                   long&nbsp;entryId)</code>
 <div class="block">Register a bookie as slow so that it is tried after available and read-only bookies.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#reorderReadSequence-java.util.ArrayList-org.apache.bookkeeper.client.BookiesHealthInfo-org.apache.bookkeeper.client.DistributionSchedule.WriteSet-">reorderReadSequence</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookk [...]
                    <a href="../../../../org/apache/bookkeeper/client/BookiesHealthInfo.html" title="interface in org.apache.bookkeeper.client">BookiesHealthInfo</a>&nbsp;bookiesHealthInfo,
@@ -438,7 +442,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
 <div class="block">Reorder the read sequence of a given write quorum <i>writeSet</i>.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#reorderReadSequenceWithRegion-java.util.ArrayList-org.apache.bookkeeper.client.DistributionSchedule.WriteSet-java.util.Map-org.apache.bookkeeper.client.BookiesHealthInfo-boolean-java.lang.String-int-">reorderReadSequenceWithRegion</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="cla [...]
                              <a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a>&nbsp;writeSet,
@@ -450,7 +454,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
 <div class="block">This function orders the read sequence with a given region.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>org.apache.bookkeeper.net.BookieSocketAddress</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#replaceBookie-int-int-int-java.util.Map-java.util.Set-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
              int&nbsp;writeQuorumSize,
@@ -462,11 +466,11 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
 <div class="block">Choose a new bookie to replace <i>bookieToReplace</i>.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#resolveNetworkLocation-org.apache.bookkeeper.net.BookieSocketAddress-">resolveNetworkLocation</a></span>(org.apache.bookkeeper.net.BookieSocketAddress&nbsp;addr)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.util.Set-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
@@ -476,7 +480,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
  <i>excludeBookies</i> set.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title= [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
@@ -485,7 +489,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
 <div class="block">Select a node from a given network location.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-externa [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;excludeRacks,
@@ -493,7 +497,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
                          <a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectRandom-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectRandom</a></span>(int&nbsp;numBookies,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
@@ -502,7 +506,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
 <div class="block">Choose a random node from whole cluster.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectRandomFromRack-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectRandomFromRack</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or  [...]
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
@@ -511,7 +515,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
 <div class="block">Choose random node under a given network path.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectRandomInternal-java.util.List-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectRandomInternal</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or  [...]
                     int&nbsp;numBookies,
@@ -519,7 +523,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
                     <a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                     <a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>(package private) static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#shuffleWithMask-org.apache.bookkeeper.client.DistributionSchedule.WriteSet-int-int-">shuffleWithMask</a></span>(<a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a>&nbsp;writeSet,
                int&nbsp;mask,
@@ -527,19 +531,19 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
 <div class="block">Shuffle all the entries of an array that matches a mask.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#uninitalize--">uninitalize</a></span>()</code>
 <div class="block">Uninitialize the policy.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#updateBookieInfo-java.util.Map-">updateBookieInfo</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in  [...]
 <div class="block">Send the bookie info details.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#withDefaultRack-java.lang.String-">withDefaultRack</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rack)</code>&nbsp;</td>
 </tr>
@@ -994,6 +998,15 @@ extends <a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsembleP
 <pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resolveNetworkLocation(org.apache.bookkeeper.net.BookieSocketAddress&nbsp;addr)</pre>
 </li>
 </ul>
+<a name="onBookieRackChange-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onBookieRackChange</h4>
+<pre>public&nbsp;void&nbsp;onBookieRackChange(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;bookieAddressList)</pre>
+</li>
+</ul>
 <a name="onClusterChanged-java.util.Set-java.util.Set-">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html
index eeab00a..eba7407 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -512,7 +512,7 @@ implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryCall
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html
index 5b0b22d..f4051ba 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html
@@ -413,7 +413,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlace
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#convertBookiesToNodes-java.util.Set-">convertBookiesToNodes</a>, <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#createBookieNode-org.apache.bookkeeper.net.BookieSocketAddress-">createBookieNode</a>, <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#getDefaultRack--">getDefaultRack</a>, <a href="../../../.. [...]
+<code><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#convertBookiesToNodes-java.util.Set-">convertBookiesToNodes</a>, <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#createBookieNode-org.apache.bookkeeper.net.BookieSocketAddress-">createBookieNode</a>, <a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#getDefaultRack--">getDefaultRack</a>, <a href="../../../.. [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/EnsemblePlacementPolicy.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/EnsemblePlacementPolicy.html
index a68e326..85d016b 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/EnsemblePlacementPolicy.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/EnsemblePlacementPolicy.html
@@ -138,7 +138,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) class&nbsp;</code></td>
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></span></code>
 <div class="block">Simple rackware ensemble placement policy.</div>
 </td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.html
index 523958f..a6aaa63 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.html
@@ -111,7 +111,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>(package private) class&nbsp;</code></td>
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></span></code>
 <div class="block">Simple rackware ensemble placement policy.</div>
 </td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/RackChangeNotifier.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/RackChangeNotifier.html
new file mode 100644
index 0000000..e64f39f
--- /dev/null
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/RackChangeNotifier.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.bookkeeper.client.RackChangeNotifier (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.bookkeeper.client.RackChangeNotifier (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/bookkeeper/client/class-use/RackChangeNotifier.html" target="_top">Frames</a></li>
+<li><a href="RackChangeNotifier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.bookkeeper.client.RackChangeNotifier" class="title">Uses of Interface<br>org.apache.bookkeeper.client.RackChangeNotifier</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.bookkeeper.client.RackChangeNotifier</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/bookkeeper/client/class-use/RackChangeNotifier.html" target="_top">Frames</a></li>
+<li><a href="RackChangeNotifier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2011&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/RackawareEnsemblePlacementPolicyImpl.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/RackawareEnsemblePlacementPolicyImpl.html
index 29a5c6c..6d7addf 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/RackawareEnsemblePlacementPolicyImpl.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/RackawareEnsemblePlacementPolicyImpl.html
@@ -164,6 +164,21 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/bookkeeper/client/package-summary.html">org.apache.bookkeeper.client</a> with parameters of type <a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">RackChangeNotifier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackChangeNotifier.html#registerRackChangeListener-org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl-">registerRackChangeListener</a></span>(<a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolic [...]
+<div class="block">Register a listener for the rack-aware placement policy.</div>
+</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/TopologyAwareEnsemblePlacementPolicy.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/TopologyAwareEnsemblePlacementPolicy.html
index ce49178..c700a79 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/TopologyAwareEnsemblePlacementPolicy.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/TopologyAwareEnsemblePlacementPolicy.html
@@ -111,7 +111,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>(package private) class&nbsp;</code></td>
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></span></code>
 <div class="block">Simple rackware ensemble placement policy.</div>
 </td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-frame.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-frame.html
index 3cdea1e..7f28d4e 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-frame.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-frame.html
@@ -40,6 +40,7 @@
 <li><a href="ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ITopologyAwareEnsemblePlacementPolicy.Ensemble</span></a></li>
 <li><a href="ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ITopologyAwareEnsemblePlacementPolicy.Predicate</span></a></li>
 <li><a href="PendingReadLacOp.LacCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">PendingReadLacOp.LacCallback</span></a></li>
+<li><a href="RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">RackChangeNotifier</span></a></li>
 <li><a href="ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</span></a></li>
 <li><a href="ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ReadLastConfirmedOp.LastConfirmedDataCallback</span></a></li>
 <li><a href="SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">SpeculativeRequestExecutionPolicy</span></a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-summary.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-summary.html
index a3c7774..466b826 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-summary.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-summary.html
@@ -251,34 +251,40 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client">RackChangeNotifier</a></td>
+<td class="colLast">
+<div class="block">Notifier used by the RackawareEnsemblePlacementPolicy to get notified if a rack changes for a bookie.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</a></td>
 <td class="colLast">
 <div class="block">Wrapper to get all recovered data from the request.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client">ReadLastConfirmedOp.LastConfirmedDataCallback</a></td>
 <td class="colLast">
 <div class="block">Wrapper to get all recovered data from the request.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client">SpeculativeRequestExecutionPolicy</a></td>
 <td class="colLast">
 <div class="block">Define a policy for speculative request execution.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SpeculativeRequestExecutor.html" title="interface in org.apache.bookkeeper.client">SpeculativeRequestExecutor</a></td>
 <td class="colLast">
 <div class="block">Define an executor for issuing speculative requests.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.CoverageSet.html" title="interface in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.CoverageSet</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/WeightedRandomSelection.WeightedObject.html" title="interface in org.apache.bookkeeper.client">WeightedRandomSelection.WeightedObject</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-tree.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-tree.html
index 6f0bb85..a1dcd86 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-tree.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-tree.html
@@ -298,6 +298,7 @@
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">ITopologyAwareEnsemblePlacementPolicy.Ensemble</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">ITopologyAwareEnsemblePlacementPolicy.Predicate</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/PendingReadLacOp.LacCallback.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">PendingReadLacOp.LacCallback</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">RackChangeNotifier</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">ReadLastConfirmedOp.LastConfirmedDataCallback</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">SpeculativeRequestExecutionPolicy</span></a></li>
diff --git a/content/docs/latest/api/javadoc/overview-tree.html b/content/docs/latest/api/javadoc/overview-tree.html
index ed86402..187aae3 100644
--- a/content/docs/latest/api/javadoc/overview-tree.html
+++ b/content/docs/latest/api/javadoc/overview-tree.html
@@ -421,6 +421,7 @@
 </li>
 <li type="circle">org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats"><span class="typeNameLink">OpStatsLogger</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadLacOp.LacCallback.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">PendingReadLacOp.LacCallback</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">RackChangeNotifier</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">ReadLastConfirmedOp.LastConfirmedDataCallback</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">SpeculativeRequestExecutionPolicy</span></a></li>

-- 
To stop receiving notification emails like this one, please contact
git-site-role@apache.org.