blob: 1de5a71f7e0969dc24e68aa809ec281d69c2190e [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>ZKWatcher (Apache HBase 3.0.0-alpha-2-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="ZKWatcher (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
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":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":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";
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/ZKWatcher.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/ZKUtil.ZKUtilOp.SetData.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/ZNodePaths.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/ZKWatcher.html" target="_top">Frames</a></li>
<li><a href="ZKWatcher.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 ZKWatcher" class="title">Class ZKWatcher</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>org.apache.hadoop.hbase.zookeeper.ZKWatcher</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>, org.apache.zookeeper.Watcher</dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.66">ZKWatcher</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements org.apache.zookeeper.Watcher, <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
<div class="block">Acts as the single ZooKeeper Watcher. One instance of this is instantiated
for each Master, RegionServer, and client process.
<p>This is the only class that implements <code>Watcher</code>. Other internal
classes which need to be notified of ZooKeeper events must register with
the local instance of this watcher via <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#registerListener-org.apache.hadoop.hbase.zookeeper.ZKListener-"><code>registerListener(org.apache.hadoop.hbase.zookeeper.ZKListener)</code></a>.
<p>This class also holds and manages the connection to ZooKeeper. Code to
deal with connection related events and exceptions are handled here.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.zookeeper.Watcher">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.zookeeper.Watcher</h3>
<code>org.apache.zookeeper.Watcher.Event, org.apache.zookeeper.Watcher.WatcherType</code></li>
</ul>
</li>
</ul>
<!-- =========== 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>protected <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#abortable">abortable</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#aborted">aborted</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#conf">conf</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#identifier">identifier</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#listeners">listeners</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#NAME_PATTERN">NAME_PATTERN</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#prefix">prefix</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#quorum">quorum</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html" title="class in org.apache.hadoop.hbase.zookeeper">RecoverableZooKeeper</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#recoverableZooKeeper">recoverableZooKeeper</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#zkEventProcessor">zkEventProcessor</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#zkSyncTimeout">zkSyncTimeout</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZNodePaths.html" title="class in org.apache.hadoop.hbase.zookeeper">ZNodePaths</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#znodePaths">znodePaths</a></span></code>&nbsp;</td>
</tr>
</table>
</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/ZKWatcher.html#ZKWatcher-org.apache.hadoop.conf.Configuration-java.lang.String-org.apache.hadoop.hbase.Abortable-">ZKWatcher</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;identifier,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable)</code>
<div class="block">Instantiate a ZooKeeper connection and watcher.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#ZKWatcher-org.apache.hadoop.conf.Configuration-java.lang.String-org.apache.hadoop.hbase.Abortable-boolean-">ZKWatcher</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;identifier,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable,
boolean&nbsp;canCreateBaseZNode)</code>
<div class="block">Instantiate a ZooKeeper connection and watcher.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#ZKWatcher-org.apache.hadoop.conf.Configuration-java.lang.String-org.apache.hadoop.hbase.Abortable-boolean-boolean-">ZKWatcher</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;identifier,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable,
boolean&nbsp;canCreateBaseZNode,
boolean&nbsp;clientZK)</code>
<div class="block">Instantiate a ZooKeeper connection and watcher.</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#abort-java.lang.String-java.lang.Throwable-">abort</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;why,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</code>
<div class="block">Abort the server or client.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#checkACLForSuperUsers-java.lang.String:A-java.util.List-">checkACLForSuperUsers</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;superUsers,
<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;org.apache.zookeeper.data.ACL&gt;&nbsp;acls)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#checkAndSetZNodeAcls--">checkAndSetZNodeAcls</a></span>()</code>
<div class="block">On master start, we check the znode ACLs under the root directory and set the ACLs properly
if needed.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#close--">close</a></span>()</code>
<div class="block">Close the connection to ZooKeeper.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#connectionEvent-org.apache.zookeeper.WatchedEvent-">connectionEvent</a></span>(org.apache.zookeeper.WatchedEvent&nbsp;event)</code>
<div class="block">Called when there is a connection-related event via the Watcher callback.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#createBaseZNodes--">createBaseZNodes</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" 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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#filterMetaReplicaNodes-java.util.List-">filterMetaReplicaNodes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;nodes)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getConfiguration--">getConfiguration</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getListeners--">getListeners</a></span>()</code>
<div class="block">Get a copy of current registered listeners</div>
</td>
</tr>
<tr id="i9" 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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getMetaReplicaNodes--">getMetaReplicaNodes</a></span>()</code>
<div class="block">Get the znodes corresponding to the meta replicas from ZK</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getMetaReplicaNodesAndWatchChildren--">getMetaReplicaNodesAndWatchChildren</a></span>()</code>
<div class="block">Same as <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getMetaReplicaNodes--"><code>getMetaReplicaNodes()</code></a> except that this also registers a watcher on base znode
for subsequent CREATE/DELETE operations on child nodes.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getNumberOfListeners--">getNumberOfListeners</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getQuorum--">getQuorum</a></span>()</code>
<div class="block">Get the quorum address of this instance.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html" title="class in org.apache.hadoop.hbase.zookeeper">RecoverableZooKeeper</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getRecoverableZooKeeper--">getRecoverableZooKeeper</a></span>()</code>
<div class="block">Get the connection to ZooKeeper.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZNodePaths.html" title="class in org.apache.hadoop.hbase.zookeeper">ZNodePaths</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getZNodePaths--">getZNodePaths</a></span>()</code>
<div class="block">Get the znodePaths.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#interruptedException-java.lang.InterruptedException-">interruptedException</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>&nbsp;ie)</code>
<div class="block">Handles InterruptedExceptions in client calls.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#interruptedExceptionNoThrow-java.lang.InterruptedException-boolean-">interruptedExceptionNoThrow</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>&nbsp;ie,
boolean&nbsp;throwLater)</code>
<div class="block">Log the InterruptedException and interrupt current thread</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#isAborted--">isAborted</a></span>()</code>
<div class="block">Check if the server or client was aborted.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#isBaseZnodeAclSetup-java.util.List-">isBaseZnodeAclSetup</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.zookeeper.data.ACL&gt;&nbsp;acls)</code>
<div class="block">Checks whether the ACLs returned from the base znode (/hbase) is set for secure setup.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#isSuperUserId-java.lang.String:A-org.apache.zookeeper.data.Id-">isSuperUserId</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;superUsers,
org.apache.zookeeper.data.Id&nbsp;id)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#keeperException-org.apache.zookeeper.KeeperException-">keeperException</a></span>(org.apache.zookeeper.KeeperException&nbsp;ke)</code>
<div class="block">Handles KeeperExceptions in client calls.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#prefix-java.lang.String-">prefix</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;str)</code>
<div class="block">Adds this instance's identifier as a prefix to the passed <code>str</code></div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#process-org.apache.zookeeper.WatchedEvent-">process</a></span>(org.apache.zookeeper.WatchedEvent&nbsp;event)</code>
<div class="block">Method called from ZooKeeper for events and connection status.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#processEvent-org.apache.zookeeper.WatchedEvent-">processEvent</a></span>(org.apache.zookeeper.WatchedEvent&nbsp;event)</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#reconnectAfterExpiration--">reconnectAfterExpiration</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#registerListener-org.apache.hadoop.hbase.zookeeper.ZKListener-">registerListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&nbsp;listener)</code>
<div class="block">Register the specified listener to receive ZooKeeper events.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#registerListenerFirst-org.apache.hadoop.hbase.zookeeper.ZKListener-">registerListenerFirst</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&nbsp;listener)</code>
<div class="block">Register the specified listener to receive ZooKeeper events and add it as
the first in the list of current listeners.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#setZnodeAclsRecursive-java.lang.String-">setZnodeAclsRecursive</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;znode)</code>
<div class="block">Set the znode perms recursively.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#syncOrTimeout-java.lang.String-">syncOrTimeout</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">Forces a synchronization of this ZooKeeper client connection within a timeout.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#unregisterAllListeners--">unregisterAllListeners</a></span>()</code>
<div class="block">Clean all existing listeners</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#unregisterListener-org.apache.hadoop.hbase.zookeeper.ZKListener-">unregisterListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&nbsp;listener)</code>&nbsp;</td>
</tr>
</table>
<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="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.67">LOG</a></pre>
</li>
</ul>
<a name="prefix">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prefix</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.71">prefix</a></pre>
</li>
</ul>
<a name="identifier">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifier</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.72">identifier</a></pre>
</li>
</ul>
<a name="quorum">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quorum</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.75">quorum</a></pre>
</li>
</ul>
<a name="recoverableZooKeeper">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recoverableZooKeeper</h4>
<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html" title="class in org.apache.hadoop.hbase.zookeeper">RecoverableZooKeeper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.78">recoverableZooKeeper</a></pre>
</li>
</ul>
<a name="abortable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abortable</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.81">abortable</a></pre>
</li>
</ul>
<a name="aborted">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aborted</h4>
<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.83">aborted</a></pre>
</li>
</ul>
<a name="znodePaths">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>znodePaths</h4>
<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZNodePaths.html" title="class in org.apache.hadoop.hbase.zookeeper">ZNodePaths</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.85">znodePaths</a></pre>
</li>
</ul>
<a name="listeners">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listeners</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.88">listeners</a></pre>
</li>
</ul>
<a name="zkEventProcessor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>zkEventProcessor</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.99">zkEventProcessor</a></pre>
</li>
</ul>
<a name="conf">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.103">conf</a></pre>
</li>
</ul>
<a name="zkSyncTimeout">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>zkSyncTimeout</h4>
<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.105">zkSyncTimeout</a></pre>
</li>
</ul>
<a name="NAME_PATTERN">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NAME_PATTERN</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.108">NAME_PATTERN</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="ZKWatcher-org.apache.hadoop.conf.Configuration-java.lang.String-org.apache.hadoop.hbase.Abortable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ZKWatcher</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.117">ZKWatcher</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;identifier,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable)
throws <a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a>,
<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">Instantiate a ZooKeeper connection and watcher.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identifier</code> - string that is passed to RecoverableZookeeper to be used as
identifier for this instance. Use null for default.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the connection to ZooKeeper fails</dd>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a></code> - if the client can't connect to ZooKeeper</dd>
</dl>
</li>
</ul>
<a name="ZKWatcher-org.apache.hadoop.conf.Configuration-java.lang.String-org.apache.hadoop.hbase.Abortable-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ZKWatcher</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.133">ZKWatcher</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;identifier,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable,
boolean&nbsp;canCreateBaseZNode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a></pre>
<div class="block">Instantiate a ZooKeeper connection and watcher.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conf</code> - the configuration to use</dd>
<dd><code>identifier</code> - string that is passed to RecoverableZookeeper to be used as identifier for
this instance. Use null for default.</dd>
<dd><code>abortable</code> - Can be null if there is on error there is no host to abort: e.g. client
context.</dd>
<dd><code>canCreateBaseZNode</code> - true if a base ZNode can be created</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the connection to ZooKeeper fails</dd>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a></code> - if the client can't connect to ZooKeeper</dd>
</dl>
</li>
</ul>
<a name="ZKWatcher-org.apache.hadoop.conf.Configuration-java.lang.String-org.apache.hadoop.hbase.Abortable-boolean-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ZKWatcher</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.152">ZKWatcher</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;identifier,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable,
boolean&nbsp;canCreateBaseZNode,
boolean&nbsp;clientZK)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a></pre>
<div class="block">Instantiate a ZooKeeper connection and watcher.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conf</code> - the configuration to use</dd>
<dd><code>identifier</code> - string that is passed to RecoverableZookeeper to be used as identifier for
this instance. Use null for default.</dd>
<dd><code>abortable</code> - Can be null if there is on error there is no host to abort: e.g. client
context.</dd>
<dd><code>canCreateBaseZNode</code> - true if a base ZNode can be created</dd>
<dd><code>clientZK</code> - whether this watcher is set to access client ZK</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the connection to ZooKeeper fails</dd>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a></code> - if the connection to Zookeeper fails when create base
ZNodes</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="createBaseZNodes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBaseZNodes</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.199">createBaseZNodes</a>()
throws <a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkAndSetZNodeAcls--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAndSetZNodeAcls</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.221">checkAndSetZNodeAcls</a>()</pre>
<div class="block">On master start, we check the znode ACLs under the root directory and set the ACLs properly
if needed. If the cluster goes from an unsecure setup to a secure setup, this step is needed
so that the existing znodes created with open permissions are now changed with restrictive
perms.</div>
</li>
</ul>
<a name="setZnodeAclsRecursive-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setZnodeAclsRecursive</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.250">setZnodeAclsRecursive</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;znode)
throws org.apache.zookeeper.KeeperException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Set the znode perms recursively. This will do post-order recursion, so that baseZnode ACLs
will be set last in case the master fails in between.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>znode</code> - the ZNode to set the permissions for</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
</dl>
</li>
</ul>
<a name="isBaseZnodeAclSetup-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBaseZnodeAclSetup</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.267">isBaseZnodeAclSetup</a>(<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;org.apache.zookeeper.data.ACL&gt;&nbsp;acls)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Checks whether the ACLs returned from the base znode (/hbase) is set for secure setup.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>acls</code> - acls from zookeeper</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether ACLs are set for the base znode</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if getting the current user fails</dd>
</dl>
</li>
</ul>
<a name="checkACLForSuperUsers-java.lang.String:A-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkACLForSuperUsers</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.343">checkACLForSuperUsers</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;superUsers,
<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;org.apache.zookeeper.data.ACL&gt;&nbsp;acls)</pre>
</li>
</ul>
<a name="isSuperUserId-java.lang.String:A-org.apache.zookeeper.data.Id-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSuperUserId</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.373">isSuperUserId</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;superUsers,
org.apache.zookeeper.data.Id&nbsp;id)</pre>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.384">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><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></code></dd>
</dl>
</li>
</ul>
<a name="prefix-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prefix</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.394">prefix</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;str)</pre>
<div class="block">Adds this instance's identifier as a prefix to the passed <code>str</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>str</code> - String to amend.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new string with this instance's identifier as prefix: e.g.
if passed 'hello world', the returned string could be</dd>
</dl>
</li>
</ul>
<a name="getMetaReplicaNodes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetaReplicaNodes</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.403">getMetaReplicaNodes</a>()
throws org.apache.zookeeper.KeeperException</pre>
<div class="block">Get the znodes corresponding to the meta replicas from ZK</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of znodes</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="getMetaReplicaNodesAndWatchChildren--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetaReplicaNodesAndWatchChildren</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.412">getMetaReplicaNodesAndWatchChildren</a>()
throws org.apache.zookeeper.KeeperException</pre>
<div class="block">Same as <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getMetaReplicaNodes--"><code>getMetaReplicaNodes()</code></a> except that this also registers a watcher on base znode
for subsequent CREATE/DELETE operations on child nodes.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code></dd>
</dl>
</li>
</ul>
<a name="filterMetaReplicaNodes-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterMetaReplicaNodes</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.422">filterMetaReplicaNodes</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;nodes)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodes</code> - Input list of znodes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Filtered list of znodes from nodes that belong to meta replica(s).</dd>
</dl>
</li>
</ul>
<a name="registerListener-org.apache.hadoop.hbase.zookeeper.ZKListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerListener</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.440">registerListener</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&nbsp;listener)</pre>
<div class="block">Register the specified listener to receive ZooKeeper events.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the listener to register</dd>
</dl>
</li>
</ul>
<a name="registerListenerFirst-org.apache.hadoop.hbase.zookeeper.ZKListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerListenerFirst</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.449">registerListenerFirst</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&nbsp;listener)</pre>
<div class="block">Register the specified listener to receive ZooKeeper events and add it as
the first in the list of current listeners.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the listener to register</dd>
</dl>
</li>
</ul>
<a name="unregisterListener-org.apache.hadoop.hbase.zookeeper.ZKListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterListener</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.453">unregisterListener</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&nbsp;listener)</pre>
</li>
</ul>
<a name="unregisterAllListeners--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterAllListeners</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.460">unregisterAllListeners</a>()</pre>
<div class="block">Clean all existing listeners</div>
</li>
</ul>
<a name="getListeners--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getListeners</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/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.467">getListeners</a>()</pre>
<div class="block">Get a copy of current registered listeners</div>
</li>
</ul>
<a name="getNumberOfListeners--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumberOfListeners</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.474">getNumberOfListeners</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of currently registered listeners</dd>
</dl>
</li>
</ul>
<a name="getRecoverableZooKeeper--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRecoverableZooKeeper</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html" title="class in org.apache.hadoop.hbase.zookeeper">RecoverableZooKeeper</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.482">getRecoverableZooKeeper</a>()</pre>
<div class="block">Get the connection to ZooKeeper.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>connection reference to zookeeper</dd>
</dl>
</li>
</ul>
<a name="reconnectAfterExpiration--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reconnectAfterExpiration</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.486">reconnectAfterExpiration</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
org.apache.zookeeper.KeeperException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dd><code>org.apache.zookeeper.KeeperException</code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
</dl>
</li>
</ul>
<a name="getQuorum--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQuorum</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.494">getQuorum</a>()</pre>
<div class="block">Get the quorum address of this instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>quorum string of this zookeeper connection instance</dd>
</dl>
</li>
</ul>
<a name="getZNodePaths--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getZNodePaths</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZNodePaths.html" title="class in org.apache.hadoop.hbase.zookeeper">ZNodePaths</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.503">getZNodePaths</a>()</pre>
<div class="block">Get the znodePaths.
<p>
Mainly used for mocking as mockito can not mock a field access.</div>
</li>
</ul>
<a name="processEvent-org.apache.zookeeper.WatchedEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processEvent</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.507">processEvent</a>(org.apache.zookeeper.WatchedEvent&nbsp;event)</pre>
</li>
</ul>
<a name="process-org.apache.zookeeper.WatchedEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>process</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.556">process</a>(org.apache.zookeeper.WatchedEvent&nbsp;event)</pre>
<div class="block">Method called from ZooKeeper for events and connection status.
<p>
Valid events are passed along to listeners. Connection status changes
are dealt with locally.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>process</code>&nbsp;in interface&nbsp;<code>org.apache.zookeeper.Watcher</code></dd>
</dl>
</li>
</ul>
<a name="connectionEvent-org.apache.zookeeper.WatchedEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectionEvent</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.576">connectionEvent</a>(org.apache.zookeeper.WatchedEvent&nbsp;event)</pre>
<div class="block">Called when there is a connection-related event via the Watcher callback.
<p>
If Disconnected or Expired, this should shutdown the cluster. But, since
we send a KeeperException.SessionExpiredException along with the abort
call, it's possible for the Abortable to catch it and try to create a new
session with ZooKeeper. This is what the client does in HCM.
<p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the connection-related event</dd>
</dl>
</li>
</ul>
<a name="syncOrTimeout-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncOrTimeout</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.628">syncOrTimeout</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)
throws org.apache.zookeeper.KeeperException</pre>
<div class="block">Forces a synchronization of this ZooKeeper client connection within a timeout. Enforcing a
timeout lets the callers fail-fast rather than wait forever for the sync to finish.
<p>
Executing this method before running other methods will ensure that the
subsequent operations are up-to-date and consistent as of the time that
the sync is complete.
<p>
This is used for compareAndSwap type operations where we need to read the
data of an existing node and delete or transition that node, utilizing the
previously read version and data. We want to ensure that the version read
is up-to-date from when we begin the operation.
<p></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code></dd>
</dl>
</li>
</ul>
<a name="keeperException-org.apache.zookeeper.KeeperException-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keeperException</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.660">keeperException</a>(org.apache.zookeeper.KeeperException&nbsp;ke)
throws org.apache.zookeeper.KeeperException</pre>
<div class="block">Handles KeeperExceptions in client calls.
<p>
This may be temporary but for now this gives one place to deal with these.
<p>
TODO: Currently this method rethrows the exception to let the caller handle
<p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ke</code> - the exception to rethrow</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="interruptedException-java.lang.InterruptedException-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interruptedException</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.670">interruptedException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>&nbsp;ie)
throws org.apache.zookeeper.KeeperException</pre>
<div class="block">Handles InterruptedExceptions in client calls.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ie</code> - the InterruptedException instance thrown</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code> - the exception to throw, transformed from the InterruptedException</dd>
</dl>
</li>
</ul>
<a name="interruptedExceptionNoThrow-java.lang.InterruptedException-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interruptedExceptionNoThrow</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.683">interruptedExceptionNoThrow</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>&nbsp;ie,
boolean&nbsp;throwLater)</pre>
<div class="block">Log the InterruptedException and interrupt current thread</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ie</code> - The IterruptedException to log</dd>
<dd><code>throwLater</code> - Whether we will throw the exception latter</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.696">close</a>()</pre>
<div class="block">Close the connection to ZooKeeper.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
</dl>
</li>
</ul>
<a name="getConfiguration--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfiguration</h4>
<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.706">getConfiguration</a>()</pre>
</li>
</ul>
<a name="abort-java.lang.String-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.711">abort</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;why,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html#abort-java.lang.String-java.lang.Throwable-">Abortable</a></code></span></div>
<div class="block">Abort the server or client.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html#abort-java.lang.String-java.lang.Throwable-">abort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>why</code> - Why we're aborting.</dd>
<dd><code>e</code> - Throwable that caused abort. Can be null.</dd>
</dl>
</li>
</ul>
<a name="isAborted--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isAborted</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#line.720">isAborted</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html#isAborted--">Abortable</a></code></span></div>
<div class="block">Check if the server or client was aborted.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html#isAborted--">isAborted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the server or client was aborted, false otherwise</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/ZKWatcher.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/ZKUtil.ZKUtilOp.SetData.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/ZNodePaths.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/ZKWatcher.html" target="_top">Frames</a></li>
<li><a href="ZKWatcher.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;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>