blob: 32070cad98931973e370e205a6d333091341bb0b [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>AsyncFSWAL (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="AsyncFSWAL (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":9,"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":9,"i28":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AsyncFSWAL.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/regionserver/wal/AbstractProtobufLogWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncProtobufLogWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html" target="_top">Frames</a></li>
<li><a href="AsyncFSWAL.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.regionserver.wal</div>
<h2 title="Class AsyncFSWAL" class="title">Class AsyncFSWAL</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><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/DualAsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">DualAsyncFSWAL</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.LimitedPrivate(value="Configuration")
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.129">AsyncFSWAL</a>
extends <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</pre>
<div class="block">An asynchronous implementation of FSWAL.
<p>
Here 'waitingConsumePayloads' acts as the RingBuffer in FSHLog.
<p>
For append, we process it as follow:
<ol>
<li>In the caller thread(typically, in the rpc handler thread):
<ol>
<li>Insert the entry into 'waitingConsumePayloads'. Use ringbuffer sequence as txid.</li>
<li>Schedule the consumer task if needed. See <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#shouldScheduleConsumer--"><code>shouldScheduleConsumer()</code></a> for more details.
</li>
</ol>
</li>
<li>In the consumer task(executed in a single threaded thread pool)
<ol>
<li>Poll the entry from <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitingConsumePayloads"><code>waitingConsumePayloads</code></a> and insert it into
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#toWriteAppends"><code>toWriteAppends</code></a></li>
<li>Poll the entry from <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#toWriteAppends"><code>toWriteAppends</code></a>, append it to the AsyncWriter, and insert it into
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#unackedAppends"><code>unackedAppends</code></a></li>
<li>If the buffered size reaches <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#batchSize"><code>batchSize</code></a>, or there is a sync request, then we call
sync on the AsyncWriter.</li>
<li>In the callback methods:
<ul>
<li>If succeeded, poll the entry from <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#unackedAppends"><code>unackedAppends</code></a> and drop it.</li>
<li>If failed, add all the entries in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#unackedAppends"><code>unackedAppends</code></a> back to <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#toWriteAppends"><code>toWriteAppends</code></a> and
wait for writing them again.</li>
</ul>
</li>
</ol>
</li>
</ol>
For sync, the processing stages are almost same. And different from FSHLog, we will open a new
writer and rewrite unacked entries to the new writer and sync again if we hit a sync error.
<p>
Here we only describe the logic of doReplaceWriter. The main logic of rollWriter is same with
FSHLog.<br>
For a normal roll request(for example, we have reached the log roll size):
<ol>
<li>In the log roller thread, we will set <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitingRoll-int-"><code>waitingRoll(int)</code></a> to true and
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#readyForRolling"><code>readyForRolling</code></a> to false, and then wait on <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#readyForRolling"><code>readyForRolling</code></a>(see
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitForSafePoint--"><code>waitForSafePoint()</code></a>).</li>
<li>In the consumer thread, we will stop polling entries from <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitingConsumePayloads"><code>waitingConsumePayloads</code></a> if
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitingRoll-int-"><code>waitingRoll(int)</code></a> is true, and also stop writing the entries in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#toWriteAppends"><code>toWriteAppends</code></a> out.
</li>
<li>If there are unflush data in the writer, sync them.</li>
<li>When all out-going sync request is finished, i.e, the <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#unackedAppends"><code>unackedAppends</code></a> is empty,
signal the <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#readyForRollingCond"><code>readyForRollingCond</code></a>.</li>
<li>Back to the log roller thread, now we can confirm that there are no out-going entries, i.e.,
we reach a safe point. So it is safe to replace old writer with new writer now.</li>
<li>Set <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#writerBroken-int-"><code>writerBroken(int)</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitingRoll-int-"><code>waitingRoll(int)</code></a> to false.</li>
<li>Schedule the consumer task.</li>
<li>Schedule a background task to close the old writer.</li>
</ol>
For a broken writer roll request, the only difference is that we can bypass the wait for safe
point stage.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.wal.WAL">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#ASYNC_WAL_USE_SHARED_EVENT_LOOP">ASYNC_WAL_USE_SHARED_EVENT_LOOP</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS">ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS</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/regionserver/wal/AsyncFSWAL.html#batchSize">batchSize</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hbase.thirdparty.io.netty.channel.Channel&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#channelClass">channelClass</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#closeExecutor">closeExecutor</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/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#consumeExecutor">consumeExecutor</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/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#consumeLock">consumeLock</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#consumer">consumer</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/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#consumerScheduled">consumerScheduled</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#DEFAULT_ASYNC_WAL_USE_SHARED_EVENT_LOOP">DEFAULT_ASYNC_WAL_USE_SHARED_EVENT_LOOP</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#DEFAULT_ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS">DEFAULT_ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#DEFAULT_WAL_BATCH_SIZE">DEFAULT_WAL_BATCH_SIZE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#epochAndState">epochAndState</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#eventLoopGroup">eventLoopGroup</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/regionserver/wal/AsyncFSWAL.html#fileLengthAtLastSync">fileLengthAtLastSync</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/AsyncFSOutput.html" title="interface in org.apache.hadoop.hbase.io.asyncfs">AsyncFSOutput</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#fsOut">fsOut</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/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#hasConsumerTask">hasConsumerTask</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/regionserver/wal/AsyncFSWAL.html#highestProcessedAppendTxid">highestProcessedAppendTxid</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/regionserver/wal/AsyncFSWAL.html#highestProcessedAppendTxidAtLastSync">highestProcessedAppendTxidAtLastSync</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/regionserver/wal/AsyncFSWAL.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#MAX_EPOCH">MAX_EPOCH</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#readyForRolling">readyForRolling</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/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#readyForRollingCond">readyForRollingCond</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#SEQ_COMPARATOR">SEQ_COMPARATOR</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/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#syncFutures">syncFutures</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/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSWALEntry</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#toWriteAppends">toWriteAppends</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/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSWALEntry</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#unackedAppends">unackedAppends</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private com.lmax.disruptor.RingBuffer&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.html" title="class in org.apache.hadoop.hbase.regionserver.wal">RingBufferTruck</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitingConsumePayloads">waitingConsumePayloads</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private com.lmax.disruptor.Sequence</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitingConsumePayloadsGatingSequence">waitingConsumePayloadsGatingSequence</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/regionserver/wal/AsyncFSWAL.html#waitOnShutdownInSeconds">waitOnShutdownInSeconds</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#WAL_BATCH_SIZE">WAL_BATCH_SIZE</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#abortable">abortable</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#blocksize">blocksize</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#closed">closed</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#conf">conf</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#coprocessorHost">coprocessorHost</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_ROLL_ON_SYNC_TIME_MS">DEFAULT_ROLL_ON_SYNC_TIME_MS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_SLOW_SYNC_ROLL_INTERVAL_MS">DEFAULT_SLOW_SYNC_ROLL_INTERVAL_MS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_SLOW_SYNC_ROLL_THRESHOLD">DEFAULT_SLOW_SYNC_ROLL_THRESHOLD</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_SLOW_SYNC_TIME_MS">DEFAULT_SLOW_SYNC_TIME_MS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_WAL_SYNC_TIMEOUT_MS">DEFAULT_WAL_SYNC_TIMEOUT_MS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#filenum">filenum</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#fs">fs</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#highestSyncedTxid">highestSyncedTxid</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#highestUnsyncedTxid">highestUnsyncedTxid</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#implClassName">implClassName</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#inflightWALClosures">inflightWALClosures</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#listeners">listeners</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#LOG_NAME_COMPARATOR">LOG_NAME_COMPARATOR</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#logrollsize">logrollsize</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#MAX_LOGS">MAX_LOGS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#maxLogs">maxLogs</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#numEntries">numEntries</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#ourFiles">ourFiles</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#prefixPathStr">prefixPathStr</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#RING_BUFFER_SLOT_COUNT">RING_BUFFER_SLOT_COUNT</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#ROLL_ON_SYNC_TIME_MS">ROLL_ON_SYNC_TIME_MS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollOnSyncNs">rollOnSyncNs</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollRequested">rollRequested</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollWriterLock">rollWriterLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sequenceIdAccounting">sequenceIdAccounting</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#shutdown">shutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#SLOW_SYNC_ROLL_INTERVAL_MS">SLOW_SYNC_ROLL_INTERVAL_MS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#SLOW_SYNC_ROLL_THRESHOLD">SLOW_SYNC_ROLL_THRESHOLD</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#SLOW_SYNC_TIME_MS">SLOW_SYNC_TIME_MS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#slowSyncCheckInterval">slowSyncCheckInterval</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#slowSyncCount">slowSyncCount</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#slowSyncNs">slowSyncNs</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#slowSyncRollThreshold">slowSyncRollThreshold</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#syncFutureCache">syncFutureCache</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#totalLogSize">totalLogSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#useHsync">useHsync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#WAL_ROLL_MULTIPLIER">WAL_ROLL_MULTIPLIER</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#WAL_SYNC_TIMEOUT_MS">WAL_SYNC_TIMEOUT_MS</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walArchiveDir">walArchiveDir</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walDir">walDir</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walFile2Props">walFile2Props</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walFilePrefix">walFilePrefix</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walFileSuffix">walFileSuffix</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#writer">writer</a></code></li>
</ul>
</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/regionserver/wal/AsyncFSWAL.html#AsyncFSWAL-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.Abortable-org.apache.hadoop.fs.Path-java.lang.String-java.lang.String-org.apache.hadoop.conf.Configuration-java.util.List-boolean-java.lang.String-java.lang.String-org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup-java.lang.Class-">AsyncFSWAL</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
<a href="../../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable,
org.apache.hadoop.fs.Path&nbsp;rootDir,
<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;logDir,
<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;archiveDir,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<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/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
boolean&nbsp;failIfWALExists,
<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;prefix,
<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;suffix,
org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hbase.thirdparty.io.netty.channel.Channel&gt;&nbsp;channelClass)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#AsyncFSWAL-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-java.lang.String-org.apache.hadoop.conf.Configuration-java.util.List-boolean-java.lang.String-java.lang.String-org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup-java.lang.Class-">AsyncFSWAL</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootDir,
<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;logDir,
<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;archiveDir,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<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/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
boolean&nbsp;failIfWALExists,
<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;prefix,
<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;suffix,
org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hbase.thirdparty.io.netty.channel.Channel&gt;&nbsp;channelClass)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#append-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-boolean-">append</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;key,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edits,
boolean&nbsp;inMemstore)</code>
<div class="block">Append a set of edits to the WAL.</div>
</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/regionserver/wal/AsyncFSWAL.html#appendAndSync--">appendAndSync</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#closeWriter-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-org.apache.hadoop.fs.Path-">closeWriter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;writer,
org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#consume--">consume</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#createAsyncWriter-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">createAsyncWriter</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#createWriterInstance-org.apache.hadoop.fs.Path-">createWriterInstance</a></span>(org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#doAppend-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">doAppend</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;writer,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSWALEntry</a>&nbsp;entry)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#doCheckLogLowReplication--">doCheckLogLowReplication</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#doReplaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-">doReplaceWriter</a></span>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;nextWriter)</code>
<div class="block">Notice that you need to clear the <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollRequested"><code>AbstractFSWAL.rollRequested</code></a> flag in this method, as the new writer
will begin to work before returning from this method.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#doShutdown--">doShutdown</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#doSync-boolean-">doSync</a></span>(boolean&nbsp;forceSync)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#doSync-long-boolean-">doSync</a></span>(long&nbsp;txid,
boolean&nbsp;forceSync)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#drainNonMarkerEditsAndFailSyncs--">drainNonMarkerEditsAndFailSyncs</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#epoch-int-">epoch</a></span>(int&nbsp;epochAndState)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#finishSync--">finishSync</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#finishSyncLowerThanTxid-long-">finishSyncLowerThanTxid</a></span>(long&nbsp;txid)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#getLogReplication--">getLogReplication</a></span>()</code>
<div class="block">This method gets the datanode replication count for the current WAL.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>(package private) org.apache.hadoop.hdfs.protocol.DatanodeInfo[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#getPipeline--">getPipeline</a></span>()</code>
<div class="block">This method gets the pipeline for the current WAL.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#isHsync-long-long-">isHsync</a></span>(long&nbsp;beginTxid,
long&nbsp;endTxid)</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#markerEditOnly--">markerEditOnly</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#markFutureDoneAndOffer-org.apache.hadoop.hbase.regionserver.wal.SyncFuture-long-java.lang.Throwable-">markFutureDoneAndOffer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;future,
long&nbsp;txid,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</code>
<div class="block">Helper that marks the future as DONE and offers it back to the cache.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#shouldScheduleConsumer--">shouldScheduleConsumer</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#sync-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-">sync</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;writer)</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#syncCompleted-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-long-long-">syncCompleted</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;writer,
long&nbsp;processedTxid,
long&nbsp;startTimeNs)</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#syncFailed-long-java.lang.Throwable-">syncFailed</a></span>(long&nbsp;epochWhenSync,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#trySetReadyForRolling--">trySetReadyForRolling</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitForSafePoint--">waitForSafePoint</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#waitingRoll-int-">waitingRoll</a></span>(int&nbsp;epochAndState)</code>&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#writerBroken-int-">writerBroken</a></span>(int&nbsp;epochAndState)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#abortCacheFlush-byte:A-">abortCacheFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#appendData-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-">appendData</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#appendEntry-W-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">appendEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#appendMarker-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-">appendMarker</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#archive-org.apache.hadoop.hbase.util.Pair-">archive</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#archiveLogFile-org.apache.hadoop.fs.Path-">archiveLogFile</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#atHeadOfRingBufferEventHandlerAppend--">atHeadOfRingBufferEventHandlerAppend</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#blockOnSync-org.apache.hadoop.hbase.regionserver.wal.SyncFuture-">blockOnSync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#checkLogLowReplication-long-">checkLogLowReplication</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#close--">close</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#completeCacheFlush-byte:A-long-">completeCacheFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#computeFilename-long-">computeFilename</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doCheckSlowSync--">doCheckSlowSync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#findRegionsToForceFlush--">findRegionsToForceFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getCoprocessorHost--">getCoprocessorHost</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getCurrentFileName--">getCurrentFileName</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getEarliestMemStoreSeqNum-byte:A-">getEarliestMemStoreSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getEarliestMemStoreSeqNum-byte:A-byte:A-">getEarliestMemStoreSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getFilenum--">getFilenum</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getFileNumFromFileName-org.apache.hadoop.fs.Path-">getFileNumFromFileName</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getFiles--">getFiles</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getInflightWALCloseCount--">getInflightWALCloseCount</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">getLogFileSizeIfBeingWritten</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getNumLogFiles--">getNumLogFiles</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getNumRolledLogFiles--">getNumRolledLogFiles</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getOldPath--">getOldPath</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getPreallocatedEventCount--">getPreallocatedEventCount</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getSyncFuture-long-boolean-">getSyncFuture</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getUnflushedEntriesCount--">getUnflushedEntriesCount</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getWALArchivePath-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">getWALArchivePath</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#init--">init</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#isLogRollRequested--">isLogRollRequested</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#isUnflushedEntries--">isUnflushedEntries</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#logRollAndSetupWalProps-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-long-">logRollAndSetupWalProps</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#main-java.lang.String:A-">main</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#postSync-long-int-">postSync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">registerWALActionsListener</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#replaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-W-">replaceWriter</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#requestLogRoll--">requestLogRoll</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#requestLogRoll-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener.RollRequestReason-">requestLogRoll</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollWriter--">rollWriter</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollWriter-boolean-">rollWriter</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#shutdown--">shutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#stampSequenceIdAndPublishToRingBuffer-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-boolean-com.lmax.disruptor.RingBuffer-">stampSequenceIdAndPublishToRingBuffer</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#startCacheFlush-byte:A-java.util.Map-">startCacheFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#startCacheFlush-byte:A-java.util.Set-">startCacheFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sync--">sync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sync-boolean-">sync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sync-long-">sync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sync-long-boolean-">sync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">unregisterWALActionsListener</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#updateStore-byte:A-byte:A-java.lang.Long-boolean-">updateStore</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.131">LOG</a></pre>
</li>
</ul>
<a name="SEQ_COMPARATOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SEQ_COMPARATOR</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.133">SEQ_COMPARATOR</a></pre>
</li>
</ul>
<a name="WAL_BATCH_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WAL_BATCH_SIZE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.136">WAL_BATCH_SIZE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.WAL_BATCH_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_WAL_BATCH_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_WAL_BATCH_SIZE</h4>
<pre>public static final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.137">DEFAULT_WAL_BATCH_SIZE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.DEFAULT_WAL_BATCH_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ASYNC_WAL_USE_SHARED_EVENT_LOOP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ASYNC_WAL_USE_SHARED_EVENT_LOOP</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.139">ASYNC_WAL_USE_SHARED_EVENT_LOOP</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.ASYNC_WAL_USE_SHARED_EVENT_LOOP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_ASYNC_WAL_USE_SHARED_EVENT_LOOP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_ASYNC_WAL_USE_SHARED_EVENT_LOOP</h4>
<pre>public static final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.141">DEFAULT_ASYNC_WAL_USE_SHARED_EVENT_LOOP</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.DEFAULT_ASYNC_WAL_USE_SHARED_EVENT_LOOP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.143">ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS</h4>
<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.145">DEFAULT_ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.DEFAULT_ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="eventLoopGroup">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eventLoopGroup</h4>
<pre>private final&nbsp;org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.147">eventLoopGroup</a></pre>
</li>
</ul>
<a name="consumeExecutor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consumeExecutor</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.149">consumeExecutor</a></pre>
</li>
</ul>
<a name="channelClass">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>channelClass</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hbase.thirdparty.io.netty.channel.Channel&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.151">channelClass</a></pre>
</li>
</ul>
<a name="consumeLock">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consumeLock</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.153">consumeLock</a></pre>
</li>
</ul>
<a name="consumer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consumer</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.155">consumer</a></pre>
</li>
</ul>
<a name="hasConsumerTask">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasConsumerTask</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.158">hasConsumerTask</a></pre>
</li>
</ul>
<a name="MAX_EPOCH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_EPOCH</h4>
<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.160">MAX_EPOCH</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.MAX_EPOCH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="epochAndState">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>epochAndState</h4>
<pre>private volatile&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.168">epochAndState</a></pre>
</li>
</ul>
<a name="readyForRolling">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readyForRolling</h4>
<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.170">readyForRolling</a></pre>
</li>
</ul>
<a name="readyForRollingCond">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readyForRollingCond</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.172">readyForRollingCond</a></pre>
</li>
</ul>
<a name="waitingConsumePayloads">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitingConsumePayloads</h4>
<pre>private final&nbsp;com.lmax.disruptor.RingBuffer&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.html" title="class in org.apache.hadoop.hbase.regionserver.wal">RingBufferTruck</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.174">waitingConsumePayloads</a></pre>
</li>
</ul>
<a name="waitingConsumePayloadsGatingSequence">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitingConsumePayloadsGatingSequence</h4>
<pre>private final&nbsp;com.lmax.disruptor.Sequence <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.176">waitingConsumePayloadsGatingSequence</a></pre>
</li>
</ul>
<a name="consumerScheduled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consumerScheduled</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.178">consumerScheduled</a></pre>
</li>
</ul>
<a name="batchSize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>batchSize</h4>
<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.180">batchSize</a></pre>
</li>
</ul>
<a name="closeExecutor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeExecutor</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.182">closeExecutor</a></pre>
</li>
</ul>
<a name="fsOut">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fsOut</h4>
<pre>private volatile&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/AsyncFSOutput.html" title="interface in org.apache.hadoop.hbase.io.asyncfs">AsyncFSOutput</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.185">fsOut</a></pre>
</li>
</ul>
<a name="toWriteAppends">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toWriteAppends</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSWALEntry</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.187">toWriteAppends</a></pre>
</li>
</ul>
<a name="unackedAppends">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unackedAppends</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSWALEntry</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.189">unackedAppends</a></pre>
</li>
</ul>
<a name="syncFutures">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncFutures</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.191">syncFutures</a></pre>
</li>
</ul>
<a name="highestProcessedAppendTxid">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>highestProcessedAppendTxid</h4>
<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.194">highestProcessedAppendTxid</a></pre>
</li>
</ul>
<a name="fileLengthAtLastSync">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileLengthAtLastSync</h4>
<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.197">fileLengthAtLastSync</a></pre>
</li>
</ul>
<a name="highestProcessedAppendTxidAtLastSync">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>highestProcessedAppendTxidAtLastSync</h4>
<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.199">highestProcessedAppendTxidAtLastSync</a></pre>
</li>
</ul>
<a name="waitOnShutdownInSeconds">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>waitOnShutdownInSeconds</h4>
<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.201">waitOnShutdownInSeconds</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AsyncFSWAL-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-java.lang.String-org.apache.hadoop.conf.Configuration-java.util.List-boolean-java.lang.String-java.lang.String-org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AsyncFSWAL</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.203">AsyncFSWAL</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;rootDir,
<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;logDir,
<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;archiveDir,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<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/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
boolean&nbsp;failIfWALExists,
<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;prefix,
<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;suffix,
org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hbase.thirdparty.io.netty.channel.Channel&gt;&nbsp;channelClass)
throws <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedLogCloseException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedLogCloseException</a></code></dd>
<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="AsyncFSWAL-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.Abortable-org.apache.hadoop.fs.Path-java.lang.String-java.lang.String-org.apache.hadoop.conf.Configuration-java.util.List-boolean-java.lang.String-java.lang.String-org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup-java.lang.Class-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AsyncFSWAL</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.211">AsyncFSWAL</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
<a href="../../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable,
org.apache.hadoop.fs.Path&nbsp;rootDir,
<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;logDir,
<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;archiveDir,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<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/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
boolean&nbsp;failIfWALExists,
<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;prefix,
<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;suffix,
org.apache.hbase.thirdparty.io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hbase.thirdparty.io.netty.channel.Channel&gt;&nbsp;channelClass)
throws <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedLogCloseException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedLogCloseException</a></code></dd>
<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="markFutureDoneAndOffer-org.apache.hadoop.hbase.regionserver.wal.SyncFuture-long-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>markFutureDoneAndOffer</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.266">markFutureDoneAndOffer</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;future,
long&nbsp;txid,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
<div class="block">Helper that marks the future as DONE and offers it back to the cache.</div>
</li>
</ul>
<a name="waitingRoll-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitingRoll</h4>
<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.271">waitingRoll</a>(int&nbsp;epochAndState)</pre>
</li>
</ul>
<a name="writerBroken-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writerBroken</h4>
<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.275">writerBroken</a>(int&nbsp;epochAndState)</pre>
</li>
</ul>
<a name="epoch-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>epoch</h4>
<pre>private static&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.279">epoch</a>(int&nbsp;epochAndState)</pre>
</li>
</ul>
<a name="trySetReadyForRolling--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trySetReadyForRolling</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.284">trySetReadyForRolling</a>()</pre>
</li>
</ul>
<a name="syncFailed-long-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncFailed</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.307">syncFailed</a>(long&nbsp;epochWhenSync,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
</li>
</ul>
<a name="syncCompleted-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncCompleted</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.340">syncCompleted</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;writer,
long&nbsp;processedTxid,
long&nbsp;startTimeNs)</pre>
</li>
</ul>
<a name="isHsync-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isHsync</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.369">isHsync</a>(long&nbsp;beginTxid,
long&nbsp;endTxid)</pre>
</li>
</ul>
<a name="sync-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sync</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.384">sync</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;writer)</pre>
</li>
</ul>
<a name="finishSyncLowerThanTxid-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finishSyncLowerThanTxid</h4>
<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.401">finishSyncLowerThanTxid</a>(long&nbsp;txid)</pre>
</li>
</ul>
<a name="finishSync--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finishSync</h4>
<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.417">finishSync</a>()</pre>
</li>
</ul>
<a name="appendAndSync--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendAndSync</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.451">appendAndSync</a>()</pre>
</li>
</ul>
<a name="drainNonMarkerEditsAndFailSyncs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drainNonMarkerEditsAndFailSyncs</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.507">drainNonMarkerEditsAndFailSyncs</a>()</pre>
</li>
</ul>
<a name="consume--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consume</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.549">consume</a>()</pre>
</li>
</ul>
<a name="shouldScheduleConsumer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldScheduleConsumer</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.627">shouldScheduleConsumer</a>()</pre>
</li>
</ul>
<a name="markerEditOnly--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>markerEditOnly</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.637">markerEditOnly</a>()</pre>
</li>
</ul>
<a name="append-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre>protected&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.642">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;key,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edits,
boolean&nbsp;inMemstore)
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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#append-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-boolean-">AbstractFSWAL</a></code></span></div>
<div class="block">Append a set of edits to the WAL.
<p/>
The WAL is not flushed/sync'd after this transaction completes BUT on return this edit must
have its region edit/sequence id assigned else it messes up our unification of mvcc and
sequenceid. On return <code>key</code> will have the region edit/sequence id filled in.
<p/>
NOTE: This append, at a time that is usually after this call returns, starts an mvcc
transaction by calling 'begin' wherein which we assign this update a sequenceid. At assignment
time, we stamp all the passed in Cells inside WALEdit with their sequenceId. You must
'complete' the transaction this mvcc transaction by calling
MultiVersionConcurrencyControl#complete(...) or a variant otherwise mvcc will get stuck. Do it
in the finally of a try/finally block within which this append lives and any subsequent
operations like sync or update of memstore, etc. Get the WriteEntry to pass mvcc out of the
passed in WALKey <code>walKey</code> parameter. Be warned that the WriteEntry is not
immediately available on return from this method. It WILL be available subsequent to a sync of
this append; otherwise, you will just have to wait on the WriteEntry to get filled in.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#append-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-boolean-">append</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hri</code> - the regioninfo associated with append</dd>
<dd><code>key</code> - Modified by this call; we add to it this edits region edit/sequence id.</dd>
<dd><code>edits</code> - Edits to append. MAY CONTAIN NO EDITS for case where we want to get an edit
sequence id that is after all currently appended edits.</dd>
<dd><code>inMemstore</code> - Always true except for case where we are writing a region event meta
marker edit, for example, a compaction completion record into the WAL or noting a
Region Open event. In these cases the entry is just so we can finish an unfinished
compaction after a crash when the new Server reads the WAL on recovery, etc. These
transition event 'Markers' do not go via the memstore. When memstore is false,
we presume a Marker event edit.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns a 'transaction id' and <code>key</code> will have the region edit/sequence id
in it.</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="doSync-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doSync</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.656">doSync</a>(boolean&nbsp;forceSync)
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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doSync-boolean-">doSync</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></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="doSync-long-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doSync</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.673">doSync</a>(long&nbsp;txid,
boolean&nbsp;forceSync)
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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doSync-long-boolean-">doSync</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></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="createAsyncWriter-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAsyncWriter</h4>
<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.693">createAsyncWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;path)
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="createWriterInstance-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createWriterInstance</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.699">createWriterInstance</a>(org.apache.hadoop.fs.Path&nbsp;path)
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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#createWriterInstance-org.apache.hadoop.fs.Path-">createWriterInstance</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></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="waitForSafePoint--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForSafePoint</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.703">waitForSafePoint</a>()</pre>
</li>
</ul>
<a name="closeWriter-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeWriter</h4>
<pre>protected final&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.722">closeWriter</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;writer,
org.apache.hadoop.fs.Path&nbsp;path)</pre>
</li>
</ul>
<a name="doReplaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doReplaceWriter</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.742">doReplaceWriter</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;nextWriter)
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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doReplaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-W-">AbstractFSWAL</a></code></span></div>
<div class="block">Notice that you need to clear the <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollRequested"><code>AbstractFSWAL.rollRequested</code></a> flag in this method, as the new writer
will begin to work before returning from this method. If we clear the flag after returning from
this call, we may miss a roll request. The implementation class should choose a proper place to
clear the <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollRequested"><code>AbstractFSWAL.rollRequested</code></a> flag so we do not miss a roll request, typically before you
start writing to the new writer.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doReplaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-W-">doReplaceWriter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></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="doShutdown--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doShutdown</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.770">doShutdown</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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doShutdown--">doShutdown</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></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="doAppend-org.apache.hadoop.hbase.wal.WALProvider.AsyncWriter-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doAppend</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.812">doAppend</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&nbsp;writer,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSWALEntry</a>&nbsp;entry)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doAppend-W-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">doAppend</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getPipeline--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPipeline</h4>
<pre>org.apache.hadoop.hdfs.protocol.DatanodeInfo[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.817">getPipeline</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getPipeline--">AbstractFSWAL</a></code></span></div>
<div class="block">This method gets the pipeline for the current WAL.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getPipeline--">getPipeline</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getLogReplication--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogReplication</h4>
<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.823">getLogReplication</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getLogReplication--">AbstractFSWAL</a></code></span></div>
<div class="block">This method gets the datanode replication count for the current WAL.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getLogReplication--">getLogReplication</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="doCheckLogLowReplication--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>doCheckLogLowReplication</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#line.828">doCheckLogLowReplication</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doCheckLogLowReplication--">doCheckLogLowReplication</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.AsyncWriter</a>&gt;</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AsyncFSWAL.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/regionserver/wal/AbstractProtobufLogWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncProtobufLogWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html" target="_top">Frames</a></li>
<li><a href="AsyncFSWAL.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>