blob: 547a7723729b7d487cba0f28d069ceaaf13f4168 [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>AbstractFSWAL (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="AbstractFSWAL (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":6,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":6,"i18":6,"i19":6,"i20":10,"i21":6,"i22":6,"i23":6,"i24":6,"i25":9,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":6,"i38":10,"i39":10,"i40":10,"i41":10,"i42":6,"i43":10,"i44":10,"i45":10,"i46":9,"i47":10,"i48":10,"i49":10,"i50":10,"i51":9,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":9,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/AbstractFSWAL.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.WalProps.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/AbstractFSWAL.html" target="_top">Frames</a></li>
<li><a href="AbstractFSWAL.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.regionserver.wal</div>
<h2 title="Class AbstractFSWAL" class="title">Class AbstractFSWAL&lt;W extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.WriterBase</a>&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL&lt;W&gt;</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/AsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AsyncFSWAL</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public abstract class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.120">AbstractFSWAL</a>&lt;W extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.WriterBase</a>&gt;
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></pre>
<div class="block">Implementation of <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> to go against <code>FileSystem</code>; i.e. keep WALs in HDFS. Only one
WAL is ever being written at a time. When a WAL hits a configured maximum size, it is rolled.
This is done internal to the implementation.
<p>
As data is flushed from the MemStore to other on-disk structures (files sorted by key, hfiles), a
WAL becomes obsolete. We can let go of all the log edits/entries for a given HRegion-sequence id.
A bunch of work in the below is done keeping account of these region sequence ids -- what is
flushed out to hfiles, and what is yet in WAL and in memory only.
<p>
It is only practical to delete entire files. Thus, we delete an entire on-disk file
<code>F</code> when all of the edits in <code>F</code> have a log-sequence-id that's older
(smaller) than the most-recent flush.
<p>
To read an WAL, call
<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#createReader-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-"><code>WALFactory.createReader(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path)</code></a>. *
<h2>Failure Semantic</h2> If an exception on append or sync, roll the WAL because the current WAL
is now a lame duck; any more appends or syncs will fail also with the same original exception. If
we have made successful appends to the WAL and we then are unable to sync them, our current
semantic is to return error to the client that the appends failed but also to abort the current
context, usually the hosting server. We need to replay the WALs. <br>
TODO: Change this semantic. A roll of WAL may be sufficient as long as we have flagged client
that the append failed. <br>
TODO: replication may pick up these last edits though they have been marked as failed append
(Need to keep our own file lengths, not rely on HDFS).</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.WalProps.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL.WalProps</a></span></code>&nbsp;</td>
</tr>
</table>
<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>protected <a href="../../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#abortable">abortable</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/AbstractFSWAL.html#archiveRetries">archiveRetries</a></span></code>&nbsp;</td>
</tr>
<tr 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/AbstractFSWAL.html#blocksize">blocksize</a></span></code>
<div class="block">Block size to use writing files.</div>
</td>
</tr>
<tr 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/AbstractFSWAL.html#closed">closed</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#conf">conf</a></span></code>
<div class="block">conf object</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#coprocessorHost">coprocessorHost</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_ROLL_ON_SYNC_TIME_MS">DEFAULT_ROLL_ON_SYNC_TIME_MS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_SLOW_SYNC_ROLL_INTERVAL_MS">DEFAULT_SLOW_SYNC_ROLL_INTERVAL_MS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_SLOW_SYNC_ROLL_THRESHOLD">DEFAULT_SLOW_SYNC_ROLL_THRESHOLD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_SLOW_SYNC_TIME_MS">DEFAULT_SLOW_SYNC_TIME_MS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#DEFAULT_WAL_SYNC_TIMEOUT_MS">DEFAULT_WAL_SYNC_TIMEOUT_MS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#filenum">filenum</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.fs.FileSystem</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#fs">fs</a></span></code>
<div class="block">file system instance</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#highestSyncedTxid">highestSyncedTxid</a></span></code>
<div class="block">Updated to the transaction id of the last successful sync call.</div>
</td>
</tr>
<tr 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/AbstractFSWAL.html#highestUnsyncedTxid">highestUnsyncedTxid</a></span></code>
<div class="block">The highest known outstanding unsync'd WALEdit transaction id.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/AbstractFSWAL.html#implClassName">implClassName</a></span></code>
<div class="block">The class name of the runtime implementation, used as prefix for logging/tracing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#inflightWALClosures">inflightWALClosures</a></span></code>
<div class="block">Tracks the logs in the process of being closed.</div>
</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/AbstractFSWAL.html#lastTimeCheckLowReplication">lastTimeCheckLowReplication</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/AbstractFSWAL.html#lastTimeCheckSlowSync">lastTimeCheckSlowSync</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#listeners">listeners</a></span></code>
<div class="block">Listeners that are called on WAL events.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <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;org.apache.hadoop.fs.Path&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#LOG_NAME_COMPARATOR">LOG_NAME_COMPARATOR</a></span></code>
<div class="block">WAL Comparator; it compares the timestamp (log filenum), present in the log file name.</div>
</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/AbstractFSWAL.html#logArchiveExecutor">logArchiveExecutor</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#logrollsize">logrollsize</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/AbstractFSWAL.html#MAX_LOGS">MAX_LOGS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#maxLogs">maxLogs</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/AbstractFSWAL.html#nextLogTooOldNs">nextLogTooOldNs</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#numEntries">numEntries</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.fs.PathFilter</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#ourFiles">ourFiles</a></span></code>
<div class="block">Matches just those wal files that belong to this wal instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/AbstractFSWAL.html#prefixPathStr">prefixPathStr</a></span></code>
<div class="block">Prefix used when checking for wal membership.</div>
</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/AbstractFSWAL.html#RING_BUFFER_SLOT_COUNT">RING_BUFFER_SLOT_COUNT</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected 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/AbstractFSWAL.html#ROLL_ON_SYNC_TIME_MS">ROLL_ON_SYNC_TIME_MS</a></span></code>&nbsp;</td>
</tr>
<tr 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/AbstractFSWAL.html#rollOnSyncNs">rollOnSyncNs</a></span></code>
<div class="block">The slow sync will be logged; the very slow sync will cause the WAL to be rolled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/AbstractFSWAL.html#rollRequested">rollRequested</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollWriterLock">rollWriterLock</a></span></code>
<div class="block">This lock makes sure only one log roll runs at a time.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SequenceIdAccounting</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sequenceIdAccounting">sequenceIdAccounting</a></span></code>
<div class="block">Class that does accounting of sequenceids in WAL subsystem.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <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/AbstractFSWAL.html#shutdown">shutdown</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected 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/AbstractFSWAL.html#SLOW_SYNC_ROLL_INTERVAL_MS">SLOW_SYNC_ROLL_INTERVAL_MS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected 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/AbstractFSWAL.html#SLOW_SYNC_ROLL_THRESHOLD">SLOW_SYNC_ROLL_THRESHOLD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected 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/AbstractFSWAL.html#SLOW_SYNC_TIME_MS">SLOW_SYNC_TIME_MS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#slowSyncCheckInterval">slowSyncCheckInterval</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#slowSyncCount">slowSyncCount</a></span></code>&nbsp;</td>
</tr>
<tr 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/AbstractFSWAL.html#slowSyncNs">slowSyncNs</a></span></code>
<div class="block">The slow sync will be logged; the very slow sync will cause the WAL to be rolled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#slowSyncRollThreshold">slowSyncRollThreshold</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#SURVIVED_TOO_LONG_LOG_INTERVAL_NS">SURVIVED_TOO_LONG_LOG_INTERVAL_NS</a></span></code>
<div class="block">Don't log blocking regions more frequently than this.</div>
</td>
</tr>
<tr 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/AbstractFSWAL.html#SURVIVED_TOO_LONG_SEC_DEFAULT">SURVIVED_TOO_LONG_SEC_DEFAULT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#SURVIVED_TOO_LONG_SEC_KEY">SURVIVED_TOO_LONG_SEC_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFutureCache.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFutureCache</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#syncFutureCache">syncFutureCache</a></span></code>
<div class="block">A cache of sync futures reused by threads.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#totalLogSize">totalLogSize</a></span></code>
<div class="block">The total size of wal</div>
</td>
</tr>
<tr 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/AbstractFSWAL.html#useHsync">useHsync</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/AbstractFSWAL.html#WAL_ROLL_MULTIPLIER">WAL_ROLL_MULTIPLIER</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected 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/AbstractFSWAL.html#WAL_SYNC_TIMEOUT_MS">WAL_SYNC_TIMEOUT_MS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walArchiveDir">walArchiveDir</a></span></code>
<div class="block">dir path where old logs are kept.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walDir">walDir</a></span></code>
<div class="block">WAL directory, where all WAL files would be placed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;org.apache.hadoop.fs.Path,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.WalProps.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL.WalProps</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walFile2Props">walFile2Props</a></span></code>
<div class="block">Map of WAL log file to properties.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/AbstractFSWAL.html#walFilePrefix">walFilePrefix</a></span></code>
<div class="block">Prefix of a WAL file, usually the region server name it is hosted on.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <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/AbstractFSWAL.html#walFileSuffix">walFileSuffix</a></span></code>
<div class="block">Suffix included on generated wal file names</div>
</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/AbstractFSWAL.html#walSyncTimeoutNs">walSyncTimeoutNs</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/AbstractFSWAL.html#walTooOldNs">walTooOldNs</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#writer">writer</a></span></code>
<div class="block">Current log file.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#AbstractFSWAL-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-">AbstractFSWAL</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)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#AbstractFSWAL-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-">AbstractFSWAL</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)</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#abortCacheFlush-byte:A-">abortCacheFlush</a></span>(byte[]&nbsp;encodedRegionName)</code>
<div class="block">Abort a cache flush.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><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></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<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="i2" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><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></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<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)</code>
<div class="block">Append a set of data edits to the WAL.</div>
</td>
</tr>
<tr id="i3" 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/AbstractFSWAL.html#appendEntry-W-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">appendEntry</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</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="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><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></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<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)</code>
<div class="block">Append an operational 'meta' event marker edit to the WAL.</div>
</td>
</tr>
<tr id="i5" 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/AbstractFSWAL.html#archive-org.apache.hadoop.hbase.util.Pair-">archive</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.Path,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;log)</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/AbstractFSWAL.html#archiveLogFile-org.apache.hadoop.fs.Path-">archiveLogFile</a></span>(org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
</tr>
<tr id="i7" 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/AbstractFSWAL.html#atHeadOfRingBufferEventHandlerAppend--">atHeadOfRingBufferEventHandlerAppend</a></span>()</code>
<div class="block">Exposed for testing only.</div>
</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/AbstractFSWAL.html#blockOnSync-org.apache.hadoop.hbase.regionserver.wal.SyncFuture-">blockOnSync</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;syncFuture)</code>&nbsp;</td>
</tr>
<tr id="i9" 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/AbstractFSWAL.html#calculateMaxLogFiles-org.apache.hadoop.conf.Configuration-long-">calculateMaxLogFiles</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
long&nbsp;logRollSize)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#checkLogLowReplication-long-">checkLogLowReplication</a></span>(long&nbsp;checkInterval)</code>&nbsp;</td>
</tr>
<tr id="i11" 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/AbstractFSWAL.html#cleanOldLogs--">cleanOldLogs</a></span>()</code>
<div class="block">Archive old logs.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#close--">close</a></span>()</code>
<div class="block">Caller no longer needs any edits from this WAL.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#completeCacheFlush-byte:A-long-">completeCacheFlush</a></span>(byte[]&nbsp;encodedRegionName,
long&nbsp;maxFlushedSeqId)</code>
<div class="block">Complete the cache flush.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#computeFilename-long-">computeFilename</a></span>(long&nbsp;filenum)</code>
<div class="block">This is a convenience method that computes a new filename with a given file-number.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private <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></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#convertInterruptedExceptionToIOException-java.lang.InterruptedException-">convertInterruptedExceptionToIOException</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>&nbsp;ie)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>private io.opentelemetry.api.trace.Span</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#createSpan-java.lang.String-">createSpan</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#createWriterInstance-org.apache.hadoop.fs.Path-">createWriterInstance</a></span>(org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doAppend-W-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">doAppend</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</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="i19" class="rowColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doCheckLogLowReplication--">doCheckLogLowReplication</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doCheckSlowSync--">doCheckSlowSync</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doReplaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-W-">doReplaceWriter</a></span>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</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>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="i22" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doShutdown--">doShutdown</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doSync-boolean-">doSync</a></span>(boolean&nbsp;forceSync)</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#doSync-long-boolean-">doSync</a></span>(long&nbsp;txid,
boolean&nbsp;forceSync)</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>private static <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></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#ensureIOException-java.lang.Throwable-">ensureIOException</a></span>(<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>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<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;byte[]&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#findRegionsToForceFlush--">findRegionsToForceFlush</a></span>()</code>
<div class="block">If the number of un-archived WAL files ('live' WALs) is greater than maximum allowed,
check the first (oldest) WAL, and return those regions which should be flushed so that
it can be let-go/'archived'.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getCoprocessorHost--">getCoprocessorHost</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getCurrentFileName--">getCurrentFileName</a></span>()</code>
<div class="block">This is a convenience method that computes a new filename with a given using the current WAL
file-number</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getEarliestMemStoreSeqNum-byte:A-">getEarliestMemStoreSeqNum</a></span>(byte[]&nbsp;encodedRegionName)</code>
<div class="block">Gets the earliest unflushed sequence id in the memstore for the region.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getEarliestMemStoreSeqNum-byte:A-byte:A-">getEarliestMemStoreSeqNum</a></span>(byte[]&nbsp;encodedRegionName,
byte[]&nbsp;familyName)</code>
<div class="block">Gets the earliest unflushed sequence id in the memstore for the store.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getFilenum--">getFilenum</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i32" 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/AbstractFSWAL.html#getFileNumFromFileName-org.apache.hadoop.fs.Path-">getFileNumFromFileName</a></span>(org.apache.hadoop.fs.Path&nbsp;fileName)</code>
<div class="block">A log file has a creation timestamp (in ms) in its file name (<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#filenum"><code>filenum</code></a>.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>(package private) org.apache.hadoop.fs.FileStatus[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getFiles--">getFiles</a></span>()</code>
<div class="block">Get the backing files associated with this WAL.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getInflightWALCloseCount--">getInflightWALCloseCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getLogFileSize--">getLogFileSize</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/OptionalLong.html?is-external=true" title="class or interface in java.util">OptionalLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">getLogFileSizeIfBeingWritten</a></span>(org.apache.hadoop.fs.Path&nbsp;path)</code>
<div class="block">if the given <code>path</code> is being written currently, then return its length.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>(package private) abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.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="i38" class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getNewPath--">getNewPath</a></span>()</code>
<div class="block">retrieve the next path to use for writing.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getNumLogFiles--">getNumLogFiles</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getNumRolledLogFiles--">getNumRolledLogFiles</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getOldPath--">getOldPath</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>(package private) abstract org.apache.hadoop.hdfs.protocol.DatanodeInfo[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getPipeline--">getPipeline</a></span>()</code>
<div class="block">This method gets the pipeline for the current WAL.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getPreallocatedEventCount--">getPreallocatedEventCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getSyncFuture-long-boolean-">getSyncFuture</a></span>(long&nbsp;sequence,
boolean&nbsp;forceSync)</code>&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getUnflushedEntriesCount--">getUnflushedEntriesCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#getWALArchivePath-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">getWALArchivePath</a></span>(org.apache.hadoop.fs.Path&nbsp;archiveDir,
org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#init--">init</a></span>()</code>
<div class="block">Used to initialize the WAL.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#isLogRollRequested--">isLogRollRequested</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#isUnflushedEntries--">isUnflushedEntries</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i50" 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/AbstractFSWAL.html#logRollAndSetupWalProps-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-long-">logRollAndSetupWalProps</a></span>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath,
long&nbsp;oldFileLen)</code>&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
<div class="block">Pass one or more log file names and it will either dump out a text version on
<code>stdout</code> or split the specified log files.</div>
</td>
</tr>
<tr id="i52" 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/AbstractFSWAL.html#postAppend-org.apache.hadoop.hbase.wal.WAL.Entry-long-">postAppend</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;e,
long&nbsp;elapsedTime)</code>&nbsp;</td>
</tr>
<tr id="i53" 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/AbstractFSWAL.html#postSync-long-int-">postSync</a></span>(long&nbsp;timeInNanos,
int&nbsp;handlerSyncs)</code>&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">registerWALActionsListener</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
<div class="block">Registers WALActionsListener</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#replaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-W-">replaceWriter</a></span>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</a>&nbsp;nextWriter)</code>
<div class="block">Cleans up current writer closing it and then puts in place the passed in <code>nextWriter</code>.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#requestLogRoll--">requestLogRoll</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i57" 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/AbstractFSWAL.html#requestLogRoll-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener.RollRequestReason-">requestLogRoll</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.RollRequestReason.html" title="enum in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener.RollRequestReason</a>&nbsp;reason)</code>&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<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;byte[]&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollWriter--">rollWriter</a></span>()</code>
<div class="block">Roll the log writer.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<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;byte[]&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollWriter-boolean-">rollWriter</a></span>(boolean&nbsp;force)</code>
<div class="block">Roll the log writer.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<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;byte[]&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollWriterInternal-boolean-">rollWriterInternal</a></span>(boolean&nbsp;force)</code>&nbsp;</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#shutdown--">shutdown</a></span>()</code>
<div class="block">Stop accepting new writes.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#split-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path-">split</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><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></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,
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;&nbsp;ringBuffer)</code>&nbsp;</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#startCacheFlush-byte:A-java.util.Map-">startCacheFlush</a></span>(byte[]&nbsp;encodedRegionName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;familyToSeq)</code>&nbsp;</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#startCacheFlush-byte:A-java.util.Set-">startCacheFlush</a></span>(byte[]&nbsp;encodedRegionName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;families)</code>
<div class="block">WAL keeps track of the sequence numbers that are as yet not flushed im memstores
in order to be able to do accounting to figure which WALs can be let go.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sync--">sync</a></span>()</code>
<div class="block">Sync what we have in the WAL.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sync-boolean-">sync</a></span>(boolean&nbsp;forceSync)</code>&nbsp;</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sync-long-">sync</a></span>(long&nbsp;txid)</code>
<div class="block">Sync the WAL if the txId was not already sync'd.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#sync-long-boolean-">sync</a></span>(long&nbsp;txid,
boolean&nbsp;forceSync)</code>&nbsp;</td>
</tr>
<tr id="i70" 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/AbstractFSWAL.html#tellListenersAboutPostLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">tellListenersAboutPostLogRoll</a></span>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath)</code>
<div class="block">Tell listeners about post log roll.</div>
</td>
</tr>
<tr id="i71" 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/AbstractFSWAL.html#tellListenersAboutPreLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">tellListenersAboutPreLogRoll</a></span>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath)</code>
<div class="block">Tell listeners about pre log roll.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#toString--">toString</a></span>()</code>
<div class="block">Human readable identifying information about the state of this WAL.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">unregisterWALActionsListener</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
<div class="block">Unregisters WALActionsListener</div>
</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#updateStore-byte:A-byte:A-java.lang.Long-boolean-">updateStore</a></span>(byte[]&nbsp;encodedRegionName,
byte[]&nbsp;familyName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sequenceid,
boolean&nbsp;onlyIfGreater)</code>
<div class="block">updates the sequence number of a specific store.</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#usage--">usage</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#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/AbstractFSWAL.html#line.121">LOG</a></pre>
</li>
</ul>
<a name="SURVIVED_TOO_LONG_SEC_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SURVIVED_TOO_LONG_SEC_KEY</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.123">SURVIVED_TOO_LONG_SEC_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.SURVIVED_TOO_LONG_SEC_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SURVIVED_TOO_LONG_SEC_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SURVIVED_TOO_LONG_SEC_DEFAULT</h4>
<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.124">SURVIVED_TOO_LONG_SEC_DEFAULT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.SURVIVED_TOO_LONG_SEC_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SURVIVED_TOO_LONG_LOG_INTERVAL_NS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SURVIVED_TOO_LONG_LOG_INTERVAL_NS</h4>
<pre>private static final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.126">SURVIVED_TOO_LONG_LOG_INTERVAL_NS</a></pre>
<div class="block">Don't log blocking regions more frequently than this.</div>
</li>
</ul>
<a name="SLOW_SYNC_TIME_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SLOW_SYNC_TIME_MS</h4>
<pre>protected 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/AbstractFSWAL.html#line.128">SLOW_SYNC_TIME_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.SLOW_SYNC_TIME_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_SLOW_SYNC_TIME_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SLOW_SYNC_TIME_MS</h4>
<pre>protected static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.129">DEFAULT_SLOW_SYNC_TIME_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.DEFAULT_SLOW_SYNC_TIME_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ROLL_ON_SYNC_TIME_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ROLL_ON_SYNC_TIME_MS</h4>
<pre>protected 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/AbstractFSWAL.html#line.130">ROLL_ON_SYNC_TIME_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.ROLL_ON_SYNC_TIME_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_ROLL_ON_SYNC_TIME_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_ROLL_ON_SYNC_TIME_MS</h4>
<pre>protected static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.131">DEFAULT_ROLL_ON_SYNC_TIME_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.DEFAULT_ROLL_ON_SYNC_TIME_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SLOW_SYNC_ROLL_THRESHOLD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SLOW_SYNC_ROLL_THRESHOLD</h4>
<pre>protected 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/AbstractFSWAL.html#line.132">SLOW_SYNC_ROLL_THRESHOLD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.SLOW_SYNC_ROLL_THRESHOLD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_SLOW_SYNC_ROLL_THRESHOLD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SLOW_SYNC_ROLL_THRESHOLD</h4>
<pre>protected static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.134">DEFAULT_SLOW_SYNC_ROLL_THRESHOLD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.DEFAULT_SLOW_SYNC_ROLL_THRESHOLD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SLOW_SYNC_ROLL_INTERVAL_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SLOW_SYNC_ROLL_INTERVAL_MS</h4>
<pre>protected 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/AbstractFSWAL.html#line.135">SLOW_SYNC_ROLL_INTERVAL_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.SLOW_SYNC_ROLL_INTERVAL_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_SLOW_SYNC_ROLL_INTERVAL_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SLOW_SYNC_ROLL_INTERVAL_MS</h4>
<pre>protected static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.137">DEFAULT_SLOW_SYNC_ROLL_INTERVAL_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.DEFAULT_SLOW_SYNC_ROLL_INTERVAL_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WAL_SYNC_TIMEOUT_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WAL_SYNC_TIMEOUT_MS</h4>
<pre>protected 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/AbstractFSWAL.html#line.139">WAL_SYNC_TIMEOUT_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.WAL_SYNC_TIMEOUT_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_WAL_SYNC_TIMEOUT_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_WAL_SYNC_TIMEOUT_MS</h4>
<pre>protected static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.140">DEFAULT_WAL_SYNC_TIMEOUT_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.DEFAULT_WAL_SYNC_TIMEOUT_MS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WAL_ROLL_MULTIPLIER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WAL_ROLL_MULTIPLIER</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/AbstractFSWAL.html#line.142">WAL_ROLL_MULTIPLIER</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.WAL_ROLL_MULTIPLIER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MAX_LOGS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_LOGS</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/AbstractFSWAL.html#line.144">MAX_LOGS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.MAX_LOGS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RING_BUFFER_SLOT_COUNT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RING_BUFFER_SLOT_COUNT</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/AbstractFSWAL.html#line.146">RING_BUFFER_SLOT_COUNT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.RING_BUFFER_SLOT_COUNT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="fs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fs</h4>
<pre>protected final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.152">fs</a></pre>
<div class="block">file system instance</div>
</li>
</ul>
<a name="walDir">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walDir</h4>
<pre>protected final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.157">walDir</a></pre>
<div class="block">WAL directory, where all WAL files would be placed.</div>
</li>
</ul>
<a name="walArchiveDir">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walArchiveDir</h4>
<pre>protected final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.162">walArchiveDir</a></pre>
<div class="block">dir path where old logs are kept.</div>
</li>
</ul>
<a name="ourFiles">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ourFiles</h4>
<pre>protected final&nbsp;org.apache.hadoop.fs.PathFilter <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.167">ourFiles</a></pre>
<div class="block">Matches just those wal files that belong to this wal instance.</div>
</li>
</ul>
<a name="walFilePrefix">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walFilePrefix</h4>
<pre>protected 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/AbstractFSWAL.html#line.172">walFilePrefix</a></pre>
<div class="block">Prefix of a WAL file, usually the region server name it is hosted on.</div>
</li>
</ul>
<a name="walFileSuffix">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walFileSuffix</h4>
<pre>protected 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/AbstractFSWAL.html#line.177">walFileSuffix</a></pre>
<div class="block">Suffix included on generated wal file names</div>
</li>
</ul>
<a name="prefixPathStr">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prefixPathStr</h4>
<pre>protected 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/AbstractFSWAL.html#line.182">prefixPathStr</a></pre>
<div class="block">Prefix used when checking for wal membership.</div>
</li>
</ul>
<a name="coprocessorHost">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coprocessorHost</h4>
<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.184">coprocessorHost</a></pre>
</li>
</ul>
<a name="conf">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.189">conf</a></pre>
<div class="block">conf object</div>
</li>
</ul>
<a name="abortable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abortable</h4>
<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.191">abortable</a></pre>
</li>
</ul>
<a name="listeners">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listeners</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.194">listeners</a></pre>
<div class="block">Listeners that are called on WAL events.</div>
</li>
</ul>
<a name="inflightWALClosures">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inflightWALClosures</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</a> extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.WriterBase</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.197">inflightWALClosures</a></pre>
<div class="block">Tracks the logs in the process of being closed.</div>
</li>
</ul>
<a name="sequenceIdAccounting">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sequenceIdAccounting</h4>
<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SequenceIdAccounting</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.204">sequenceIdAccounting</a></pre>
<div class="block">Class that does accounting of sequenceids in WAL subsystem. Holds oldest outstanding sequence
id as yet not flushed as well as the most recent edit sequence id appended to the WAL. Has
facility for answering questions such as "Is it safe to GC a WAL?".</div>
</li>
</ul>
<a name="slowSyncNs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slowSyncNs</h4>
<pre>protected final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.207">slowSyncNs</a></pre>
<div class="block">The slow sync will be logged; the very slow sync will cause the WAL to be rolled.</div>
</li>
</ul>
<a name="rollOnSyncNs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollOnSyncNs</h4>
<pre>protected final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.207">rollOnSyncNs</a></pre>
<div class="block">The slow sync will be logged; the very slow sync will cause the WAL to be rolled.</div>
</li>
</ul>
<a name="slowSyncRollThreshold">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slowSyncRollThreshold</h4>
<pre>protected final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.208">slowSyncRollThreshold</a></pre>
</li>
</ul>
<a name="slowSyncCheckInterval">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slowSyncCheckInterval</h4>
<pre>protected final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.209">slowSyncCheckInterval</a></pre>
</li>
</ul>
<a name="slowSyncCount">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slowSyncCount</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.210">slowSyncCount</a></pre>
</li>
</ul>
<a name="walSyncTimeoutNs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walSyncTimeoutNs</h4>
<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.212">walSyncTimeoutNs</a></pre>
</li>
</ul>
<a name="walTooOldNs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walTooOldNs</h4>
<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.214">walTooOldNs</a></pre>
</li>
</ul>
<a name="logrollsize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logrollsize</h4>
<pre>protected final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.217">logrollsize</a></pre>
</li>
</ul>
<a name="blocksize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>blocksize</h4>
<pre>protected final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.222">blocksize</a></pre>
<div class="block">Block size to use writing files.</div>
</li>
</ul>
<a name="maxLogs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxLogs</h4>
<pre>protected final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.228">maxLogs</a></pre>
</li>
</ul>
<a name="useHsync">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useHsync</h4>
<pre>protected final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.230">useHsync</a></pre>
</li>
</ul>
<a name="rollWriterLock">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollWriterLock</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.239">rollWriterLock</a></pre>
<div class="block">This lock makes sure only one log roll runs at a time. Should not be taken while any other lock
is held. We don't just use synchronized because that results in bogus and tedious findbugs
warning when it thinks synchronized controls writer thread safety. It is held when we are
actually rolling the log. It is checked when we are looking to see if we should roll the log or
not.</div>
</li>
</ul>
<a name="filenum">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filenum</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.242">filenum</a></pre>
</li>
</ul>
<a name="numEntries">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numEntries</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.245">numEntries</a></pre>
</li>
</ul>
<a name="highestUnsyncedTxid">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>highestUnsyncedTxid</h4>
<pre>protected volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.252">highestUnsyncedTxid</a></pre>
<div class="block">The highest known outstanding unsync'd WALEdit transaction id. Usually, we use a queue to pass
WALEdit to background consumer thread, and the transaction id is the sequence number of the
corresponding entry in queue.</div>
</li>
</ul>
<a name="highestSyncedTxid">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>highestSyncedTxid</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.259">highestSyncedTxid</a></pre>
<div class="block">Updated to the transaction id of the last successful sync call. This can be less than
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#highestUnsyncedTxid"><code>highestUnsyncedTxid</code></a> for case where we have an append where a sync has not yet come in
for it.</div>
</li>
</ul>
<a name="totalLogSize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>totalLogSize</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.264">totalLogSize</a></pre>
<div class="block">The total size of wal</div>
</li>
</ul>
<a name="writer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writer</h4>
<pre>volatile&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</a> extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.WriterBase</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.268">writer</a></pre>
<div class="block">Current log file.</div>
</li>
</ul>
<a name="lastTimeCheckLowReplication">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastTimeCheckLowReplication</h4>
<pre>private volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.271">lastTimeCheckLowReplication</a></pre>
</li>
</ul>
<a name="lastTimeCheckSlowSync">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastTimeCheckSlowSync</h4>
<pre>private volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.274">lastTimeCheckSlowSync</a></pre>
</li>
</ul>
<a name="closed">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closed</h4>
<pre>protected volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.276">closed</a></pre>
</li>
</ul>
<a name="shutdown">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre>protected 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/AbstractFSWAL.html#line.278">shutdown</a></pre>
</li>
</ul>
<a name="nextLogTooOldNs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextLogTooOldNs</h4>
<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.280">nextLogTooOldNs</a></pre>
</li>
</ul>
<a name="LOG_NAME_COMPARATOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG_NAME_COMPARATOR</h4>
<pre>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;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.286">LOG_NAME_COMPARATOR</a></pre>
<div class="block">WAL Comparator; it compares the timestamp (log filenum), present in the log file name. Throws
an IllegalArgumentException if used to compare paths from different wals.</div>
</li>
</ul>
<a name="walFile2Props">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walFile2Props</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;org.apache.hadoop.fs.Path,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.WalProps.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL.WalProps</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.319">walFile2Props</a></pre>
<div class="block">Map of WAL log file to properties. The map is sorted by the log file creation timestamp
(contained in the log file name).</div>
</li>
</ul>
<a name="syncFutureCache">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncFutureCache</h4>
<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFutureCache.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFutureCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.325">syncFutureCache</a></pre>
<div class="block">A cache of sync futures reused by threads.</div>
</li>
</ul>
<a name="implClassName">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>implClassName</h4>
<pre>protected 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/AbstractFSWAL.html#line.334">implClassName</a></pre>
<div class="block">The class name of the runtime implementation, used as prefix for logging/tracing.
<p>
Performance testing shows getClass().getSimpleName() might be a bottleneck so we store it here,
refer to HBASE-17676 for more details
</p></div>
</li>
</ul>
<a name="rollRequested">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollRequested</h4>
<pre>protected 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/AbstractFSWAL.html#line.336">rollRequested</a></pre>
</li>
</ul>
<a name="logArchiveExecutor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logArchiveExecutor</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/AbstractFSWAL.html#line.338">logArchiveExecutor</a></pre>
</li>
</ul>
<a name="archiveRetries">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>archiveRetries</h4>
<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.341">archiveRetries</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="AbstractFSWAL-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-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractFSWAL</h4>
<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.390">AbstractFSWAL</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)
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="AbstractFSWAL-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-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractFSWAL</h4>
<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.397">AbstractFSWAL</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)
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="getFilenum--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilenum</h4>
<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.343">getFilenum</a>()</pre>
</li>
</ul>
<a name="getFileNumFromFileName-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFileNumFromFileName</h4>
<pre>protected&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.353">getFileNumFromFileName</a>(org.apache.hadoop.fs.Path&nbsp;fileName)</pre>
<div class="block">A log file has a creation timestamp (in ms) in its file name (<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#filenum"><code>filenum</code></a>. This helper
method returns the creation timestamp from a given log file. It extracts the timestamp assuming
the filename is created with the <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#computeFilename-long-"><code>computeFilename(long filenum)</code></a> method.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>timestamp, as in the log file name.</dd>
</dl>
</li>
</ul>
<a name="calculateMaxLogFiles-org.apache.hadoop.conf.Configuration-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>calculateMaxLogFiles</h4>
<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.365">calculateMaxLogFiles</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
long&nbsp;logRollSize)</pre>
</li>
</ul>
<a name="getPreallocatedEventCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPreallocatedEventCount</h4>
<pre>protected final&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.371">getPreallocatedEventCount</a>()</pre>
</li>
</ul>
<a name="init--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.507">init</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Used to initialize the WAL. Usually just call rollWriter to create the first log writer.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerWALActionsListener</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.512">registerWALActionsListener</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">WAL</a></code></span></div>
<div class="block">Registers WALActionsListener</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">registerWALActionsListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
</dl>
</li>
</ul>
<a name="unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterWALActionsListener</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.517">unregisterWALActionsListener</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">WAL</a></code></span></div>
<div class="block">Unregisters WALActionsListener</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">unregisterWALActionsListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
</dl>
</li>
</ul>
<a name="getCoprocessorHost--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCoprocessorHost</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.522">getCoprocessorHost</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#getCoprocessorHost--">getCoprocessorHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Coprocessor host.</dd>
</dl>
</li>
</ul>
<a name="startCacheFlush-byte:A-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startCacheFlush</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.527">startCacheFlush</a>(byte[]&nbsp;encodedRegionName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;families)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#startCacheFlush-byte:A-java.util.Set-">WAL</a></code></span></div>
<div class="block">WAL keeps track of the sequence numbers that are as yet not flushed im memstores
in order to be able to do accounting to figure which WALs can be let go. This method tells WAL
that some region is about to flush. The flush can be the whole region or for a column family
of the region only.
<p>Currently, it is expected that the update lock is held for the region; i.e. no
concurrent appends while we set up cache flush.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#startCacheFlush-byte:A-java.util.Set-">startCacheFlush</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dd><code>families</code> - Families to flush. May be a subset of all families in the region.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns <a href="../../../../../../org/apache/hadoop/hbase/HConstants.html#NO_SEQNUM"><code>HConstants.NO_SEQNUM</code></a> if we are flushing the whole region OR if
we are flushing a subset of all families but there are no edits in those families not
being flushed; in other words, this is effectively same as a flush of all of the region
though we were passed a subset of regions. Otherwise, it returns the sequence id of the
oldest/lowest outstanding edit.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#completeCacheFlush-byte:A-long-"><code>WAL.completeCacheFlush(byte[], long)</code></a>,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#abortCacheFlush-byte:A-"><code>WAL.abortCacheFlush(byte[])</code></a></dd>
</dl>
</li>
</ul>
<a name="startCacheFlush-byte:A-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startCacheFlush</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.532">startCacheFlush</a>(byte[]&nbsp;encodedRegionName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;familyToSeq)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#startCacheFlush-byte:A-java.util.Map-">startCacheFlush</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
</dl>
</li>
</ul>
<a name="completeCacheFlush-byte:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>completeCacheFlush</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.537">completeCacheFlush</a>(byte[]&nbsp;encodedRegionName,
long&nbsp;maxFlushedSeqId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#completeCacheFlush-byte:A-long-">WAL</a></code></span></div>
<div class="block">Complete the cache flush.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#completeCacheFlush-byte:A-long-">completeCacheFlush</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encodedRegionName</code> - Encoded region name.</dd>
<dd><code>maxFlushedSeqId</code> - The maxFlushedSeqId for this flush. There is no edit in memory that is
less that this sequence id.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#startCacheFlush-byte:A-java.util.Set-"><code>WAL.startCacheFlush(byte[], Set)</code></a>,
<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#abortCacheFlush-byte:A-"><code>WAL.abortCacheFlush(byte[])</code></a></dd>
</dl>
</li>
</ul>
<a name="abortCacheFlush-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abortCacheFlush</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.542">abortCacheFlush</a>(byte[]&nbsp;encodedRegionName)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#abortCacheFlush-byte:A-">WAL</a></code></span></div>
<div class="block">Abort a cache flush. Call if the flush fails. Note that the only recovery
for an aborted flush currently is a restart of the regionserver so the
snapshot content dropped by the failure gets restored to the memstore.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#abortCacheFlush-byte:A-">abortCacheFlush</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encodedRegionName</code> - Encoded region name.</dd>
</dl>
</li>
</ul>
<a name="getEarliestMemStoreSeqNum-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEarliestMemStoreSeqNum</h4>
<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.547">getEarliestMemStoreSeqNum</a>(byte[]&nbsp;encodedRegionName)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#getEarliestMemStoreSeqNum-byte:A-">WAL</a></code></span></div>
<div class="block">Gets the earliest unflushed sequence id in the memstore for the region.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#getEarliestMemStoreSeqNum-byte:A-">getEarliestMemStoreSeqNum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encodedRegionName</code> - The region to get the number for.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The earliest/lowest/oldest sequence id if present, HConstants.NO_SEQNUM if absent.</dd>
</dl>
</li>
</ul>
<a name="getEarliestMemStoreSeqNum-byte:A-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEarliestMemStoreSeqNum</h4>
<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.553">getEarliestMemStoreSeqNum</a>(byte[]&nbsp;encodedRegionName,
byte[]&nbsp;familyName)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#getEarliestMemStoreSeqNum-byte:A-byte:A-">WAL</a></code></span></div>
<div class="block">Gets the earliest unflushed sequence id in the memstore for the store.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#getEarliestMemStoreSeqNum-byte:A-byte:A-">getEarliestMemStoreSeqNum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encodedRegionName</code> - The region to get the number for.</dd>
<dd><code>familyName</code> - The family to get the number for.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The earliest/lowest/oldest sequence id if present, HConstants.NO_SEQNUM if absent.</dd>
</dl>
</li>
</ul>
<a name="rollWriter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollWriter</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<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;byte[]&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.566">rollWriter</a>()
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>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#rollWriter--">WAL</a></code></span></div>
<div class="block">Roll the log writer. That is, start writing log messages to a new file.
<p/>
The implementation is synchronized in order to make sure there's one rollWriter
running at any given time.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#rollWriter--">rollWriter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If lots of logs, flush the stores of returned regions so next time through we
can clean logs. Returns null if nothing to flush. Names are actual
region names as returned by <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html#getEncodedName--"><code>RegionInfo.getEncodedName()</code></a></dd>
<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="sync--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sync</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.571">sync</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync--">WAL</a></code></span></div>
<div class="block">Sync what we have in the WAL.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync--">sync</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></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="sync-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sync</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.576">sync</a>(long&nbsp;txid)
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 interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync-long-">WAL</a></code></span></div>
<div class="block">Sync the WAL if the txId was not already sync'd.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync-long-">sync</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>txid</code> - Transaction id to sync to.</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="sync-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sync</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.581">sync</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/wal/WAL.html#sync-boolean-">sync</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>forceSync</code> - Flag to force sync rather than flushing to the buffer. Example - Hadoop hflush
vs hsync.</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="sync-long-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sync</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.589">sync</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/wal/WAL.html#sync-long-boolean-">sync</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>txid</code> - Transaction id to sync to.</dd>
<dd><code>forceSync</code> - Flag to force sync rather than flushing to the buffer. Example - Hadoop hflush
vs hsync.</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 abstract&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.596">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="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 abstract&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.598">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="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="computeFilename-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeFilename</h4>
<pre>protected&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.604">computeFilename</a>(long&nbsp;filenum)</pre>
<div class="block">This is a convenience method that computes a new filename with a given file-number.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filenum</code> - to use</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Path</dd>
</dl>
</li>
</ul>
<a name="getCurrentFileName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentFileName</h4>
<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.617">getCurrentFileName</a>()</pre>
<div class="block">This is a convenience method that computes a new filename with a given using the current WAL
file-number</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Path</dd>
</dl>
</li>
</ul>
<a name="getNewPath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNewPath</h4>
<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.624">getNewPath</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">retrieve the next path to use for writing. Increments the internal filenum.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getOldPath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOldPath</h4>
<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.634">getOldPath</a>()</pre>
</li>
</ul>
<a name="tellListenersAboutPreLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tellListenersAboutPreLogRoll</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.647">tellListenersAboutPreLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath)
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">Tell listeners about pre log roll.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="tellListenersAboutPostLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tellListenersAboutPostLogRoll</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.661">tellListenersAboutPostLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath)
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">Tell listeners about post log roll.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getNumRolledLogFiles--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumRolledLogFiles</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.674">getNumRolledLogFiles</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of rolled log files</dd>
</dl>
</li>
</ul>
<a name="getNumLogFiles--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumLogFiles</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.680">getNumLogFiles</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of log files in use</dd>
</dl>
</li>
</ul>
<a name="findRegionsToForceFlush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findRegionsToForceFlush</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<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;byte[]&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.691">findRegionsToForceFlush</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">If the number of un-archived WAL files ('live' WALs) is greater than maximum allowed,
check the first (oldest) WAL, and return those regions which should be flushed so that
it can be let-go/'archived'.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>stores of regions (encodedRegionNames) to flush in order to archive oldest WAL file.</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="cleanOldLogs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanOldLogs</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.721">cleanOldLogs</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Archive old logs. A WAL is eligible for archiving if all its WALEdits have been flushed.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="archive-org.apache.hadoop.hbase.util.Pair-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>archive</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.776">archive</a>(<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.Path,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;log)</pre>
</li>
</ul>
<a name="getWALArchivePath-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWALArchivePath</h4>
<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.804">getWALArchivePath</a>(org.apache.hadoop.fs.Path&nbsp;archiveDir,
org.apache.hadoop.fs.Path&nbsp;p)</pre>
</li>
</ul>
<a name="archiveLogFile-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>archiveLogFile</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.808">archiveLogFile</a>(org.apache.hadoop.fs.Path&nbsp;p)
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="logRollAndSetupWalProps-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logRollAndSetupWalProps</h4>
<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.828">logRollAndSetupWalProps</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath,
long&nbsp;oldFileLen)</pre>
</li>
</ul>
<a name="createSpan-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSpan</h4>
<pre>private&nbsp;io.opentelemetry.api.trace.Span&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.843">createSpan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
</li>
</ul>
<a name="replaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider.WriterBase-">
<!-- -->
</a><a name="replaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-W-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceWriter</h4>
<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.863">replaceWriter</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</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">Cleans up current writer closing it and then puts in place the passed in <code>nextWriter</code>.
<p/>
<ul>
<li>In the case of creating a new WAL, oldPath will be null.</li>
<li>In the case of rolling over from one file to the next, none of the parameters will be null.
</li>
<li>In the case of closing out this FSHLog with no further use newPath and nextWriter will be
null.</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oldPath</code> - may be null</dd>
<dd><code>newPath</code> - may be null</dd>
<dd><code>nextWriter</code> - may be null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the passed in <code>newPath</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> - if there is a problem flushing or closing the underlying FS</dd>
</dl>
</li>
</ul>
<a name="blockOnSync-org.apache.hadoop.hbase.regionserver.wal.SyncFuture-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>blockOnSync</h4>
<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.870">blockOnSync</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;syncFuture)
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="ensureIOException-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensureIOException</h4>
<pre>private static&nbsp;<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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.890">ensureIOException</a>(<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>
</li>
</ul>
<a name="convertInterruptedExceptionToIOException-java.lang.InterruptedException-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertInterruptedExceptionToIOException</h4>
<pre>private&nbsp;<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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.894">convertInterruptedExceptionToIOException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>&nbsp;ie)</pre>
</li>
</ul>
<a name="rollWriterInternal-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollWriterInternal</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<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;byte[]&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.901">rollWriterInternal</a>(boolean&nbsp;force)
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="rollWriter-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollWriter</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<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;byte[]&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.947">rollWriter</a>(boolean&nbsp;force)
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 interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#rollWriter-boolean-">WAL</a></code></span></div>
<div class="block">Roll the log writer. That is, start writing log messages to a new file.
<p/>
The implementation is synchronized in order to make sure there's one rollWriter
running at any given time.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#rollWriter-boolean-">rollWriter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>force</code> - If true, force creation of a new writer even if no entries have
been written to the current writer</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If lots of logs, flush the stores of returned regions so next time through we
can clean logs. Returns null if nothing to flush. Names are actual
region names as returned by <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html#getEncodedName--"><code>RegionInfo.getEncodedName()</code></a></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="getLogFileSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogFileSize</h4>
<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.953">getLogFileSize</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the size of log files in use</dd>
</dl>
</li>
</ul>
<a name="requestLogRoll--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestLogRoll</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.958">requestLogRoll</a>()</pre>
</li>
</ul>
<a name="getFiles--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFiles</h4>
<pre>org.apache.hadoop.fs.FileStatus[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.966">getFiles</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Get the backing files associated with this WAL.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>may be null if there are no files.</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="shutdown--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.971">shutdown</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#shutdown--">WAL</a></code></span></div>
<div class="block">Stop accepting new writes. If we have unsynced writes still in buffer, sync them.
Extant edits are left in place in backing storage to be replayed later.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></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="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.997">close</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#close--">WAL</a></code></span></div>
<div class="block">Caller no longer needs any edits from this WAL. Implementers are free to reclaim
underlying resources after this call; i.e. filesystem based WALs can archive or
delete files.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><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></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><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></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></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="getInflightWALCloseCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInflightWALCloseCount</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1029">getInflightWALCloseCount</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of WALs currently in the process of closing.</dd>
</dl>
</li>
</ul>
<a name="updateStore-byte:A-byte:A-java.lang.Long-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateStore</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1038">updateStore</a>(byte[]&nbsp;encodedRegionName,
byte[]&nbsp;familyName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sequenceid,
boolean&nbsp;onlyIfGreater)</pre>
<div class="block">updates the sequence number of a specific store. depending on the flag: replaces current seq
number if the given seq id is bigger, or even if it is lower than existing one</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#updateStore-byte:A-byte:A-java.lang.Long-boolean-">updateStore</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
</dl>
</li>
</ul>
<a name="getSyncFuture-long-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSyncFuture</h4>
<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1043">getSyncFuture</a>(long&nbsp;sequence,
boolean&nbsp;forceSync)</pre>
</li>
</ul>
<a name="isLogRollRequested--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLogRollRequested</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1047">isLogRollRequested</a>()</pre>
</li>
</ul>
<a name="requestLogRoll-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener.RollRequestReason-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestLogRoll</h4>
<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1051">requestLogRoll</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.RollRequestReason.html" title="enum in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener.RollRequestReason</a>&nbsp;reason)</pre>
</li>
</ul>
<a name="getUnflushedEntriesCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnflushedEntriesCount</h4>
<pre>long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1061">getUnflushedEntriesCount</a>()</pre>
</li>
</ul>
<a name="isUnflushedEntries--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUnflushedEntries</h4>
<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1067">isUnflushedEntries</a>()</pre>
</li>
</ul>
<a name="atHeadOfRingBufferEventHandlerAppend--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atHeadOfRingBufferEventHandlerAppend</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1074">atHeadOfRingBufferEventHandlerAppend</a>()</pre>
<div class="block">Exposed for testing only. Use to tricks like halt the ring buffer appending.</div>
</li>
</ul>
<a name="appendEntry-org.apache.hadoop.hbase.wal.WALProvider.WriterBase-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">
<!-- -->
</a><a name="appendEntry-W-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendEntry</h4>
<pre>protected final&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1078">appendEntry</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</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)
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="postAppend-org.apache.hadoop.hbase.wal.WAL.Entry-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postAppend</h4>
<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1116">postAppend</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;e,
long&nbsp;elapsedTime)
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="postSync-long-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postSync</h4>
<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1129">postSync</a>(long&nbsp;timeInNanos,
int&nbsp;handlerSyncs)</pre>
</li>
</ul>
<a name="stampSequenceIdAndPublishToRingBuffer-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-boolean-com.lmax.disruptor.RingBuffer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stampSequenceIdAndPublishToRingBuffer</h4>
<pre>protected final&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1156">stampSequenceIdAndPublishToRingBuffer</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,
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;&nbsp;ringBuffer)
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="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1180">toString</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#toString--">WAL</a></code></span></div>
<div class="block">Human readable identifying information about the state of this WAL.
Implementors are encouraged to include information appropriate for debugging.
Consumers are advised not to rely on the details of the returned String; it does
not have a defined structure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#toString--">toString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><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></code></dd>
</dl>
</li>
</ul>
<a name="getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogFileSizeIfBeingWritten</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/OptionalLong.html?is-external=true" title="class or interface in java.util">OptionalLong</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1191">getLogFileSizeIfBeingWritten</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
<div class="block">if the given <code>path</code> is being written currently, then return its length.
<p>
This is used by replication to prevent replicating unacked log entries. See
https://issues.apache.org/jira/browse/HBASE-14004 for more details.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html#getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">getLogFileSizeIfBeingWritten</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></code></dd>
</dl>
</li>
</ul>
<a name="appendData-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendData</h4>
<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1216">appendData</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<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)
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 interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#appendData-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-">WAL</a></code></span></div>
<div class="block">Append a set of data edits to the WAL. 'Data' here means that the content in the edits will
also have transitioned through the memstore.
<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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#appendData-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-">appendData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>info</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>
<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>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#appendMarker-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-"><code>WAL.appendMarker(RegionInfo, WALKeyImpl, WALEdit)</code></a></dd>
</dl>
</li>
</ul>
<a name="appendMarker-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendMarker</h4>
<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1222">appendMarker</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<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)
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 interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#appendMarker-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-">WAL</a></code></span></div>
<div class="block">Append an operational 'meta' event marker edit to the WAL. A marker meta edit could
be a FlushDescriptor, a compaction marker, or a region event marker; e.g. region open
or region close. The difference between a 'marker' append and a 'data' append as in
<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#appendData-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-"><code>WAL.appendData(RegionInfo, WALKeyImpl, WALEdit)</code></a>is that a marker will not have
transitioned through the memstore.
<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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#appendMarker-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-">appendMarker</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>info</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>
<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>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#appendData-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-"><code>WAL.appendData(RegionInfo, WALKeyImpl, WALEdit)</code></a></dd>
</dl>
</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 abstract&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1257">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<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">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="paramLabel">Parameters:</span></dt>
<dd><code>info</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="doAppend-org.apache.hadoop.hbase.wal.WALProvider.WriterBase-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">
<!-- -->
</a><a name="doAppend-W-org.apache.hadoop.hbase.regionserver.wal.FSWALEntry-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doAppend</h4>
<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1260">doAppend</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</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)
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 abstract&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1262">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>,
<a href="../../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html" title="class in org.apache.hadoop.hbase.util">CommonFSUtils.StreamLacksCapabilityException</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>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html" title="class in org.apache.hadoop.hbase.util">CommonFSUtils.StreamLacksCapabilityException</a></code></dd>
</dl>
</li>
</ul>
<a name="doReplaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider.WriterBase-">
<!-- -->
</a><a name="doReplaceWriter-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-W-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doReplaceWriter</h4>
<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1272">doReplaceWriter</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
org.apache.hadoop.fs.Path&nbsp;newPath,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="type parameter in AbstractFSWAL">W</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">Notice that you need to clear the <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#rollRequested"><code>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>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="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 abstract&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1275">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="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="doCheckLogLowReplication--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doCheckLogLowReplication</h4>
<pre>protected abstract&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1277">doCheckLogLowReplication</a>()</pre>
</li>
</ul>
<a name="doCheckSlowSync--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doCheckSlowSync</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1283">doCheckSlowSync</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if we exceeded the slow sync roll threshold over the last check
interval</dd>
</dl>
</li>
</ul>
<a name="checkLogLowReplication-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkLogLowReplication</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1314">checkLogLowReplication</a>(long&nbsp;checkInterval)</pre>
</li>
</ul>
<a name="getPipeline--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPipeline</h4>
<pre>abstract&nbsp;org.apache.hadoop.hdfs.protocol.DatanodeInfo[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1336">getPipeline</a>()</pre>
<div class="block">This method gets the pipeline for the current WAL.</div>
</li>
</ul>
<a name="getLogReplication--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogReplication</h4>
<pre>abstract&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1341">getLogReplication</a>()</pre>
<div class="block">This method gets the datanode replication count for the current WAL.</div>
</li>
</ul>
<a name="split-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>split</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1343">split</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.Path&nbsp;p)
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="usage--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>usage</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1361">usage</a>()</pre>
</li>
</ul>
<a name="main-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>main</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#line.1376">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
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">Pass one or more log file names and it will either dump out a text version on
<code>stdout</code> or split the specified log files.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</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/AbstractFSWAL.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.WalProps.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/AbstractFSWAL.html" target="_top">Frames</a></li>
<li><a href="AbstractFSWAL.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>