blob: 0918ca6df9d0a1214f6f5b5264161527ad22c12d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ReplicationSourceManager (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ReplicationSourceManager (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ReplicationSourceManager.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceLogQueue.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" target="_top">Frames</a></li>
<li><a href="ReplicationSourceManager.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.replication.regionserver</div>
<h2 title="Class ReplicationSourceManager" class="title">Class ReplicationSourceManager</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.125">ReplicationSourceManager</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">This class is responsible to manage all the replication sources. There are two classes of
sources:
<ul>
<li>Normal sources are persistent and one per peer cluster</li>
<li>Old sources are recovered from a failed region server and our only goal is to finish
replicating the WAL queue it had</li>
</ul>
<p>
When a region server dies, this class uses a watcher to get notified and it tries to grab a lock
in order to transfer all the queues in a local old source.
<p>
Synchronization specification:
<ul>
<li>No need synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#sources"><code>sources</code></a>. <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#sources"><code>sources</code></a> is a ConcurrentHashMap and there
is a Lock for peer id in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><code>PeerProcedureHandlerImpl</code></a>. So there is no race for peer
operations.</li>
<li>Need synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById"><code>walsById</code></a>. There are four methods which modify it,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-"><code>addPeer(String)</code></a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.lang.String-boolean-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-"><code>cleanOldLogs(String, boolean, ReplicationSourceInterface)</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-"><code>preLogRoll(Path)</code></a>.
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById"><code>walsById</code></a> is a ConcurrentHashMap and there is a Lock for peer id in
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><code>PeerProcedureHandlerImpl</code></a>. So there is no race between <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-"><code>addPeer(String)</code></a> and
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>. <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.lang.String-boolean-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-"><code>cleanOldLogs(String, boolean, ReplicationSourceInterface)</code></a>
is called by <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a>. So no race with <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-"><code>addPeer(String)</code></a>.
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a> will terminate the <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a> firstly, then
remove the wals from <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById"><code>walsById</code></a>. So no race with <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>. The only
case need synchronized is <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.lang.String-boolean-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-"><code>cleanOldLogs(String, boolean, ReplicationSourceInterface)</code></a> and
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-"><code>preLogRoll(Path)</code></a>.</li>
<li>No need synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsByIdRecoveredQueues"><code>walsByIdRecoveredQueues</code></a>. There are three methods which
modify it, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a> ,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.lang.String-boolean-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-"><code>cleanOldLogs(String, boolean, ReplicationSourceInterface)</code></a> and
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#claimQueue-org.apache.hadoop.hbase.ServerName-java.lang.String-"><code>claimQueue(ServerName, String)</code></a>.
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.lang.String-boolean-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-"><code>cleanOldLogs(String, boolean, ReplicationSourceInterface)</code></a> is called by
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a>. <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a> will terminate the
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a> firstly, then remove the wals from
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsByIdRecoveredQueues"><code>walsByIdRecoveredQueues</code></a>. And
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#claimQueue-org.apache.hadoop.hbase.ServerName-java.lang.String-"><code>claimQueue(ServerName, String)</code></a> will add the wals to
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsByIdRecoveredQueues"><code>walsByIdRecoveredQueues</code></a> firstly, then start up a <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a>. So
there is no race here. For <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#claimQueue-org.apache.hadoop.hbase.ServerName-java.lang.String-"><code>claimQueue(ServerName, String)</code></a> and
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>, there is already synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#oldsources"><code>oldsources</code></a>. So no need
synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsByIdRecoveredQueues"><code>walsByIdRecoveredQueues</code></a>.</li>
<li>Need synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#latestPaths"><code>latestPaths</code></a> to avoid the new open source miss new log.</li>
<li>Need synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#oldsources"><code>oldsources</code></a> to avoid adding recovered source for the
to-be-removed peer.</li>
</ul></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#catalogReplicationSource">catalogReplicationSource</a></span></code>
<div class="block">A special ReplicationSource for hbase:meta Region Read Replicas.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#clusterId">clusterId</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#conf">conf</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#executor">executor</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.FileSystem</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#fs">fs</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationGlobalSourceSource</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#globalMetrics">globalMetrics</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#latestPaths">latestPaths</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#logDir">logDir</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#maxRetriesMultiplier">maxRetriesMultiplier</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#oldLogDir">oldLogDir</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#oldsources">oldsources</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#queueStorage">queueStorage</a></span></code>
<div class="block">Storage for queues that need persistance; e.g.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#replicationForBulkLoadDataEnabled">replicationForBulkLoadDataEnabled</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#replicationPeers">replicationPeers</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#server">server</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#sleepBeforeFailover">sleepBeforeFailover</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#sleepForRetries">sleepForRetries</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#sources">sources</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerMappingManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerMappingManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#syncReplicationPeerMappingManager">syncReplicationPeerMappingManager</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#totalBufferLimit">totalBufferLimit</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#totalBufferUsed">totalBufferUsed</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walFactory">walFactory</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById">walsById</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsByIdRecoveredQueues">walsByIdRecoveredQueues</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#ReplicationSourceManager-org.apache.hadoop.hbase.replication.ReplicationQueueStorage-org.apache.hadoop.hbase.replication.ReplicationPeers-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-java.util.UUID-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.hbase.replication.regionserver.SyncReplicationPeerMappingManager-org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationGlobalSourceSource-">ReplicationSourceManager</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a>&nbsp;replicationPeers,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;logDir,
org.apache.hadoop.fs.Path&nbsp;oldLogDir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;clusterId,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;walFactory,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerMappingManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerMappingManager</a>&nbsp;syncReplicationPeerMappingManager,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationGlobalSourceSource</a>&nbsp;globalMetrics)</code>
<div class="block">Creates a replication manager and sets the watch on all the other registered region servers</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#abortAndThrowIOExceptionWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">abortAndThrowIOExceptionWhenFail</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#abortWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">abortWhenFail</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#activeFailoverTaskCount--">activeFailoverTaskCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-">addCatalogReplicationSource</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
<div class="block">Add an hbase:meta Catalog replication source.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addHFileRefs-org.apache.hadoop.hbase.TableName-byte:A-java.util.List-">addHFileRefs</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
byte[]&nbsp;family,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path&gt;&gt;&nbsp;pairs)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-">addPeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
<div class="block">
Add peer to replicationPeers
Add the normal source and related replication queue
Add HFile Refs
</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addSource-java.lang.String-">addSource</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
<div class="block">Add a normal source for the given peer on this region server.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#claimQueue-org.apache.hadoop.hbase.ServerName-java.lang.String-">claimQueue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;deadRS,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queue)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.util.NavigableSet-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">cleanOldLogs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;wals,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;source)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.lang.String-boolean-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">cleanOldLogs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;log,
boolean&nbsp;inclusive,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;source)</code>
<div class="block">Cleans a log file and all older logs from replication queue.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanUpHFileRefs-java.lang.String-java.util.List-">cleanUpHFileRefs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;files)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#createCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-">createCatalogReplicationSource</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
<div class="block">Create, initialize, and start the Catalog ReplicationSource.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#createSource-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeer-">createSource</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId,
<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a>&nbsp;replicationPeer)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#deleteQueue-java.lang.String-">deleteQueue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId)</code>
<div class="block">Delete a complete queue of wals associated with a replication source</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#drainSources-java.lang.String-">drainSources</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
<div class="block">
This is used when we transit a sync replication peer to <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html#STANDBY"><code>SyncReplicationState.STANDBY</code></a>.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#finishRecoveredSource-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">finishRecoveredSource</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getAllQueues--">getAllQueues</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.fs.FileSystem</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getFs--">getFs</a></span>()</code>
<div class="block">Get the handle on the local file system</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationGlobalSourceSource</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getGlobalMetrics--">getGlobalMetrics</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i19" 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>&lt;org.apache.hadoop.fs.Path&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getLastestPath--">getLastestPath</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getLogDir--">getLogDir</a></span>()</code>
<div class="block">Get the directory where wals are stored by their RSs</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getOldLogDir--">getOldLogDir</a></span>()</code>
<div class="block">Get the directory where wals are archived</div>
</td>
</tr>
<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getOldSources--">getOldSources</a></span>()</code>
<div class="block">Get a list of all the recovered sources of this rs</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getQueueStorage--">getQueueStorage</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getReplicationPeers--">getReplicationPeers</a></span>()</code>
<div class="block">Get the ReplicationPeers used by this ReplicationSourceManager</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getSizeOfLatestPath--">getSizeOfLatestPath</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getSource-java.lang.String-">getSource</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
<div class="block">Get the normal source for a given peer</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getSources--">getSources</a></span>()</code>
<div class="block">Get a list of all the normal sources of this rs</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getStats--">getStats</a></span>()</code>
<div class="block">Get a string representation of all the sources' metrics</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getTotalBufferLimit--">getTotalBufferLimit</a></span>()</code>
<div class="block">Returns the maximum size in bytes of edits held in memory which are pending replication
across all sources inside this RegionServer.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getTotalBufferUsed--">getTotalBufferUsed</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i31" 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>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getWALs--">getWALs</a></span>()</code>
<div class="block">Get a copy of the wals of the normal sources on this rs</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>(package 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>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#getWalsByIdRecoveredQueues--">getWalsByIdRecoveredQueues</a></span>()</code>
<div class="block">Get a copy of the wals of the recovered sources on this rs</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#init--">init</a></span>()</code>
<div class="block">Adds a normal source per registered peer cluster.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#interruptOrAbortWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">interruptOrAbortWhenFail</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</code>
<div class="block">Refresh replication source will terminate the old source first, then the source thread will be
interrupted.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#join--">join</a></span>()</code>
<div class="block">Terminate the replication on this region server</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#logPositionAndCleanOldLogs-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-">logPositionAndCleanOldLogs</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;source,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;entryBatch)</code>
<div class="block">This method will log the current position to storage.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#postLogRoll-org.apache.hadoop.fs.Path-">postLogRoll</a></span>(org.apache.hadoop.fs.Path&nbsp;newLog)</code>&nbsp;</td>
</tr>
<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/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-">preLogRoll</a></span>(org.apache.hadoop.fs.Path&nbsp;newLog)</code>&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#refreshSources-java.lang.String-">refreshSources</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
<div class="block">Close the previous replication sources of this peer id and open new sources to trigger the new
replication state changes or new replication config changes.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removeCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-">removeCatalogReplicationSource</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
<div class="block">Remove the hbase:meta Catalog replication source.</div>
</td>
</tr>
<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/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-">removePeer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
<div class="block">
Remove peer for replicationPeers
Remove all the recovered sources for the specified id and related replication queues
Remove the normal source and related replication queue
Remove HFile Refs
</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removeRecoveredSource-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">removeRecoveredSource</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</code>
<div class="block">Clear the metrics and related replication queue of the specified old source</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removeRemoteWALs-java.lang.String-java.lang.String-java.util.Collection-">removeRemoteWALs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;remoteWALDir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;wals)</code>&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removeSource-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">removeSource</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</code>
<div class="block">Clear the metrics and related replication queue of the specified old source</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#throwIOExceptionWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">throwIOExceptionWhenFail</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.126">LOG</a></pre>
</li>
</ul>
<a name="sources">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sources</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.128">sources</a></pre>
</li>
</ul>
<a name="oldsources">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldsources</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.130">oldsources</a></pre>
</li>
</ul>
<a name="queueStorage">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>queueStorage</h4>
<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.138">queueStorage</a></pre>
<div class="block">Storage for queues that need persistance; e.g. Replication state so can be recovered
after a crash. queueStorage upkeep is spread about this class and passed
to ReplicationSource instances for these to do updates themselves. Not all ReplicationSource
instances keep state.</div>
</li>
</ul>
<a name="replicationPeers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replicationPeers</h4>
<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.140">replicationPeers</a></pre>
</li>
</ul>
<a name="clusterId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clusterId</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.142">clusterId</a></pre>
</li>
</ul>
<a name="server">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>server</h4>
<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.144">server</a></pre>
</li>
</ul>
<a name="walsById">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walsById</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.149">walsById</a></pre>
</li>
</ul>
<a name="walsByIdRecoveredQueues">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walsByIdRecoveredQueues</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.153">walsByIdRecoveredQueues</a></pre>
</li>
</ul>
<a name="syncReplicationPeerMappingManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncReplicationPeerMappingManager</h4>
<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerMappingManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerMappingManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.155">syncReplicationPeerMappingManager</a></pre>
</li>
</ul>
<a name="conf">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.157">conf</a></pre>
</li>
</ul>
<a name="fs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fs</h4>
<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.158">fs</a></pre>
</li>
</ul>
<a name="latestPaths">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>latestPaths</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.160">latestPaths</a></pre>
</li>
</ul>
<a name="logDir">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logDir</h4>
<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.162">logDir</a></pre>
</li>
</ul>
<a name="oldLogDir">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldLogDir</h4>
<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.164">oldLogDir</a></pre>
</li>
</ul>
<a name="walFactory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walFactory</h4>
<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.165">walFactory</a></pre>
</li>
</ul>
<a name="sleepBeforeFailover">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sleepBeforeFailover</h4>
<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.167">sleepBeforeFailover</a></pre>
</li>
</ul>
<a name="executor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executor</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.169">executor</a></pre>
</li>
</ul>
<a name="replicationForBulkLoadDataEnabled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replicationForBulkLoadDataEnabled</h4>
<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.171">replicationForBulkLoadDataEnabled</a></pre>
</li>
</ul>
<a name="totalBufferUsed">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>totalBufferUsed</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.173">totalBufferUsed</a></pre>
</li>
</ul>
<a name="sleepForRetries">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sleepForRetries</h4>
<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.177">sleepForRetries</a></pre>
</li>
</ul>
<a name="maxRetriesMultiplier">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxRetriesMultiplier</h4>
<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.180">maxRetriesMultiplier</a></pre>
</li>
</ul>
<a name="totalBufferLimit">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>totalBufferLimit</h4>
<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.182">totalBufferLimit</a></pre>
</li>
</ul>
<a name="globalMetrics">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>globalMetrics</h4>
<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationGlobalSourceSource</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.183">globalMetrics</a></pre>
</li>
</ul>
<a name="catalogReplicationSource">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>catalogReplicationSource</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.193">catalogReplicationSource</a></pre>
<div class="block">A special ReplicationSource for hbase:meta Region Read Replicas.
Usually this reference remains empty. If an hbase:meta Region is opened on this server, we
will create an instance of a hbase:meta CatalogReplicationSource and it will live the life of
the Server thereafter; i.e. we will not shut it down even if the hbase:meta moves away from
this server (in case it later gets moved back). We synchronize on this instance testing for
presence and if absent, while creating so only created and started once.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ReplicationSourceManager-org.apache.hadoop.hbase.replication.ReplicationQueueStorage-org.apache.hadoop.hbase.replication.ReplicationPeers-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-java.util.UUID-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.hbase.replication.regionserver.SyncReplicationPeerMappingManager-org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationGlobalSourceSource-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ReplicationSourceManager</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.204">ReplicationSourceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a>&nbsp;replicationPeers,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;logDir,
org.apache.hadoop.fs.Path&nbsp;oldLogDir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;clusterId,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;walFactory,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerMappingManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SyncReplicationPeerMappingManager</a>&nbsp;syncReplicationPeerMappingManager,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationGlobalSourceSource</a>&nbsp;globalMetrics)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Creates a replication manager and sets the watch on all the other registered region servers</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queueStorage</code> - the interface for manipulating replication queues</dd>
<dd><code>conf</code> - the configuration to use</dd>
<dd><code>server</code> - the server for this region server</dd>
<dd><code>fs</code> - the file system to use</dd>
<dd><code>logDir</code> - the directory that contains all wal directories of live RSs</dd>
<dd><code>oldLogDir</code> - the directory where old logs are archived</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="init--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.251">init</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Adds a normal source per registered peer cluster.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="addPeer-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPeer</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.270">addPeer</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><ol>
<li>Add peer to replicationPeers</li>
<li>Add the normal source and related replication queue</li>
<li>Add HFile Refs</li>
</ol></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>peerId</code> - the id of replication peer</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="removePeer-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePeer</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.294">removePeer</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</pre>
<div class="block"><ol>
<li>Remove peer for replicationPeers</li>
<li>Remove all the recovered sources for the specified id and related replication queues</li>
<li>Remove the normal source and related replication queue</li>
<li>Remove HFile Refs</li>
</ol></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>peerId</code> - the id of the replication peer</dd>
</dl>
</li>
</ul>
<a name="createSource-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSource</h4>
<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.339">createSource</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId,
<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a>&nbsp;replicationPeer)
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>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queueId</code> - the id of the replication queue to associate the ReplicationSource with.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new 'classic' user-space replication source.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#createCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-"><code>for creating a ReplicationSource for meta.</code></a></dd>
</dl>
</li>
</ul>
<a name="addSource-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.360">addSource</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Add a normal source for the given peer on this region server. Meanwhile, add new replication
queue to storage. For the newly added peer, we only need to enqueue the latest log of each wal
group and do replication</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>peerId</code> - the id of the replication peer</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the source that was created</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="drainSources-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drainSources</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.406">drainSources</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
<div class="block"><p>
This is used when we transit a sync replication peer to <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html#STANDBY"><code>SyncReplicationState.STANDBY</code></a>.
</p>
<p>
When transiting to <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html#STANDBY"><code>SyncReplicationState.STANDBY</code></a>, we can remove all the pending wal
files for a replication peer as we do not need to replicate them any more. And this is
necessary, otherwise when we transit back to <a href="../../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html#DOWNGRADE_ACTIVE"><code>SyncReplicationState.DOWNGRADE_ACTIVE</code></a>
later, the stale data will be replicated again and cause inconsistency.
</p>
<p>
See HBASE-20426 for more details.
</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>peerId</code> - the id of the sync replication peer</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></code></dd>
</dl>
</li>
</ul>
<a name="refreshSources-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshSources</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.470">refreshSources</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Close the previous replication sources of this peer id and open new sources to trigger the new
replication state changes or new replication config changes. Here we don't need to change
replication queue storage and only to enqueue all logs to the new replication source</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>peerId</code> - the id of the replication peer</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="removeRecoveredSource-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRecoveredSource</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.521">removeRecoveredSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</pre>
<div class="block">Clear the metrics and related replication queue of the specified old source</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src</code> - source to clear</dd>
</dl>
</li>
</ul>
<a name="finishRecoveredSource-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finishRecoveredSource</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.532">finishRecoveredSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</pre>
</li>
</ul>
<a name="removeSource-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeSource</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.546">removeSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</pre>
<div class="block">Clear the metrics and related replication queue of the specified old source</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src</code> - source to clear</dd>
</dl>
</li>
</ul>
<a name="deleteQueue-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteQueue</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.559">deleteQueue</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId)</pre>
<div class="block">Delete a complete queue of wals associated with a replication source</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queueId</code> - the id of replication queue to delete</dd>
</dl>
</li>
</ul>
<a name="interruptOrAbortWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interruptOrAbortWhenFail</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.572">interruptOrAbortWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</pre>
<div class="block">Refresh replication source will terminate the old source first, then the source thread will be
interrupted. Need to handle it instead of abort the region server.</div>
</li>
</ul>
<a name="abortWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abortWhenFail</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.591">abortWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</pre>
</li>
</ul>
<a name="throwIOExceptionWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>throwIOExceptionWhenFail</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.599">throwIOExceptionWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)
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>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="abortAndThrowIOExceptionWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abortAndThrowIOExceptionWhenFail</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.607">abortAndThrowIOExceptionWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)
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>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="logPositionAndCleanOldLogs-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logPositionAndCleanOldLogs</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.622">logPositionAndCleanOldLogs</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;source,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;entryBatch)</pre>
<div class="block">This method will log the current position to storage. And also clean old logs from the
replication queue.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - the replication source</dd>
<dd><code>entryBatch</code> - the wal entry batch we just shipped</dd>
</dl>
</li>
</ul>
<a name="cleanOldLogs-java.lang.String-boolean-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanOldLogs</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.637">cleanOldLogs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;log,
boolean&nbsp;inclusive,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;source)</pre>
<div class="block">Cleans a log file and all older logs from replication queue. Called when we are sure that a log
file is closed and has no more entries.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>log</code> - Path to the log</dd>
<dd><code>inclusive</code> - whether we should also remove the given log file</dd>
<dd><code>source</code> - the replication source</dd>
</dl>
</li>
</ul>
<a name="removeRemoteWALs-java.lang.String-java.lang.String-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRemoteWALs</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.675">removeRemoteWALs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;remoteWALDir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;wals)
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>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="cleanOldLogs-java.util.NavigableSet-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanOldLogs</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.695">cleanOldLogs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;wals,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;source)</pre>
</li>
</ul>
<a name="preLogRoll-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preLogRoll</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.740">preLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;newLog)
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>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="postLogRoll-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postLogRoll</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.789">postLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;newLog)
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>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="claimQueue-org.apache.hadoop.hbase.ServerName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>claimQueue</h4>
<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.798">claimQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;deadRS,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queue)</pre>
</li>
</ul>
<a name="join--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>join</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.914">join</a>()</pre>
<div class="block">Terminate the replication on this region server</div>
</li>
</ul>
<a name="getWALs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWALs</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.928">getWALs</a>()</pre>
<div class="block">Get a copy of the wals of the normal sources on this rs</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a sorted set of wal names</dd>
</dl>
</li>
</ul>
<a name="getWalsByIdRecoveredQueues--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWalsByIdRecoveredQueues</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.936">getWalsByIdRecoveredQueues</a>()</pre>
<div class="block">Get a copy of the wals of the recovered sources on this rs</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a sorted set of wal names</dd>
</dl>
</li>
</ul>
<a name="getSources--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSources</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.944">getSources</a>()</pre>
<div class="block">Get a list of all the normal sources of this rs</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of all normal sources</dd>
</dl>
</li>
</ul>
<a name="getOldSources--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOldSources</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.952">getOldSources</a>()</pre>
<div class="block">Get a list of all the recovered sources of this rs</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of all recovered sources</dd>
</dl>
</li>
</ul>
<a name="getSource-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSource</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.960">getSource</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</pre>
<div class="block">Get the normal source for a given peer</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the normal source for the give peer if it exists, otherwise null.</dd>
</dl>
</li>
</ul>
<a name="getAllQueues--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllQueues</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.964">getAllQueues</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getSizeOfLatestPath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSizeOfLatestPath</h4>
<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.974">getSizeOfLatestPath</a>()</pre>
</li>
</ul>
<a name="getLastestPath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastestPath</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.980">getLastestPath</a>()</pre>
</li>
</ul>
<a name="getTotalBufferUsed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalBufferUsed</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.986">getTotalBufferUsed</a>()</pre>
</li>
</ul>
<a name="getTotalBufferLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalBufferLimit</h4>
<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.994">getTotalBufferLimit</a>()</pre>
<div class="block">Returns the maximum size in bytes of edits held in memory which are pending replication
across all sources inside this RegionServer.</div>
</li>
</ul>
<a name="getOldLogDir--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOldLogDir</h4>
<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1002">getOldLogDir</a>()</pre>
<div class="block">Get the directory where wals are archived</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the directory where wals are archived</dd>
</dl>
</li>
</ul>
<a name="getLogDir--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogDir</h4>
<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1010">getLogDir</a>()</pre>
<div class="block">Get the directory where wals are stored by their RSs</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the directory where wals are stored by their RSs</dd>
</dl>
</li>
</ul>
<a name="getFs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFs</h4>
<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1018">getFs</a>()</pre>
<div class="block">Get the handle on the local file system</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Handle on the local file system</dd>
</dl>
</li>
</ul>
<a name="getReplicationPeers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReplicationPeers</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1026">getReplicationPeers</a>()</pre>
<div class="block">Get the ReplicationPeers used by this ReplicationSourceManager</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ReplicationPeers used by this ReplicationSourceManager</dd>
</dl>
</li>
</ul>
<a name="getStats--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStats</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1033">getStats</a>()</pre>
<div class="block">Get a string representation of all the sources' metrics</div>
</li>
</ul>
<a name="addHFileRefs-org.apache.hadoop.hbase.TableName-byte:A-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addHFileRefs</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1050">addHFileRefs</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
byte[]&nbsp;family,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path&gt;&gt;&nbsp;pairs)
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>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="cleanUpHFileRefs-java.lang.String-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanUpHFileRefs</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1057">cleanUpHFileRefs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;files)</pre>
</li>
</ul>
<a name="activeFailoverTaskCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>activeFailoverTaskCount</h4>
<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1061">activeFailoverTaskCount</a>()</pre>
</li>
</ul>
<a name="getGlobalMetrics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGlobalMetrics</h4>
<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">MetricsReplicationGlobalSourceSource</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1065">getGlobalMetrics</a>()</pre>
</li>
</ul>
<a name="addCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCatalogReplicationSource</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1075">addCatalogReplicationSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Add an hbase:meta Catalog replication source. Called on open of an hbase:meta Region.
Create it once only. If exists already, use the existing one.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removeCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-"><code>removeCatalogReplicationSource(RegionInfo)</code></a>,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addSource-java.lang.String-"><code>This is specialization on the addSource method.</code></a></dd>
</dl>
</li>
</ul>
<a name="removeCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeCatalogReplicationSource</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1090">removeCatalogReplicationSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</pre>
<div class="block">Remove the hbase:meta Catalog replication source.
Called when we close hbase:meta.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-"><code>addCatalogReplicationSource(RegionInfo regionInfo)</code></a></dd>
</dl>
</li>
</ul>
<a name="createCatalogReplicationSource-org.apache.hadoop.hbase.client.RegionInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createCatalogReplicationSource</h4>
<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1103">createCatalogReplicationSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Create, initialize, and start the Catalog ReplicationSource.
Presumes called one-time only (caller must ensure one-time only call).
This ReplicationSource is NOT created via <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceFactory.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceFactory</code></a>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addSource-java.lang.String-"><code>This is a specialization of the addSource call.</code></a>,
<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#catalogReplicationSource"><code>for a note on this ReplicationSource's lifecycle (and more on
why the special handling).</code></a></dd>
</dl>
</li>
</ul>
<a name="getQueueStorage--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getQueueStorage</h4>
<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.1141">getQueueStorage</a>()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ReplicationSourceManager.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceLogQueue.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" target="_top">Frames</a></li>
<li><a href="ReplicationSourceManager.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>