blob: 0d4228b52ca1cb1a111ffc6fe004c2766dcb86c3 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>WAL (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.hadoop.hbase.wal, interface: WAL">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/WAL.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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.hadoop.hbase.wal</a></div>
<h1 title="Interface WAL" class="title">Interface WAL</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Closeable.html" title="class or interface in java.io" class="external-link">Closeable</a></code>, <code><a href="../replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a></code>, <code><a href="../regionserver/wal/AsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AsyncFSWAL</a></code>, <code><a href="DisabledWALProvider.DisabledWAL.html" title="class in org.apache.hadoop.hbase.wal">DisabledWALProvider.DisabledWAL</a></code>, <code><a href="../regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@Private
@Evolving
</span><span class="modifiers">public interface </span><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-41">WAL</a></span><span class="extends-implements">
extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Closeable.html" title="class or interface in java.io" class="external-link">Closeable</a>, <a href="../replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></span></div>
<div class="block">A Write Ahead Log (WAL) provides service for reading, writing waledits. This interface provides
APIs for WAL users (such as RegionServer) to use the WAL (do append, sync, etc). Note that some
internals, such as log rolling and performance evaluation tools, will use WAL.equals to determine
if they have already seen a given WAL.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Interface</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="WAL.Entry.html" class="type-name-link" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a></code></div>
<div class="col-last even-row-color">
<div class="block">Utility class that lets us keep track of the edit with it's key.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#abortCacheFlush(byte%5B%5D)" class="member-name-link">abortCacheFlush</a><wbr>(byte[]&nbsp;encodedRegionName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Abort a cache flush.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#appendData(org.apache.hadoop.hbase.client.RegionInfo,org.apache.hadoop.hbase.wal.WALKeyImpl,org.apache.hadoop.hbase.wal.WALEdit)" class="member-name-link">appendData</a><wbr>(<a href="../client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<a href="WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;key,
<a href="WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edits)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Append a set of data edits to the WAL.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#appendMarker(org.apache.hadoop.hbase.client.RegionInfo,org.apache.hadoop.hbase.wal.WALKeyImpl,org.apache.hadoop.hbase.wal.WALEdit)" class="member-name-link">appendMarker</a><wbr>(<a href="../client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<a href="WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;key,
<a href="WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edits)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Append an operational 'meta' event marker edit to the WAL.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#close()" class="member-name-link">close</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Caller no longer needs any edits from this WAL.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#completeCacheFlush(byte%5B%5D,long)" class="member-name-link">completeCacheFlush</a><wbr>(byte[]&nbsp;encodedRegionName,
long&nbsp;maxFlushedSeqId)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Complete the cache flush.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCoprocessorHost()" class="member-name-link">getCoprocessorHost</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns Coprocessor host.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getEarliestMemStoreSeqNum(byte%5B%5D,byte%5B%5D)" class="member-name-link">getEarliestMemStoreSeqNum</a><wbr>(byte[]&nbsp;encodedRegionName,
byte[]&nbsp;familyName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the earliest unflushed sequence id in the memstore for the store.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#init()" class="member-name-link">init</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Used to initialize the WAL.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#registerWALActionsListener(org.apache.hadoop.hbase.regionserver.wal.WALActionsListener)" class="member-name-link">registerWALActionsListener</a><wbr>(<a href="../regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Registers WALActionsListener</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;byte[],<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;byte[]&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#rollWriter()" class="member-name-link">rollWriter</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Roll the log writer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;byte[],<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;byte[]&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#rollWriter(boolean)" class="member-name-link">rollWriter</a><wbr>(boolean&nbsp;force)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Roll the log writer.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#shutdown()" class="member-name-link">shutdown</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Stop accepting new writes.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#skipRemoteWAL(boolean)" class="member-name-link">skipRemoteWAL</a><wbr>(boolean&nbsp;markerEditOnly)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Tell the WAL that when creating new writer you can skip creating the remote writer.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#startCacheFlush(byte%5B%5D,java.util.Map)" class="member-name-link">startCacheFlush</a><wbr>(byte[]&nbsp;encodedRegionName,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;byte[],<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;&nbsp;familyToSeq)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#startCacheFlush(byte%5B%5D,java.util.Set)" class="member-name-link">startCacheFlush</a><wbr>(byte[]&nbsp;encodedRegionName,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;byte[]&gt;&nbsp;families)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<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>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#sync()" class="member-name-link">sync</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sync what we have in the WAL.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#sync(boolean)" class="member-name-link">sync</a><wbr>(boolean&nbsp;forceSync)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#sync(long)" class="member-name-link">sync</a><wbr>(long&nbsp;txid)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sync the WAL if the txId was not already sync'd.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#sync(long,boolean)" class="member-name-link">sync</a><wbr>(long&nbsp;txid,
boolean&nbsp;forceSync)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Human readable identifying information about the state of this WAL.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#unregisterWALActionsListener(org.apache.hadoop.hbase.regionserver.wal.WALActionsListener)" class="member-name-link">unregisterWALActionsListener</a><wbr>(<a href="../regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Unregisters WALActionsListener</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#updateStore(byte%5B%5D,byte%5B%5D,java.lang.Long,boolean)" class="member-name-link">updateStore</a><wbr>(byte[]&nbsp;encodedRegionName,
byte[]&nbsp;familyName,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&nbsp;sequenceid,
boolean&nbsp;onlyIfGreater)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">updates the seuence number of a specific store.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider">Methods inherited from interface&nbsp;org.apache.hadoop.hbase.replication.regionserver.<a href="../replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></h3>
<code><a href="../replication/regionserver/WALFileLengthProvider.html#getLogFileSizeIfBeingWritten(org.apache.hadoop.fs.Path)">getLogFileSizeIfBeingWritten</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="init()">
<h3>init</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-48">init</a></span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Used to initialize the WAL. Usually this is for creating the first writer.</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="registerWALActionsListener(org.apache.hadoop.hbase.regionserver.wal.WALActionsListener)">
<h3>registerWALActionsListener</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-54">registerWALActionsListener</a></span><wbr><span class="parameters">(<a href="../regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</span></div>
<div class="block">Registers WALActionsListener</div>
</section>
</li>
<li>
<section class="detail" id="unregisterWALActionsListener(org.apache.hadoop.hbase.regionserver.wal.WALActionsListener)">
<h3>unregisterWALActionsListener</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-59">unregisterWALActionsListener</a></span><wbr><span class="parameters">(<a href="../regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</span></div>
<div class="block">Unregisters WALActionsListener</div>
</section>
</li>
<li>
<section class="detail" id="rollWriter()">
<h3>rollWriter</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;byte[],<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;byte[]&gt;&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-70">rollWriter</a></span>()
throws <span class="exceptions"><a href="../regionserver/wal/FailedLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedLogCloseException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></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 class="notes">
<dt>Returns:</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="../client/RegionInfo.html#getEncodedName()"><code>RegionInfo.getEncodedName()</code></a></dd>
<dt>Throws:</dt>
<dd><code><a href="../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/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="rollWriter(boolean)">
<h3>rollWriter</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;byte[],<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;byte[]&gt;&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-82">rollWriter</a></span><wbr><span class="parameters">(boolean&nbsp;force)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></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. If true, force creation of a new writer even if no entries have been written to the
current writer</div>
<dl class="notes">
<dt>Returns:</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="../client/RegionInfo.html#getEncodedName()"><code>RegionInfo.getEncodedName()</code></a></dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="shutdown()">
<h3>shutdown</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-88">shutdown</a></span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></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 class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close()">
<h3>close</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-94">close</a></span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></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 class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html#close()" title="class or interface in java.lang" class="external-link">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Closeable.html#close()" title="class or interface in java.io" class="external-link">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Closeable.html" title="class or interface in java.io" class="external-link">Closeable</a></code></dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="appendData(org.apache.hadoop.hbase.client.RegionInfo,org.apache.hadoop.hbase.wal.WALKeyImpl,org.apache.hadoop.hbase.wal.WALEdit)">
<h3>appendData</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-112">appendData</a></span><wbr><span class="parameters">(<a href="../client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<a href="WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;key,
<a href="WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edits)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></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 class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>Returns a 'transaction id' and <code>key</code> will have the region edit/sequence id
in it.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#appendMarker(org.apache.hadoop.hbase.client.RegionInfo,org.apache.hadoop.hbase.wal.WALKeyImpl,org.apache.hadoop.hbase.wal.WALEdit)"><code>appendMarker(RegionInfo, WALKeyImpl, WALEdit)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="appendMarker(org.apache.hadoop.hbase.client.RegionInfo,org.apache.hadoop.hbase.wal.WALKeyImpl,org.apache.hadoop.hbase.wal.WALEdit)">
<h3>appendMarker</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-132">appendMarker</a></span><wbr><span class="parameters">(<a href="../client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
<a href="WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;key,
<a href="WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edits)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></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="#appendData(org.apache.hadoop.hbase.client.RegionInfo,org.apache.hadoop.hbase.wal.WALKeyImpl,org.apache.hadoop.hbase.wal.WALEdit)"><code>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 class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>Returns a 'transaction id' and <code>key</code> will have the region edit/sequence id
in it.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#appendData(org.apache.hadoop.hbase.client.RegionInfo,org.apache.hadoop.hbase.wal.WALKeyImpl,org.apache.hadoop.hbase.wal.WALEdit)"><code>appendData(RegionInfo, WALKeyImpl, WALEdit)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateStore(byte[],byte[],java.lang.Long,boolean)">
<h3>updateStore</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-138">updateStore</a></span><wbr><span class="parameters">(byte[]&nbsp;encodedRegionName,
byte[]&nbsp;familyName,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&nbsp;sequenceid,
boolean&nbsp;onlyIfGreater)</span></div>
<div class="block">updates the seuence 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>
</section>
</li>
<li>
<section class="detail" id="sync()">
<h3>sync</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-145">sync</a></span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Sync what we have in the WAL.</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code>when</code> - timeout, it would throw <a href="../regionserver/wal/WALSyncTimeoutIOException.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><code>WALSyncTimeoutIOException</code></a>.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="sync(long)">
<h3>sync</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-152">sync</a></span><wbr><span class="parameters">(long&nbsp;txid)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Sync the WAL if the txId was not already sync'd.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>txid</code> - Transaction id to sync to.</dd>
<dt>Throws:</dt>
<dd><code>when</code> - timeout, it would throw <a href="../regionserver/wal/WALSyncTimeoutIOException.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><code>WALSyncTimeoutIOException</code></a>.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="sync(boolean)">
<h3>sync</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-159">sync</a></span><wbr><span class="parameters">(boolean&nbsp;forceSync)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>forceSync</code> - Flag to force sync rather than flushing to the buffer. Example - Hadoop hflush
vs hsync.</dd>
<dt>Throws:</dt>
<dd><code>when</code> - timeout, it would throw <a href="../regionserver/wal/WALSyncTimeoutIOException.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><code>WALSyncTimeoutIOException</code></a>.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="sync(long,boolean)">
<h3>sync</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-169">sync</a></span><wbr><span class="parameters">(long&nbsp;txid,
boolean&nbsp;forceSync)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Parameters:</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>Throws:</dt>
<dd><code>when</code> - timeout, it would throw <a href="../regionserver/wal/WALSyncTimeoutIOException.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><code>WALSyncTimeoutIOException</code></a>.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="startCacheFlush(byte[],java.util.Set)">
<h3>startCacheFlush</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-190">startCacheFlush</a></span><wbr><span class="parameters">(byte[]&nbsp;encodedRegionName,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;byte[]&gt;&nbsp;families)</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 class="notes">
<dt>Parameters:</dt>
<dd><code>families</code> - Families to flush. May be a subset of all families in the region.</dd>
<dt>Returns:</dt>
<dd>Returns <a href="../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>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#completeCacheFlush(byte%5B%5D,long)"><code>completeCacheFlush(byte[], long)</code></a></li>
<li><a href="#abortCacheFlush(byte%5B%5D)"><code>abortCacheFlush(byte[])</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="startCacheFlush(byte[],java.util.Map)">
<h3>startCacheFlush</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-192">startCacheFlush</a></span><wbr><span class="parameters">(byte[]&nbsp;encodedRegionName,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;byte[],<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;&nbsp;familyToSeq)</span></div>
</section>
</li>
<li>
<section class="detail" id="completeCacheFlush(byte[],long)">
<h3>completeCacheFlush</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-202">completeCacheFlush</a></span><wbr><span class="parameters">(byte[]&nbsp;encodedRegionName,
long&nbsp;maxFlushedSeqId)</span></div>
<div class="block">Complete the cache flush.</div>
<dl class="notes">
<dt>Parameters:</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>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#startCacheFlush(byte%5B%5D,java.util.Set)"><code>startCacheFlush(byte[], Set)</code></a></li>
<li><a href="#abortCacheFlush(byte%5B%5D)"><code>abortCacheFlush(byte[])</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="abortCacheFlush(byte[])">
<h3>abortCacheFlush</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-210">abortCacheFlush</a></span><wbr><span class="parameters">(byte[]&nbsp;encodedRegionName)</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 class="notes">
<dt>Parameters:</dt>
<dd><code>encodedRegionName</code> - Encoded region name.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCoprocessorHost()">
<h3>getCoprocessorHost</h3>
<div class="member-signature"><span class="return-type"><a href="../regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-213">getCoprocessorHost</a></span>()</div>
<div class="block">Returns Coprocessor host.</div>
</section>
</li>
<li>
<section class="detail" id="getEarliestMemStoreSeqNum(byte[],byte[])">
<h3>getEarliestMemStoreSeqNum</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-221">getEarliestMemStoreSeqNum</a></span><wbr><span class="parameters">(byte[]&nbsp;encodedRegionName,
byte[]&nbsp;familyName)</span></div>
<div class="block">Gets the earliest unflushed sequence id in the memstore for the store.</div>
<dl class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>The earliest/lowest/oldest sequence id if present, HConstants.NO_SEQNUM if absent.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="skipRemoteWAL(boolean)">
<h3>skipRemoteWAL</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-228">skipRemoteWAL</a></span><wbr><span class="parameters">(boolean&nbsp;markerEditOnly)</span></div>
<div class="block">Tell the WAL that when creating new writer you can skip creating the remote writer.
<p>
Used by sync replication for switching states from ACTIVE, where the remote cluster is broken.</div>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line-236">toString</a></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 class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>