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>
