You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/06/20 04:25:54 UTC
[38/51] [partial] hbase-site git commit: Published site at
9101fc246f86445006bfbcdfda5cc495016dc280.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/65565d77/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html b/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html
index 2d0d7ff..d0b6408 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html
@@ -18,7 +18,7 @@
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};
+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};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
<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 Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Next 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 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>
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
<div>
<ul class="subNavList">
<li>Summary: </li>
-<li>Nested | </li>
+<li><a href="#nested.class.summary">Nested</a> | </li>
<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.96">ServerManager</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.105">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>
@@ -138,6 +138,25 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<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"> </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 </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> </td>
+</tr>
+</table>
+</li>
+</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
@@ -169,47 +188,72 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</td>
</tr>
<tr class="altColor">
+<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> </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#FLUSHEDSEQUENCEID_FLUSHER_INTERVAL">FLUSHEDSEQUENCEID_FLUSHER_INTERVAL</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<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> </td>
+</tr>
+<tr class="rowColor">
<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><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>></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="altColor">
+<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> </td>
+</tr>
<tr class="rowColor">
+<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="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>></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">
+<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#LOG">LOG</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<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> </td>
</tr>
-<tr class="altColor">
+<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> </td>
</tr>
-<tr class="rowColor">
+<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><<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>></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="altColor">
-<td class="colFirst"><code>private <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><<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#queuedDeadServers">queuedDeadServers</a></span></code>
-<div class="block">Set of region servers which are dead but not processed immediately.</div>
+<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> </td>
+</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private <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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#requeuedDeadServers">requeuedDeadServers</a></span></code>
-<div class="block">Set of region servers which are dead and submitted to ServerShutdownHandler to process but not
- fully processed immediately.</div>
-</td>
+<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> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcControllerFactory</a></code></td>
@@ -350,24 +394,30 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/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> serverName)</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> serverName)</code>
+<div class="block">Expire the passed server.</div>
+</td>
</tr>
<tr id="i11" 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#findOutDeadServersAndProcess-java.util.Set-java.util.Set-">findOutDeadServersAndProcess</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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> 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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> 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="i12" class="altColor">
<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> serverName)</code>
<div class="block">Assumes onlineServers is locked.</div>
</td>
</tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
<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="i13" class="rowColor">
-<td class="colFirst"><code>(package private) <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><<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#getDeadNotExpiredServers--">getDeadNotExpiredServers</a></span>()</code> </td>
-</tr>
<tr id="i14" class="altColor">
<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> </td>
@@ -377,108 +427,113 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getDrainingServersList--">getDrainingServersList</a></span>()</code> </td>
</tr>
<tr id="i16" class="altColor">
+<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><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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getFlushedSequenceIdByRegion--">getFlushedSequenceIdByRegion</a></span>()</code> </td>
+</tr>
+<tr id="i17" 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#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> serverName)</code> </td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
<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[] encodedRegionName)</code> </td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
<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> serverName)</code> </td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
<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="i20" class="altColor">
+<tr id="i21" class="rowColor">
<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getOnlineServers--">getOnlineServers</a></span>()</code> </td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" 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><<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#getOnlineServersList--">getOnlineServersList</a></span>()</code> </td>
</tr>
-<tr id="i22" class="altColor">
+<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><<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#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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> 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><<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>> idleServerPredicator)</code> </td>
</tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<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#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> zkw)</code> </td>
</tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getRsAdmin-org.apache.hadoop.hbase.ServerName-">getRsAdmin</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" 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#getServerVersion-org.apache.hadoop.hbase.ServerName-">getServerVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code>
<div class="block">May return 0 when server is not online.</div>
</td>
</tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getStrForMax-int-">getStrForMax</a></span>(int max)</code> </td>
</tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" 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#isClusterShutdown--">isClusterShutdown</a></span>()</code> </td>
</tr>
-<tr id="i28" class="altColor">
+<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#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> hri)</code> </td>
</tr>
-<tr id="i29" class="rowColor">
+<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#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> serverName)</code>
<div class="block">Check if a server is known to be dead.</div>
</td>
</tr>
-<tr id="i30" class="altColor">
+<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#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> serverName)</code> </td>
</tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" 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#letRegionServersShutdown--">letRegionServersShutdown</a></span>()</code> </td>
</tr>
-<tr id="i32" 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#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> sn)</code> </td>
-</tr>
<tr id="i33" class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#newRpcController--">newRpcController</a></span>()</code> </td>
+<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="i34" 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#processDeadServer-org.apache.hadoop.hbase.ServerName-boolean-">processDeadServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
- boolean shouldSplitWal)</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> sn)</code> </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#processQueuedDeadServers--">processQueuedDeadServers</a></span>()</code>
-<div class="block">Process the servers which died during master's initialization.</div>
-</td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#newRpcController--">newRpcController</a></span>()</code> </td>
</tr>
<tr id="i36" 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="i37" 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> serverName,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> sl)</code>
<div class="block">Adds the onlineServers list.</div>
</td>
</tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" 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> sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> sl)</code> </td>
</tr>
-<tr id="i38" class="altColor">
+<tr id="i39" 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.net.InetAddress-">regionServerStartup</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest request,
int versionNumber,
@@ -486,66 +541,72 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<div class="block">Let the server manager know a new regionserver has come online</div>
</td>
</tr>
-<tr id="i39" class="rowColor">
+<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#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> listener)</code>
<div class="block">Add the listener to the notification list.</div>
</td>
</tr>
-<tr id="i40" 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#removeDeadNotExpiredServers-java.util.List-">removeDeadNotExpiredServers</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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> servers)</code>
-<div class="block">Loop through the deadNotExpired server list and remove them from the
- servers.</div>
+<tr id="i41" 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="i41" class="rowColor">
+<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#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> 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="i42" class="altColor">
+<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#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><<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> 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="i43" class="rowColor">
+<tr id="i44" 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> sn)</code> </td>
</tr>
-<tr id="i44" class="altColor">
+<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#sendRegionWarmup-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-">sendRegionWarmup</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region)</code>
<div class="block">Sends a WARMUP RPC to the specified server to warmup the specified region.</div>
</td>
</tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" 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#shutdownCluster--">shutdownCluster</a></span>()</code> </td>
</tr>
-<tr id="i46" class="altColor">
+<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#startChore--">startChore</a></span>()</code>
+<div class="block">start chore in ServerManager</div>
+</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#stop--">stop</a></span>()</code>
<div class="block">Stop the ServerManager.</div>
</td>
</tr>
-<tr id="i47" class="rowColor">
+<tr id="i49" 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#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> listener)</code>
<div class="block">Remove the listener from the notification list.</div>
</td>
</tr>
-<tr id="i48" class="altColor">
+<tr id="i50" 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#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> sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> hsl)</code>
<div class="block">Updates last flushed sequence Ids for the regions on server sn</div>
</td>
</tr>
-<tr id="i49" class="rowColor">
+<tr id="i51" 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#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> status)</code>
<div class="block">Wait for the region servers to report in.</div>
@@ -579,7 +640,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>WAIT_ON_REGIONSERVERS_MAXTOSTART</h4>
-<pre>public static final <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.97">WAIT_ON_REGIONSERVERS_MAXTOSTART</a></pre>
+<pre>public static final <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.106">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>
@@ -592,7 +653,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>WAIT_ON_REGIONSERVERS_MINTOSTART</h4>
-<pre>public static final <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.100">WAIT_ON_REGIONSERVERS_MINTOSTART</a></pre>
+<pre>public static final <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.109">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>
@@ -605,7 +666,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>WAIT_ON_REGIONSERVERS_TIMEOUT</h4>
-<pre>public static final <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.103">WAIT_ON_REGIONSERVERS_TIMEOUT</a></pre>
+<pre>public static final <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.112">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>
@@ -618,20 +679,75 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>WAIT_ON_REGIONSERVERS_INTERVAL</h4>
-<pre>public static final <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.106">WAIT_ON_REGIONSERVERS_INTERVAL</a></pre>
+<pre>public static final <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.115">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 <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.123">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 boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.126">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 <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.128">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 int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.131">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="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.109">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.134">LOG</a></pre>
</li>
</ul>
<a name="clusterShutdown">
@@ -640,7 +756,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>clusterShutdown</h4>
-<pre>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> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.112">clusterShutdown</a></pre>
+<pre>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> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.137">clusterShutdown</a></pre>
</li>
</ul>
<a name="flushedSequenceIdByRegion">
@@ -649,17 +765,58 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>flushedSequenceIdByRegion</h4>
-<pre>private final <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><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>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.117">flushedSequenceIdByRegion</a></pre>
+<pre>private final <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><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>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.142">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 boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.145">persistFlushedSequenceId</a></pre>
+</li>
+</ul>
+<a name="isFlushSeqIdPersistInProgress">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isFlushSeqIdPersistInProgress</h4>
+<pre>private volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.146">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 <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.148">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 <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.149">flushedSeqIdFlusher</a></pre>
+</li>
+</ul>
<a name="storeFlushedSequenceIdsByRegion">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>storeFlushedSequenceIdsByRegion</h4>
-<pre>private final <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><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><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>>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.124">storeFlushedSequenceIdsByRegion</a></pre>
+<pre>private final <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><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><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>>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.156">storeFlushedSequenceIdsByRegion</a></pre>
<div class="block">The last flushed sequence id for a store in a region.</div>
</li>
</ul>
@@ -669,7 +826,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>onlineServers</h4>
-<pre>private final <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><<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>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.127">onlineServers</a></pre>
+<pre>private final <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><<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>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.159">onlineServers</a></pre>
<div class="block">Map of registered servers to their current load</div>
</li>
</ul>
@@ -679,7 +836,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>rsAdmins</h4>
-<pre>private final <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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.134">rsAdmins</a></pre>
+<pre>private final <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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.166">rsAdmins</a></pre>
<div class="block">Map of admin interfaces per registered regionserver; these interfaces we use to control
regionservers out on the cluster</div>
</li>
@@ -690,7 +847,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>drainingServers</h4>
-<pre>private final <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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.137">drainingServers</a></pre>
+<pre>private final <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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.169">drainingServers</a></pre>
<div class="block">List of region servers that should not get any more new regions.</div>
</li>
</ul>
@@ -700,7 +857,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>master</h4>
-<pre>private final <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.139">master</a></pre>
+<pre>private final <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.171">master</a></pre>
</li>
</ul>
<a name="connection">
@@ -709,7 +866,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>connection</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.140">connection</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.172">connection</a></pre>
</li>
</ul>
<a name="deadservers">
@@ -718,7 +875,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>deadservers</h4>
-<pre>private final <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.142">deadservers</a></pre>
+<pre>private final <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.174">deadservers</a></pre>
</li>
</ul>
<a name="maxSkew">
@@ -727,7 +884,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>maxSkew</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.144">maxSkew</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.176">maxSkew</a></pre>
</li>
</ul>
<a name="warningSkew">
@@ -736,7 +893,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>warningSkew</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.145">warningSkew</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.177">warningSkew</a></pre>
</li>
</ul>
<a name="rpcControllerFactory">
@@ -745,52 +902,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>rpcControllerFactory</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcControllerFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.147">rpcControllerFactory</a></pre>
-</li>
-</ul>
-<a name="queuedDeadServers">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>queuedDeadServers</h4>
-<pre>private <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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.165">queuedDeadServers</a></pre>
-<div class="block">Set of region servers which are dead but not processed immediately. If one
- server died before master enables ServerShutdownHandler, the server will be
- added to this set and will be processed through calling
- <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#processQueuedDeadServers--"><code>processQueuedDeadServers()</code></a> by master.
- <p>
- A dead server is a server instance known to be dead, not listed in the /hbase/rs
- znode any more. It may have not been submitted to ServerShutdownHandler yet
- because the handler is not enabled.
- <p>
- A dead server, which has been submitted to ServerShutdownHandler while the
- handler is not enabled, is queued up.
- <p>
- So this is a set of region servers known to be dead but not submitted to
- ServerShutdownHandler for processing yet.</div>
-</li>
-</ul>
-<a name="requeuedDeadServers">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>requeuedDeadServers</h4>
-<pre>private <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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.182">requeuedDeadServers</a></pre>
-<div class="block">Set of region servers which are dead and submitted to ServerShutdownHandler to process but not
- fully processed immediately.
- <p>
- If one server died before assignment manager finished the failover cleanup, the server will be
- added to this set and will be processed through calling
- <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#processQueuedDeadServers--"><code>processQueuedDeadServers()</code></a> by assignment manager.
- <p>
- The Boolean value indicates whether log split is needed inside ServerShutdownHandler
- <p>
- ServerShutdownHandler processes a dead server submitted to the handler after the handler is
- enabled. It may not be able to complete the processing because meta is not yet online or master
- is currently in startup mode. In this case, the dead server will be parked in this set
- temporarily.</div>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcControllerFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.179">rpcControllerFactory</a></pre>
</li>
</ul>
<a name="listeners">
@@ -799,7 +911,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>listeners</h4>
-<pre>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><<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.185">listeners</a></pre>
+<pre>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><<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.182">listeners</a></pre>
<div class="block">Listeners that are called on server events.</div>
</li>
</ul>
@@ -817,7 +929,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>ServerManager</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.190">ServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> master)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.187">ServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> master)</pre>
<div class="block">Constructor.</div>
</li>
</ul>
@@ -835,7 +947,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>registerListener</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.203">registerListener</a>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a> listener)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.202">registerListener</a>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a> listener)</pre>
<div class="block">Add the listener to the notification list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -849,7 +961,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>unregisterListener</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.211">unregisterListener</a>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a> listener)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.210">unregisterListener</a>(<a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html" title="interface in org.apache.hadoop.hbase.master">ServerListener</a> listener)</pre>
<div class="block">Remove the listener from the notification list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -863,7 +975,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.223">regionServerStartup</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest request,
+<pre><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.222">regionServerStartup</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest request,
int versionNumber,
<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> 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>
@@ -886,7 +998,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>updateLastFlushedSequenceIds</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.251">updateLastFlushedSequenceIds</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.250">updateLastFlushedSequenceIds</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> hsl)</pre>
<div class="block">Updates last flushed sequence Ids for the regions on server sn</div>
<dl>
@@ -902,7 +1014,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>regionServerReport</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.288">regionServerReport</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.287">regionServerReport</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> sl)
throws <a href="../../../../../org/apache/hadoop/hbase/YouAreDeadException.html" title="class in org.apache.hadoop.hbase">YouAreDeadException</a></pre>
<dl>
@@ -917,7 +1029,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>checkAndRecordNewServer</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.314">checkAndRecordNewServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.313">checkAndRecordNewServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> 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>
@@ -930,13 +1042,37 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</dl>
</li>
</ul>
+<a name="findOutDeadServersAndProcess-java.util.Set-java.util.Set-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>findOutDeadServersAndProcess</h4>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.356">findOutDeadServersAndProcess</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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> 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><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> 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 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 void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.352">checkClockSkew</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.371">checkClockSkew</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
long 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
@@ -957,7 +1093,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>checkIsDead</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.377">checkIsDead</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.394">checkIsDead</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> 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> what)
throws <a href="../../../../../org/apache/hadoop/hbase/YouAreDeadException.html" title="class in org.apache.hadoop.hbase">YouAreDeadException</a></pre>
<div class="block">If this server is on the dead list, reject it with a YouAreDeadException.
@@ -965,7 +1101,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
from the dead list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>serverName</code> - </dd>
<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>
@@ -978,7 +1113,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>findServerWithSameHostnamePortWithLock</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.402">findServerWithSameHostnamePortWithLock</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.419">findServerWithSameHostnamePortWithLock</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
<div class="block">Assumes onlineServers is locked.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -992,7 +1127,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>recordNewServerWithLock</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.421">recordNewServerWithLock</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.438">recordNewServerWithLock</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> sl)</pre>
<div class="block">Adds the onlineServers list. onlineServers should be locked.</div>
<dl>
@@ -1001,13 +1136,22 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</dl>
</li>
</ul>
+<a name="getFlushedSequenceIdByRegion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFlushedSequenceIdByRegion</h4>
+<pre>public <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><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>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.445">getFlushedSequenceIdByRegion</a>()</pre>
+</li>
+</ul>
<a name="getLastFlushedSequenceId-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastFlushedSequenceId</h4>
-<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.427">getLastFlushedSequenceId</a>(byte[] encodedRegionName)</pre>
+<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.449">getLastFlushedSequenceId</a>(byte[] encodedRegionName)</pre>
</li>
</ul>
<a name="getLoad-org.apache.hadoop.hbase.ServerName-">
@@ -1016,7 +1160,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getLoad</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.447">getLoad</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.469">getLoad</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serverName</code> - </dd>
@@ -1031,7 +1175,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getAverageLoad</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.457">getAverageLoad</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.479">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>
@@ -1047,7 +1191,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>countOfRegionServers</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.469">countOfRegionServers</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.491">countOfRegionServers</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the count of active regionservers</dd>
@@ -1060,7 +1204,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getOnlineServers</h4>
-<pre>public <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><<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>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.477">getOnlineServers</a>()</pre>
+<pre>public <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><<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>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.499">getOnlineServers</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Read-only map of servers to serverinfo</dd>
@@ -1073,7 +1217,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getDeadServers</h4>
-<pre>public <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.484">getDeadServers</a>()</pre>
+<pre>public <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.506">getDeadServers</a>()</pre>
</li>
</ul>
<a name="areDeadServersInProgress--">
@@ -1082,7 +1226,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>areDeadServersInProgress</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.492">areDeadServersInProgress</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.514">areDeadServersInProgress</a>()</pre>
<div class="block">Checks if any dead servers are currently in progress.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1096,7 +1240,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>letRegionServersShutdown</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.496">letRegionServersShutdown</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.518">letRegionServersShutdown</a>()</pre>
</li>
</ul>
<a name="getRegionServersInZK-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
@@ -1105,7 +1249,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getRegionServersInZK</h4>
-<pre>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><<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.546">getRegionServersInZK</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> zkw)
+<pre>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><<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.568">getRegionServersInZK</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> zkw)
throws org.apache.zookeeper.KeeperException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1119,7 +1263,15 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>expireServer</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.559">expireServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.580">expireServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> 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>True if we queued a ServerCrashProcedure else false 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="moveFromOnlineToDeadServers-org.apache.hadoop.hbase.ServerName-">
@@ -1128,28 +1280,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>moveFromOnlineToDeadServers</h4>
-<pre>public void <a
<TRUNCATED>