blob: fe3f4408521a6668fa5044e535c905712e5a5ced [file] [log] [blame]
<!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>MasterAddressTracker (Apache HBase 3.0.0-alpha-4-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="MasterAddressTracker (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":9,"i3":10,"i4":9,"i5":10,"i6":10,"i7":9,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":9,"i16":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/MasterAddressTracker.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/hadoop/hbase/zookeeper/InstancePending.InstanceHolder.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterMaintenanceModeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" target="_top">Frames</a></li>
<li><a href="MasterAddressTracker.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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.hadoop.hbase.zookeeper</div>
<h2 title="Class MasterAddressTracker" class="title">Class MasterAddressTracker</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">org.apache.hadoop.hbase.zookeeper.ZKListener</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">org.apache.hadoop.hbase.zookeeper.ZKNodeTracker</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.zookeeper.MasterAddressTracker</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.58">MasterAddressTracker</a>
extends <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKNodeTracker</a></pre>
<div class="block">Manages the location of the current active Master for the RegionServer.
<p>
Listens for ZooKeeper events related to the master address. The node <code>/master</code> will
contain the address of the current master. This listener is interested in
<code>NodeDeleted</code> and <code>NodeCreated</code> events on <code>/master</code>.
<p>
Utilizes <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>ZKNodeTracker</code></a> for zk interactions.
<p>
You can get the current master via <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress--"><code>getMasterAddress()</code></a> or via
<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-"><code>getMasterAddress(ZKWatcher)</code></a> if you do not have a running instance of this Tracker in
your context.
<p>
This class also includes utility for interacting with the master znode, for writing and reading
the znode content.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#backupMasters">backupMasters</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKNodeTracker">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.zookeeper.<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKNodeTracker</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#abortable">abortable</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#LOG">LOG</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#node">node</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKListener">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.zookeeper.<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html#watcher">watcher</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#MasterAddressTracker-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.hbase.Abortable-">MasterAddressTracker</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;watcher,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable)</code>
<div class="block">Construct a master address listener with the specified <code>zookeeper</code> reference.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#deleteIfEquals-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-">deleteIfEquals</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;content)</code>
<div class="block">delete the master znode if its content is same as the parameter</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getBackupMasterInfoPort-org.apache.hadoop.hbase.ServerName-">getBackupMasterInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>
<div class="block">Get the info port of the backup master if it is available.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getBackupMasterInfoPort-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.hbase.ServerName-">getBackupMasterInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>
<div class="block">Get backup master info port.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getBackupMasters--">getBackupMasters</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getBackupMastersAndRenewWatch-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">getBackupMastersAndRenewWatch</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</code>
<div class="block">Retrieves the list of registered backup masters and renews a watch on the znode for children
updates.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress--">getMasterAddress</a></span>()</code>
<div class="block">Get the address of the current master if one is available.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress-boolean-">getMasterAddress</a></span>(boolean&nbsp;refresh)</code>
<div class="block">Get the address of the current master if one is available.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">getMasterAddress</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</code>
<div class="block">Get master address.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterInfoPort--">getMasterInfoPort</a></span>()</code>
<div class="block">Get the info port of the current master of one is available.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterInfoPort-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">getMasterInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</code>
<div class="block">Get master info port.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#hasMaster--">hasMaster</a></span>()</code>
<div class="block">Check if there is a master available.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#loadBackupMasters--">loadBackupMasters</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#nodeChildrenChanged-java.lang.String-">nodeChildrenChanged</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
<div class="block">Called when an existing node has a child node added or removed.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.ZooKeeperProtos.Master</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#parse-byte:A-">parse</a></span>(byte[]&nbsp;data)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#postStart--">postStart</a></span>()</code>
<div class="block">Called after start is called.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#setMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-org.apache.hadoop.hbase.ServerName-int-">setMasterAddress</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;znode,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;master,
int&nbsp;infoPort)</code>
<div class="block">Set master address into the <code>master</code> znode or into the backup subdirectory of backup
masters; switch off the passed in <code>znode</code> path.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>(package private) static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#toByteArray-org.apache.hadoop.hbase.ServerName-int-">toByteArray</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
int&nbsp;infoPort)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKNodeTracker">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.zookeeper.<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKNodeTracker</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#blockUntilAvailable--">blockUntilAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#blockUntilAvailable-long-boolean-">blockUntilAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#checkIfBaseNodeAvailable--">checkIfBaseNodeAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#getData-boolean-">getData</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#getNode--">getNode</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#nodeCreated-java.lang.String-">nodeCreated</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#nodeDataChanged-java.lang.String-">nodeDataChanged</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#nodeDeleted-java.lang.String-">nodeDeleted</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#start--">start</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#stop--">stop</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKListener">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.zookeeper.<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html#getWatcher--">getWatcher</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="backupMasters">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>backupMasters</h4>
<pre>private volatile&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.60">backupMasters</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MasterAddressTracker-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.hbase.Abortable-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MasterAddressTracker</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.70">MasterAddressTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;watcher,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable)</pre>
<div class="block">Construct a master address listener with the specified <code>zookeeper</code> reference.
<p>
This constructor does not trigger any actions, you must call methods explicitly. Normally you
will just want to execute <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#start--"><code>ZKNodeTracker.start()</code></a> to begin tracking of the master address.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>watcher</code> - zk reference and watcher</dd>
<dd><code>abortable</code> - abortable in case of fatal error</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="loadBackupMasters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadBackupMasters</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.74">loadBackupMasters</a>()</pre>
</li>
</ul>
<a name="postStart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postStart</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.85">postStart</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#postStart--">ZKNodeTracker</a></code></span></div>
<div class="block">Called after start is called. Sub classes could implement this method to load more data on zk.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#postStart--">postStart</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKNodeTracker</a></code></dd>
</dl>
</li>
</ul>
<a name="nodeChildrenChanged-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeChildrenChanged</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.90">nodeChildrenChanged</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html#nodeChildrenChanged-java.lang.String-">ZKListener</a></code></span></div>
<div class="block">Called when an existing node has a child node added or removed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html#nodeChildrenChanged-java.lang.String-">nodeChildrenChanged</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - full path of the node whose children have changed</dd>
</dl>
</li>
</ul>
<a name="getMasterAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterAddress</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.100">getMasterAddress</a>()</pre>
<div class="block">Get the address of the current master if one is available. Returns null if no current master.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Server name or null if timed out.</dd>
</dl>
</li>
</ul>
<a name="getMasterInfoPort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterInfoPort</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.109">getMasterInfoPort</a>()</pre>
<div class="block">Get the info port of the current master of one is available. Return 0 if no current master or
zookeeper is unavailable</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>info port or 0 if timed out</dd>
</dl>
</li>
</ul>
<a name="getBackupMasterInfoPort-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackupMasterInfoPort</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.128">getBackupMasterInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
<div class="block">Get the info port of the backup master if it is available. Return 0 if no backup master or
zookeeper is unavailable</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sn</code> - server name of backup master</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>info port or 0 if timed out or exceptions</dd>
</dl>
</li>
</ul>
<a name="getMasterAddress-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterAddress</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.150">getMasterAddress</a>(boolean&nbsp;refresh)</pre>
<div class="block">Get the address of the current master if one is available. Returns null if no current master.
If refresh is set, try to load the data from ZK again, otherwise, cached data will be used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>refresh</code> - whether to refresh the data by calling ZK directly.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Server name or null if timed out.</dd>
</dl>
</li>
</ul>
<a name="getMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterAddress</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.167">getMasterAddress</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)
throws org.apache.zookeeper.KeeperException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Get master address. Use this instead of <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress--"><code>getMasterAddress()</code></a> if you do not have an
instance of this tracker in your context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - ZKWatcher to use</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ServerName stored in the the master address znode or null if no znode present.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code> - if a ZooKeeper operation fails</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the address of the ZooKeeper master cannot be retrieved</dd>
</dl>
</li>
</ul>
<a name="getMasterInfoPort-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterInfoPort</h4>
<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.197">getMasterInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)
throws org.apache.zookeeper.KeeperException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Get master info port. Use this instead of <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterInfoPort--"><code>getMasterInfoPort()</code></a> if you do not have an
instance of this tracker in your context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - ZKWatcher to use</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>master info port in the the master address znode or null if no znode present. // TODO
can't return null for 'int' return type. non-static verison returns 0</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code> - if a ZooKeeper operation fails</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the address of the ZooKeeper master cannot be retrieved</dd>
</dl>
</li>
</ul>
<a name="getBackupMasterInfoPort-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackupMasterInfoPort</h4>
<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.226">getBackupMasterInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)
throws org.apache.zookeeper.KeeperException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Get backup master info port. Use this instead of <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getBackupMasterInfoPort-org.apache.hadoop.hbase.ServerName-"><code>getBackupMasterInfoPort(ServerName)</code></a>
if you do not have an instance of this tracker in your context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - ZKWatcher to use</dd>
<dd><code>sn</code> - ServerName of the backup master</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>backup master info port in the the master address znode or 0 if no znode present.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code> - if a ZooKeeper operation fails</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the address of the ZooKeeper master cannot be retrieved</dd>
</dl>
</li>
</ul>
<a name="setMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-org.apache.hadoop.hbase.ServerName-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMasterAddress</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.261">setMasterAddress</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;znode,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;master,
int&nbsp;infoPort)
throws org.apache.zookeeper.KeeperException</pre>
<div class="block">Set master address into the <code>master</code> znode or into the backup subdirectory of backup
masters; switch off the passed in <code>znode</code> path.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - The ZKWatcher to use.</dd>
<dd><code>znode</code> - Where to create the znode; could be at the top level or it could be under backup
masters</dd>
<dd><code>master</code> - ServerName of the current master must not be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if node created, false if not; a watch is set in both cases</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code> - if a ZooKeeper operation fails</dd>
</dl>
</li>
</ul>
<a name="hasMaster--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasMaster</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.270">hasMaster</a>()</pre>
<div class="block">Check if there is a master available.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if there is a master set, false if not.</dd>
</dl>
</li>
</ul>
<a name="toByteArray-org.apache.hadoop.hbase.ServerName-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toByteArray</h4>
<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.278">toByteArray</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
int&nbsp;infoPort)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sn</code> - must not be null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Content of the master znode as a serialized pb with the pb magic as prefix.</dd>
</dl>
</li>
</ul>
<a name="parse-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parse</h4>
<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ZooKeeperProtos.Master&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.295">parse</a>(byte[]&nbsp;data)
throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - zookeeper data. may be null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pb object of master, null if no active master</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></code> - if the parsing fails</dd>
</dl>
</li>
</ul>
<a name="deleteIfEquals-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteIfEquals</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.312">deleteIfEquals</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;content)</pre>
<div class="block">delete the master znode if its content is same as the parameter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - must not be null</dd>
<dd><code>content</code> - must not be null</dd>
</dl>
</li>
</ul>
<a name="getBackupMasters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackupMasters</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.333">getBackupMasters</a>()</pre>
</li>
</ul>
<a name="getBackupMastersAndRenewWatch-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getBackupMastersAndRenewWatch</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.344">getBackupMastersAndRenewWatch</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
<div class="block">Retrieves the list of registered backup masters and renews a watch on the znode for children
updates.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - Zookeeper watcher to use</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of backup masters.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></code> - if there is any issue fetching the required data from Zookeeper.</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/MasterAddressTracker.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/hadoop/hbase/zookeeper/InstancePending.InstanceHolder.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterMaintenanceModeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" target="_top">Frames</a></li>
<li><a href="MasterAddressTracker.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>