blob: 82d2de8138867509b7b6492cda794f1c9c5dc10c [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>ServerManager (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="ServerManager (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":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":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/ServerManager.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/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/master/ServerManager.html" target="_top">Frames</a></li>
<li><a href="ServerManager.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><a href="#nested.class.summary">Nested</a>&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.master</div>
<h2 title="Class ServerManager" class="title">Class ServerManager</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.master.ServerManager</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/master/ServerManager.html#line.107">ServerManager</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">The ServerManager class manages info about region servers.
<p>
Maintains lists of online and dead servers. Processes the startups,
shutdowns, and deaths of region servers.
<p>
Servers are distinguished in two different ways. A given server has a
location, specified by hostname and port, and of which there can only be one
online at any given time. A server instance is specified by the location
(hostname and port) as well as the startcode (timestamp from when the server
was started). This is used to differentiate a restarted instance of a given
server from the original instance.
<p>
If a sever is known not to be running any more, it is called dead. The dead
server needs to be handled by a ServerShutdownHandler. If the handler is not
enabled yet, the server can't be handled right away so it is queued up.
After the handler is enabled, the server will be submitted to a handler to handle.
However, the handler may be just partially enabled. If so,
the server cannot be fully processed, and be queued up for further processing.
A server is fully processed only after the handler is fully enabled
and has completed the handling.</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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html" title="class in org.apache.hadoop.hbase.master">ServerManager.FlushedSequenceIdFlusher</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.ServerLiveState.html" title="enum in org.apache.hadoop.hbase.master">ServerManager.ServerLiveState</a></span></code>&nbsp;</td>
</tr>
</table>
</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>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#clusterShutdown">clusterShutdown</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html" title="class in org.apache.hadoop.hbase.master">DeadServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#deadservers">deadservers</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/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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/master/ServerManager.html#drainingServers">drainingServers</a></span></code>
<div class="block">List of region servers that should not get any more new regions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html" title="class in org.apache.hadoop.hbase.master">ServerManager.FlushedSequenceIdFlusher</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#flushedSeqIdFlusher">flushedSeqIdFlusher</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <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/master/ServerManager.html#FLUSHEDSEQUENCEID_FLUSHER_INTERVAL">FLUSHEDSEQUENCEID_FLUSHER_INTERVAL</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT">FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT</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/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#flushedSequenceIdByRegion">flushedSequenceIdByRegion</a></span></code>
<div class="block">The last flushed sequence id for a region.</div>
</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/master/ServerManager.html#isFlushSeqIdPersistInProgress">isFlushSeqIdPersistInProgress</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/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/master/ServerManager.html#LAST_FLUSHED_SEQ_ID_FILE">LAST_FLUSHED_SEQ_ID_FILE</a></span></code>
<div class="block">File on hdfs to store last flushed sequence id of regions</div>
</td>
</tr>
<tr class="rowColor">
<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/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#listeners">listeners</a></span></code>
<div class="block">Listeners that are called on server events.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#master">master</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <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/master/ServerManager.html#MAX_CLOCK_SKEW_MS">MAX_CLOCK_SKEW_MS</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/master/ServerManager.html#maxSkew">maxSkew</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/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#onlineServers">onlineServers</a></span></code>
<div class="block">Map of registered servers to their current load</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <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/master/ServerManager.html#PERSIST_FLUSHEDSEQUENCEID">PERSIST_FLUSHEDSEQUENCEID</a></span></code>
<div class="block">see HBASE-20727
if set to true, flushedSequenceIdByRegion and storeFlushedSequenceIdsByRegion
will be persisted to HDFS and loaded when master restart to speed up log split</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#PERSIST_FLUSHEDSEQUENCEID_DEFAULT">PERSIST_FLUSHEDSEQUENCEID_DEFAULT</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/master/ServerManager.html#persistFlushedSequenceId">persistFlushedSequenceId</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/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#storeFlushedSequenceIdsByRegion">storeFlushedSequenceIdsByRegion</a></span></code>
<div class="block">The last flushed sequence id for a store in a region.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <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/master/ServerManager.html#WAIT_ON_REGIONSERVERS_INTERVAL">WAIT_ON_REGIONSERVERS_INTERVAL</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <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/master/ServerManager.html#WAIT_ON_REGIONSERVERS_MAXTOSTART">WAIT_ON_REGIONSERVERS_MAXTOSTART</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <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/master/ServerManager.html#WAIT_ON_REGIONSERVERS_MINTOSTART">WAIT_ON_REGIONSERVERS_MINTOSTART</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <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/master/ServerManager.html#WAIT_ON_REGIONSERVERS_TIMEOUT">WAIT_ON_REGIONSERVERS_TIMEOUT</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/master/ServerManager.html#warningSkew">warningSkew</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/master/ServerManager.html#ServerManager-org.apache.hadoop.hbase.master.MasterServices-">ServerManager</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master)</code>
<div class="block">Constructor.</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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#addServerToDrainList-org.apache.hadoop.hbase.ServerName-">addServerToDrainList</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">Add the server to the drain list.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#areDeadServersInProgress--">areDeadServersInProgress</a></span>()</code>
<div class="block">Checks if any dead servers are currently in progress.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#checkAndRecordNewServer-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">checkAndRecordNewServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;sl)</code>
<div class="block">Check is a server of same host and port already exists,
if not, or the existed one got a smaller start code, record it.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#checkClockSkew-org.apache.hadoop.hbase.ServerName-long-">checkClockSkew</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
long&nbsp;serverCurrentTime)</code>
<div class="block">Checks if the clock skew between the server and the master.</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/master/ServerManager.html#checkIsDead-org.apache.hadoop.hbase.ServerName-java.lang.String-">checkIsDead</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
<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;what)</code>
<div class="block">Called when RegionServer first reports in for duty and thereafter each
time it heartbeats to make sure it is has not been figured for dead.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#clearDeadServersWithSameHostNameAndPortOfOnlineServer--">clearDeadServersWithSameHostNameAndPortOfOnlineServer</a></span>()</code>
<div class="block">To clear any dead server with same host name and port of any online server</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#closeRegionSilentlyAndWait-org.apache.hadoop.hbase.client.AsyncClusterConnection-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-long-">closeRegionSilentlyAndWait</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a>&nbsp;connection,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
long&nbsp;timeout)</code>
<div class="block">Contacts a region server and waits up to timeout ms
to close the region.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#countOfRegionServers--">countOfRegionServers</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/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/master/ServerManager.html#createDestinationServersList--">createDestinationServersList</a></span>()</code>
<div class="block">Calls <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#createDestinationServersList-java.util.List-"><code>createDestinationServersList(java.util.List&lt;org.apache.hadoop.hbase.ServerName&gt;)</code></a> without server to exclude.</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="../../../../../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/master/ServerManager.html#createDestinationServersList-java.util.List-">createDestinationServersList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;serversToExclude)</code>
<div class="block">Creates a list of possible destinations for a region.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#expireServer-org.apache.hadoop.hbase.ServerName-">expireServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
<div class="block">Expire the passed server.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#expireServer-org.apache.hadoop.hbase.ServerName-boolean-">expireServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
boolean&nbsp;force)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#findDeadServersAndProcess-java.util.Set-java.util.Set-">findDeadServersAndProcess</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;deadServersFromPE,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;liveServersFromWALDir)</code>
<div class="block">Find out the region servers crashed between the crash of the previous master instance and the
current master instance and schedule SCP for them.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private <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/master/ServerManager.html#findServerWithSameHostnamePortWithLock-org.apache.hadoop.hbase.ServerName-">findServerWithSameHostnamePortWithLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
<div class="block">Assumes onlineServers is locked.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getAverageLoad--">getAverageLoad</a></span>()</code>
<div class="block">Compute the average load across all region servers.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html" title="class in org.apache.hadoop.hbase.master">DeadServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getDeadServers--">getDeadServers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/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/master/ServerManager.html#getDrainingServersList--">getDrainingServersList</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getFlushedSequenceIdByRegion--">getFlushedSequenceIdByRegion</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getInfoPort-org.apache.hadoop.hbase.ServerName-">getInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getLastFlushedSequenceId-byte:A-">getLastFlushedSequenceId</a></span>(byte[]&nbsp;encodedRegionName)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getLoad-org.apache.hadoop.hbase.ServerName-">getLoad</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getMinToStart--">getMinToStart</a></span>()</code>
<div class="block">Calculate min necessary to start.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getOnlineServers--">getOnlineServers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i23" 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/master/ServerManager.html#getOnlineServersList--">getOnlineServersList</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i24" 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/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/master/ServerManager.html#getOnlineServersListWithPredicator-java.util.List-java.util.function.Predicate-">getOnlineServersListWithPredicator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;keys,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function">Predicate</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&gt;&nbsp;idleServerPredicator)</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<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/master/ServerManager.html#getRegionServersInZK-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">getRegionServersInZK</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</code>&nbsp;</td>
</tr>
<tr id="i26" 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/master/ServerManager.html#getStrForMax-int-">getStrForMax</a></span>(int&nbsp;max)</code>&nbsp;</td>
</tr>
<tr id="i27" 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/master/ServerManager.html#getVersion-org.apache.hadoop.hbase.ServerName-">getVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
<div class="block">May return "0.0.0" when server is not online</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getVersionNumber-org.apache.hadoop.hbase.ServerName-">getVersionNumber</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
<div class="block">May return 0 when server is not online.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isClusterShutdown--">isClusterShutdown</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isRegionInServerManagerStates-org.apache.hadoop.hbase.client.RegionInfo-">isRegionInServerManagerStates</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isServerDead-org.apache.hadoop.hbase.ServerName-">isServerDead</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
<div class="block">Check if a server is known to be dead.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.ServerLiveState.html" title="enum in org.apache.hadoop.hbase.master">ServerManager.ServerLiveState</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isServerKnownAndOnline-org.apache.hadoop.hbase.ServerName-">isServerKnownAndOnline</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isServerOnline-org.apache.hadoop.hbase.ServerName-">isServerOnline</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isServerUnknown-org.apache.hadoop.hbase.ServerName-">isServerUnknown</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
<div class="block">Check if a server is unknown.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#letRegionServersShutdown--">letRegionServersShutdown</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#loadLastFlushedSequenceIds--">loadLastFlushedSequenceIds</a></span>()</code>
<div class="block">Load last flushed sequence id of each region from HDFS, if persisted</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#moveFromOnlineToDeadServers-org.apache.hadoop.hbase.ServerName-">moveFromOnlineToDeadServers</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">Called when server has expired.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#persistRegionLastFlushedSequenceIds--">persistRegionLastFlushedSequenceIds</a></span>()</code>
<div class="block">Persist last flushed sequence id of each region to HDFS</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#recordNewServerWithLock-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">recordNewServerWithLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;sl)</code>
<div class="block">Adds the onlineServers list.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#regionServerReport-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">regionServerReport</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;sl)</code>&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>(package private) <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/master/ServerManager.html#regionServerStartup-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest-int-java.lang.String-java.net.InetAddress-">regionServerStartup</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest&nbsp;request,
int&nbsp;versionNumber,
<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;version,
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;ia)</code>
<div class="block">Let the server manager know a new regionserver has come online</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#registerListener-org.apache.hadoop.hbase.master.ServerListener-">registerListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>&nbsp;listener)</code>
<div class="block">Add the listener to the notification list.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#removeDeletedRegionFromLoadedFlushedSequenceIds--">removeDeletedRegionFromLoadedFlushedSequenceIds</a></span>()</code>
<div class="block">Regions may have been removed between latest persist of FlushedSequenceIds
and master abort.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#removeRegion-org.apache.hadoop.hbase.client.RegionInfo-">removeRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
<div class="block">Called by delete table and similar to notify the ServerManager that a region was removed.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#removeRegions-java.util.List-">removeRegions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regions)</code>
<div class="block">Called by delete table and similar to notify the ServerManager that a region was removed.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#removeServerFromDrainList-org.apache.hadoop.hbase.ServerName-">removeServerFromDrainList</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#shutdownCluster--">shutdownCluster</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#startChore--">startChore</a></span>()</code>
<div class="block">start chore in ServerManager</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#stop--">stop</a></span>()</code>
<div class="block">Stop the ServerManager.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#unregisterListener-org.apache.hadoop.hbase.master.ServerListener-">unregisterListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>&nbsp;listener)</code>
<div class="block">Remove the listener from the notification list.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#updateLastFlushedSequenceIds-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">updateLastFlushedSequenceIds</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;hsl)</code>
<div class="block">Updates last flushed sequence Ids for the regions on server sn</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#waitForRegionServers-org.apache.hadoop.hbase.monitoring.MonitoredTask-">waitForRegionServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>
<div class="block">Wait for the region servers to report in.</div>
</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#toString--" title="class or interface in java.lang">toString</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="WAIT_ON_REGIONSERVERS_MAXTOSTART">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WAIT_ON_REGIONSERVERS_MAXTOSTART</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.108">WAIT_ON_REGIONSERVERS_MAXTOSTART</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.WAIT_ON_REGIONSERVERS_MAXTOSTART">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WAIT_ON_REGIONSERVERS_MINTOSTART">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WAIT_ON_REGIONSERVERS_MINTOSTART</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.111">WAIT_ON_REGIONSERVERS_MINTOSTART</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.WAIT_ON_REGIONSERVERS_MINTOSTART">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WAIT_ON_REGIONSERVERS_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WAIT_ON_REGIONSERVERS_TIMEOUT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.114">WAIT_ON_REGIONSERVERS_TIMEOUT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.WAIT_ON_REGIONSERVERS_TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WAIT_ON_REGIONSERVERS_INTERVAL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WAIT_ON_REGIONSERVERS_INTERVAL</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.117">WAIT_ON_REGIONSERVERS_INTERVAL</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.WAIT_ON_REGIONSERVERS_INTERVAL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PERSIST_FLUSHEDSEQUENCEID">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PERSIST_FLUSHEDSEQUENCEID</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.125">PERSIST_FLUSHEDSEQUENCEID</a></pre>
<div class="block">see HBASE-20727
if set to true, flushedSequenceIdByRegion and storeFlushedSequenceIdsByRegion
will be persisted to HDFS and loaded when master restart to speed up log split</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.PERSIST_FLUSHEDSEQUENCEID">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PERSIST_FLUSHEDSEQUENCEID_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PERSIST_FLUSHEDSEQUENCEID_DEFAULT</h4>
<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.128">PERSIST_FLUSHEDSEQUENCEID_DEFAULT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.PERSIST_FLUSHEDSEQUENCEID_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="FLUSHEDSEQUENCEID_FLUSHER_INTERVAL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FLUSHEDSEQUENCEID_FLUSHER_INTERVAL</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.130">FLUSHEDSEQUENCEID_FLUSHER_INTERVAL</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.FLUSHEDSEQUENCEID_FLUSHER_INTERVAL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.133">FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MAX_CLOCK_SKEW_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_CLOCK_SKEW_MS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.136">MAX_CLOCK_SKEW_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.MAX_CLOCK_SKEW_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<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/master/ServerManager.html#line.138">LOG</a></pre>
</li>
</ul>
<a name="clusterShutdown">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clusterShutdown</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.141">clusterShutdown</a></pre>
</li>
</ul>
<a name="flushedSequenceIdByRegion">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flushedSequenceIdByRegion</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.146">flushedSequenceIdByRegion</a></pre>
<div class="block">The last flushed sequence id for a region.</div>
</li>
</ul>
<a name="persistFlushedSequenceId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistFlushedSequenceId</h4>
<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.149">persistFlushedSequenceId</a></pre>
</li>
</ul>
<a name="isFlushSeqIdPersistInProgress">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFlushSeqIdPersistInProgress</h4>
<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.150">isFlushSeqIdPersistInProgress</a></pre>
</li>
</ul>
<a name="LAST_FLUSHED_SEQ_ID_FILE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAST_FLUSHED_SEQ_ID_FILE</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.152">LAST_FLUSHED_SEQ_ID_FILE</a></pre>
<div class="block">File on hdfs to store last flushed sequence id of regions</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.ServerManager.LAST_FLUSHED_SEQ_ID_FILE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="flushedSeqIdFlusher">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flushedSeqIdFlusher</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html" title="class in org.apache.hadoop.hbase.master">ServerManager.FlushedSequenceIdFlusher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.153">flushedSeqIdFlusher</a></pre>
</li>
</ul>
<a name="storeFlushedSequenceIdsByRegion">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>storeFlushedSequenceIdsByRegion</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.160">storeFlushedSequenceIdsByRegion</a></pre>
<div class="block">The last flushed sequence id for a store in a region.</div>
</li>
</ul>
<a name="onlineServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onlineServers</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.163">onlineServers</a></pre>
<div class="block">Map of registered servers to their current load</div>
</li>
</ul>
<a name="drainingServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drainingServers</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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/master/ServerManager.html#line.167">drainingServers</a></pre>
<div class="block">List of region servers that should not get any more new regions.</div>
</li>
</ul>
<a name="master">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>master</h4>
<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.169">master</a></pre>
</li>
</ul>
<a name="deadservers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deadservers</h4>
<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html" title="class in org.apache.hadoop.hbase.master">DeadServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.171">deadservers</a></pre>
</li>
</ul>
<a name="maxSkew">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxSkew</h4>
<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.173">maxSkew</a></pre>
</li>
</ul>
<a name="warningSkew">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>warningSkew</h4>
<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.174">warningSkew</a></pre>
</li>
</ul>
<a name="listeners">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>listeners</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.177">listeners</a></pre>
<div class="block">Listeners that are called on server events.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ServerManager-org.apache.hadoop.hbase.master.MasterServices-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ServerManager</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.182">ServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master)</pre>
<div class="block">Constructor.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="registerListener-org.apache.hadoop.hbase.master.ServerListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerListener</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.195">registerListener</a>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>&nbsp;listener)</pre>
<div class="block">Add the listener to the notification list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - The ServerListener to register</dd>
</dl>
</li>
</ul>
<a name="unregisterListener-org.apache.hadoop.hbase.master.ServerListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterListener</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.203">unregisterListener</a>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>&nbsp;listener)</pre>
<div class="block">Remove the listener from the notification list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - The ServerListener to unregister</dd>
</dl>
</li>
</ul>
<a name="regionServerStartup-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest-int-java.lang.String-java.net.InetAddress-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionServerStartup</h4>
<pre><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/master/ServerManager.html#line.216">regionServerStartup</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest&nbsp;request,
int&nbsp;versionNumber,
<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;version,
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;ia)
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">Let the server manager know a new regionserver has come online</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - the startup request</dd>
<dd><code>versionNumber</code> - the version number of the new regionserver</dd>
<dd><code>version</code> - the version of the new regionserver, could contain strings like "SNAPSHOT"</dd>
<dd><code>ia</code> - the InetAddress from which request is received</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The ServerName we know this server as.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="updateLastFlushedSequenceIds-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateLastFlushedSequenceIds</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.243">updateLastFlushedSequenceIds</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;hsl)</pre>
<div class="block">Updates last flushed sequence Ids for the regions on server sn</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sn</code> - </dd>
<dd><code>hsl</code> - </dd>
</dl>
</li>
</ul>
<a name="regionServerReport-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>regionServerReport</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.279">regionServerReport</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;sl)
throws <a href="../../../../../org/apache/hadoop/hbase/YouAreDeadException.html" title="class in org.apache.hadoop.hbase">YouAreDeadException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/YouAreDeadException.html" title="class in org.apache.hadoop.hbase">YouAreDeadException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkAndRecordNewServer-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAndRecordNewServer</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.305">checkAndRecordNewServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;sl)</pre>
<div class="block">Check is a server of same host and port already exists,
if not, or the existed one got a smaller start code, record it.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serverName</code> - the server to check and record</dd>
<dd><code>sl</code> - the server load on the server</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the server is recorded, otherwise, false</dd>
</dl>
</li>
</ul>
<a name="findDeadServersAndProcess-java.util.Set-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findDeadServersAndProcess</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.348">findDeadServersAndProcess</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;deadServersFromPE,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;liveServersFromWALDir)</pre>
<div class="block">Find out the region servers crashed between the crash of the previous master instance and the
current master instance and schedule SCP for them.
<p/>
Since the <code>RegionServerTracker</code> has already helped us to construct the online servers set
by scanning zookeeper, now we can compare the online servers with <code>liveServersFromWALDir</code>
to find out whether there are servers which are already dead.
<p/>
Must be called inside the initialization method of <code>RegionServerTracker</code> to avoid
concurrency issue.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deadServersFromPE</code> - the region servers which already have a SCP associated.</dd>
<dd><code>liveServersFromWALDir</code> - the live region servers from wal directory.</dd>
</dl>
</li>
</ul>
<a name="checkClockSkew-org.apache.hadoop.hbase.ServerName-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkClockSkew</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.363">checkClockSkew</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
long&nbsp;serverCurrentTime)
throws <a href="../../../../../org/apache/hadoop/hbase/ClockOutOfSyncException.html" title="class in org.apache.hadoop.hbase">ClockOutOfSyncException</a></pre>
<div class="block">Checks if the clock skew between the server and the master. If the clock skew exceeds the
configured max, it will throw an exception; if it exceeds the configured warning threshold,
it will log a warning but start normally.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serverName</code> - Incoming servers's name</dd>
<dd><code>serverCurrentTime</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/ClockOutOfSyncException.html" title="class in org.apache.hadoop.hbase">ClockOutOfSyncException</a></code> - if the skew exceeds the configured max value</dd>
</dl>
</li>
</ul>
<a name="checkIsDead-org.apache.hadoop.hbase.ServerName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkIsDead</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.388">checkIsDead</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
<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;what)
throws <a href="../../../../../org/apache/hadoop/hbase/YouAreDeadException.html" title="class in org.apache.hadoop.hbase">YouAreDeadException</a></pre>
<div class="block">Called when RegionServer first reports in for duty and thereafter each
time it heartbeats to make sure it is has not been figured for dead.
If this server is on the dead list, reject it with a YouAreDeadException.
If it was dead but came back with a new start code, remove the old entry
from the dead list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>what</code> - START or REPORT</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/YouAreDeadException.html" title="class in org.apache.hadoop.hbase">YouAreDeadException</a></code></dd>
</dl>
</li>
</ul>
<a name="findServerWithSameHostnamePortWithLock-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findServerWithSameHostnamePortWithLock</h4>
<pre>private&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/master/ServerManager.html#line.412">findServerWithSameHostnamePortWithLock</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<div class="block">Assumes onlineServers is locked.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ServerName with matching hostname and port.</dd>
</dl>
</li>
</ul>
<a name="recordNewServerWithLock-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recordNewServerWithLock</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.430">recordNewServerWithLock</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;sl)</pre>
<div class="block">Adds the onlineServers list. onlineServers should be locked.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serverName</code> - The remote servers name.</dd>
</dl>
</li>
</ul>
<a name="getFlushedSequenceIdByRegion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFlushedSequenceIdByRegion</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.435">getFlushedSequenceIdByRegion</a>()</pre>
</li>
</ul>
<a name="getLastFlushedSequenceId-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastFlushedSequenceId</h4>
<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.439">getLastFlushedSequenceId</a>(byte[]&nbsp;encodedRegionName)</pre>
</li>
</ul>
<a name="getLoad-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLoad</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.459">getLoad</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serverName</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ServerMetrics if serverName is known else null</dd>
</dl>
</li>
</ul>
<a name="getAverageLoad--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAverageLoad</h4>
<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.469">getAverageLoad</a>()</pre>
<div class="block">Compute the average load across all region servers.
Currently, this uses a very naive computation - just uses the number of
regions being served, ignoring stats about number of requests.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the average load</dd>
</dl>
</li>
</ul>
<a name="countOfRegionServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countOfRegionServers</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.481">countOfRegionServers</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the count of active regionservers</dd>
</dl>
</li>
</ul>
<a name="getOnlineServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnlineServers</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.489">getOnlineServers</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Read-only map of servers to serverinfo</dd>
</dl>
</li>
</ul>
<a name="getDeadServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeadServers</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html" title="class in org.apache.hadoop.hbase.master">DeadServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.496">getDeadServers</a>()</pre>
</li>
</ul>
<a name="areDeadServersInProgress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>areDeadServersInProgress</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.504">areDeadServersInProgress</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Checks if any dead servers are currently in progress.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if any RS are being processed as dead, false if not</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="letRegionServersShutdown--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>letRegionServersShutdown</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.509">letRegionServersShutdown</a>()</pre>
</li>
</ul>
<a name="getRegionServersInZK-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegionServersInZK</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/master/ServerManager.html#line.558">getRegionServersInZK</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</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code></dd>
</dl>
</li>
</ul>
<a name="expireServer-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expireServer</h4>
<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.571">expireServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<div class="block">Expire the passed server. Add it to list of dead servers and queue a shutdown processing.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pid if we queued a ServerCrashProcedure else <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#NO_PROC_ID"><code>Procedure.NO_PROC_ID</code></a> if we did
not (could happen for many reasons including the fact that its this server that is
going down or we already have queued an SCP for this server or SCP processing is
currently disabled because we are in startup phase).</dd>
</dl>
</li>
</ul>
<a name="expireServer-org.apache.hadoop.hbase.ServerName-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expireServer</h4>
<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.576">expireServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
boolean&nbsp;force)</pre>
</li>
</ul>
<a name="moveFromOnlineToDeadServers-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveFromOnlineToDeadServers</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.629">moveFromOnlineToDeadServers</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
<div class="block">Called when server has expired.</div>
</li>
</ul>
<a name="removeServerFromDrainList-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeServerFromDrainList</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.651">removeServerFromDrainList</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
</li>
</ul>
<a name="addServerToDrainList-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addServerToDrainList</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.668">addServerToDrainList</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
<div class="block">Add the server to the drain list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sn</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the server is added or the server is already on the drain list.</dd>
</dl>
</li>
</ul>
<a name="closeRegionSilentlyAndWait-org.apache.hadoop.hbase.client.AsyncClusterConnection-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeRegionSilentlyAndWait</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.693">closeRegionSilentlyAndWait</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncClusterConnection</a>&nbsp;connection,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
long&nbsp;timeout)
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="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">Contacts a region server and waits up to timeout ms
to close the region. This bypasses the active hmaster.
Pass -1 as timeout if you do not want to wait on result.</div>
<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><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="getMinToStart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinToStart</h4>
<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.736">getMinToStart</a>()</pre>
<div class="block">Calculate min necessary to start. This is not an absolute. It is just
a friction that will cause us hang around a bit longer waiting on
RegionServers to check-in.</div>
</li>
</ul>
<a name="waitForRegionServers-org.apache.hadoop.hbase.monitoring.MonitoredTask-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForRegionServers</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.761">waitForRegionServers</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
throws <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">Wait for the region servers to report in.
We will wait until one of this condition is met:
- the master is stopped
- the 'hbase.master.wait.on.regionservers.maxtostart' number of
region servers is reached
- the 'hbase.master.wait.on.regionservers.mintostart' is reached AND
there have been no new region server in for
'hbase.master.wait.on.regionservers.interval' time AND
the 'hbase.master.wait.on.regionservers.timeout' is reached</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<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="getStrForMax-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStrForMax</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.828">getStrForMax</a>(int&nbsp;max)</pre>
</li>
</ul>
<a name="getOnlineServersList--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnlineServersList</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/master/ServerManager.html#line.835">getOnlineServersList</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A copy of the internal list of online servers.</dd>
</dl>
</li>
</ul>
<a name="getOnlineServersListWithPredicator-java.util.List-java.util.function.Predicate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnlineServersListWithPredicator</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/master/ServerManager.html#line.846">getOnlineServersListWithPredicator</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="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;keys,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function">Predicate</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>&gt;&nbsp;idleServerPredicator)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keys</code> - The target server name</dd>
<dd><code>idleServerPredicator</code> - Evaluates the server on the given load</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A copy of the internal list of online servers matched by the predicator</dd>
</dl>
</li>
</ul>
<a name="getDrainingServersList--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDrainingServersList</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/master/ServerManager.html#line.865">getDrainingServersList</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A copy of the internal list of draining servers.</dd>
</dl>
</li>
</ul>
<a name="isServerOnline-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isServerOnline</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.869">isServerOnline</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
</li>
</ul>
<a name="isServerKnownAndOnline-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isServerKnownAndOnline</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.ServerLiveState.html" title="enum in org.apache.hadoop.hbase.master">ServerManager.ServerLiveState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.882">isServerKnownAndOnline</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the server is online, dead, or unknown.</dd>
</dl>
</li>
</ul>
<a name="isServerDead-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isServerDead</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.893">isServerDead</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<div class="block">Check if a server is known to be dead. A server can be online,
or known to be dead, or unknown to this manager (i.e, not online,
not known to be dead either; it is simply not tracked by the
master any more, for example, a very old previous instance).</div>
</li>
</ul>
<a name="isServerUnknown-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isServerUnknown</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.903">isServerUnknown</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<div class="block">Check if a server is unknown. A server can be online,
or known to be dead, or unknown to this manager (i.e, not online,
not known to be dead either; it is simply not tracked by the
master any more, for example, a very old previous instance).</div>
</li>
</ul>
<a name="shutdownCluster--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdownCluster</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.908">shutdownCluster</a>()</pre>
</li>
</ul>
<a name="isClusterShutdown--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClusterShutdown</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.918">isClusterShutdown</a>()</pre>
</li>
</ul>
<a name="startChore--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startChore</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.925">startChore</a>()</pre>
<div class="block">start chore in ServerManager</div>
</li>
</ul>
<a name="stop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.946">stop</a>()</pre>
<div class="block">Stop the ServerManager.</div>
</li>
</ul>
<a name="createDestinationServersList-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDestinationServersList</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/master/ServerManager.html#line.965">createDestinationServersList</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="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;serversToExclude)</pre>
<div class="block">Creates a list of possible destinations for a region. It contains the online servers, but not
the draining or dying servers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serversToExclude</code> - can be null if there is no server to exclude</dd>
</dl>
</li>
</ul>
<a name="createDestinationServersList--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDestinationServersList</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/master/ServerManager.html#line.990">createDestinationServersList</a>()</pre>
<div class="block">Calls <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#createDestinationServersList-java.util.List-"><code>createDestinationServersList(java.util.List&lt;org.apache.hadoop.hbase.ServerName&gt;)</code></a> without server to exclude.</div>
</li>
</ul>
<a name="clearDeadServersWithSameHostNameAndPortOfOnlineServer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearDeadServersWithSameHostNameAndPortOfOnlineServer</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.997">clearDeadServersWithSameHostNameAndPortOfOnlineServer</a>()</pre>
<div class="block">To clear any dead server with same host name and port of any online server</div>
</li>
</ul>
<a name="removeRegion-org.apache.hadoop.hbase.client.RegionInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRegion</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1006">removeRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</pre>
<div class="block">Called by delete table and similar to notify the ServerManager that a region was removed.</div>
</li>
</ul>
<a name="isRegionInServerManagerStates-org.apache.hadoop.hbase.client.RegionInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRegionInServerManagerStates</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1012">isRegionInServerManagerStates</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</pre>
</li>
</ul>
<a name="removeRegions-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRegions</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1021">removeRegions</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="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regions)</pre>
<div class="block">Called by delete table and similar to notify the ServerManager that a region was removed.</div>
</li>
</ul>
<a name="getVersionNumber-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVersionNumber</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1030">getVersionNumber</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<div class="block">May return 0 when server is not online.</div>
</li>
</ul>
<a name="getVersion-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVersion</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/master/ServerManager.html#line.1038">getVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
<div class="block">May return "0.0.0" when server is not online</div>
</li>
</ul>
<a name="getInfoPort-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInfoPort</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1043">getInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
</li>
</ul>
<a name="persistRegionLastFlushedSequenceIds--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistRegionLastFlushedSequenceIds</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1052">persistRegionLastFlushedSequenceIds</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Persist last flushed sequence id of each region to HDFS</div>
<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> - if persit to HDFS fails</dd>
</dl>
</li>
</ul>
<a name="loadLastFlushedSequenceIds--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadLastFlushedSequenceIds</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1109">loadLastFlushedSequenceIds</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Load last flushed sequence id of each region from HDFS, if persisted</div>
<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>
</dl>
</li>
</ul>
<a name="removeDeletedRegionFromLoadedFlushedSequenceIds--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>removeDeletedRegionFromLoadedFlushedSequenceIds</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1162">removeDeletedRegionFromLoadedFlushedSequenceIds</a>()</pre>
<div class="block">Regions may have been removed between latest persist of FlushedSequenceIds
and master abort. So after loading FlushedSequenceIds from file, and after
meta loaded, we need to remove the deleted region according to RegionStates.</div>
</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/ServerManager.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/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/master/ServerManager.html" target="_top">Frames</a></li>
<li><a href="ServerManager.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><a href="#nested.class.summary">Nested</a>&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>