blob: b223519efbc3a452fc1d262f5e290a473e8786a4 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>HFileWriterImpl (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.io.hfile, class: HFileWriterImpl">
<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/HFileWriterImpl.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>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<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>
<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.io.hfile</a></div>
<h1 title="Class HFileWriterImpl" class="title">Class HFileWriterImpl</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><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">java.lang.Object</a>
<div class="inheritance">org.apache.hadoop.hbase.io.hfile.HFileWriterImpl</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><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="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="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></code>, <code><a href="../../regionserver/CellSink.html" title="interface in org.apache.hadoop.hbase.regionserver">CellSink</a></code>, <code><a href="../../regionserver/ShipperListener.html" title="interface in org.apache.hadoop.hbase.regionserver">ShipperListener</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@Private
</span><span class="modifiers">public class </span><span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-65">HFileWriterImpl</a></span>
<span class="extends-implements">extends <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>
implements <a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></span></div>
<div class="block">Common functionality needed by all versions of <a href="HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> writers.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</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">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private <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;<a href="HFileBlock.BlockWritable.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileBlock.BlockWritable</a>&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#additionalLoadOnOpenData" class="member-name-link">additionalLoadOnOpenData</a></code></div>
<div class="col-last even-row-color">
<div class="block">Additional data items to be written to the "load-on-open" section.</div>
</div>
<div class="col-first odd-row-color"><code>protected final <a href="HFileDataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileDataBlockEncoder</a></code></div>
<div class="col-second odd-row-color"><code><a href="#blockEncoder" class="member-name-link">blockEncoder</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The data block encoding which will be used.</div>
</div>
<div class="col-first even-row-color"><code>protected <a href="HFileBlock.Writer.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock.Writer</a></code></div>
<div class="col-second even-row-color"><code><a href="#blockWriter" class="member-name-link">blockWriter</a></code></div>
<div class="col-last even-row-color">
<div class="block">block writer</div>
</div>
<div class="col-first odd-row-color"><code>protected final <a href="CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></div>
<div class="col-second odd-row-color"><code><a href="#cacheConf" class="member-name-link">cacheConf</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Cache configuration for caching data on write.</div>
</div>
<div class="col-first even-row-color"><code>protected final boolean</code></div>
<div class="col-second even-row-color"><code><a href="#closeOutputStream" class="member-name-link">closeOutputStream</a></code></div>
<div class="col-last even-row-color">
<div class="block">True if we opened the <code>outputStream</code> (and so will close it).</div>
</div>
<div class="col-first odd-row-color"><code>private <a href="HFileBlockIndex.BlockIndexWriter.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexWriter</a></code></div>
<div class="col-second odd-row-color"><code><a href="#dataBlockIndexWriter" class="member-name-link">dataBlockIndexWriter</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final int</code></div>
<div class="col-second even-row-color"><code><a href="#encodedBlockSizeLimit" class="member-name-link">encodedBlockSizeLimit</a></code></div>
<div class="col-last even-row-color">
<div class="block">Block size limit after encoding, used to unify encoded block Cache entry size</div>
</div>
<div class="col-first odd-row-color"><code>protected long</code></div>
<div class="col-second odd-row-color"><code><a href="#entryCount" class="member-name-link">entryCount</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Total # of key/value entries, i.e.</div>
</div>
<div class="col-first even-row-color"><code>protected <a href="HFileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileInfo</a></code></div>
<div class="col-second even-row-color"><code><a href="#fileInfo" class="member-name-link">fileInfo</a></code></div>
<div class="col-last even-row-color">
<div class="block">A "file info" block: a key-value map of file-wide metadata.</div>
</div>
<div class="col-first odd-row-color"><code>protected <a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></code></div>
<div class="col-second odd-row-color"><code><a href="#firstCellInBlock" class="member-name-link">firstCellInBlock</a></code></div>
<div class="col-last odd-row-color">
<div class="block">First cell in a block.</div>
</div>
<div class="col-first even-row-color"><code>private long</code></div>
<div class="col-second even-row-color"><code><a href="#firstDataBlockOffset" class="member-name-link">firstDataBlockOffset</a></code></div>
<div class="col-last even-row-color">
<div class="block">The offset of the first data block or -1 if the file is empty.</div>
</div>
<div class="col-first odd-row-color"><code>protected final <a href="HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a></code></div>
<div class="col-second odd-row-color"><code><a href="#hFileContext" class="member-name-link">hFileContext</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected final <a href="HFileIndexBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileIndexBlockEncoder</a></code></div>
<div class="col-second even-row-color"><code><a href="#indexBlockEncoder" class="member-name-link">indexBlockEncoder</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private <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;<a href="InlineBlockWriter.html" title="interface in org.apache.hadoop.hbase.io.hfile">InlineBlockWriter</a>&gt;</code></div>
<div class="col-second odd-row-color"><code><a href="#inlineBlockWriters" class="member-name-link">inlineBlockWriters</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Inline block writers for multi-level block index and compound Blooms.</div>
</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#KEY_VALUE_VER_WITH_MEMSTORE" class="member-name-link">KEY_VALUE_VER_WITH_MEMSTORE</a></code></div>
<div class="col-last even-row-color">
<div class="block">Version for KeyValue which includes memstore timestamp</div>
</div>
<div class="col-first odd-row-color"><code>static final byte[]</code></div>
<div class="col-second odd-row-color"><code><a href="#KEY_VALUE_VERSION" class="member-name-link">KEY_VALUE_VERSION</a></code></div>
<div class="col-last odd-row-color">
<div class="block">KeyValue version in FileInfo</div>
</div>
<div class="col-first even-row-color"><code>protected byte[]</code></div>
<div class="col-second even-row-color"><code><a href="#keyOfBiggestCell" class="member-name-link">keyOfBiggestCell</a></code></div>
<div class="col-last even-row-color">
<div class="block">Key of the biggest cell.</div>
</div>
<div class="col-first odd-row-color"><code>protected <a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></code></div>
<div class="col-second odd-row-color"><code><a href="#lastCell" class="member-name-link">lastCell</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The Cell previously appended.</div>
</div>
<div class="col-first even-row-color"><code>private <a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></code></div>
<div class="col-second even-row-color"><code><a href="#lastCellOfPreviousBlock" class="member-name-link">lastCellOfPreviousBlock</a></code></div>
<div class="col-last even-row-color">
<div class="block">The last(stop) Cell of the previous data block.</div>
</div>
<div class="col-first odd-row-color"><code>protected long</code></div>
<div class="col-second odd-row-color"><code><a href="#lastDataBlockOffset" class="member-name-link">lastDataBlockOffset</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The offset of the last data block or 0 if the file is empty.</div>
</div>
<div class="col-first even-row-color"><code>protected long</code></div>
<div class="col-second even-row-color"><code><a href="#lenOfBiggestCell" class="member-name-link">lenOfBiggestCell</a></code></div>
<div class="col-last even-row-color">
<div class="block">Len of the biggest cell.</div>
</div>
<div class="col-first odd-row-color"><code>private static final org.slf4j.Logger</code></div>
<div class="col-second odd-row-color"><code><a href="#LOG" class="member-name-link">LOG</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected long</code></div>
<div class="col-second even-row-color"><code><a href="#maxMemstoreTS" class="member-name-link">maxMemstoreTS</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private int</code></div>
<div class="col-second odd-row-color"><code><a href="#maxTagsLength" class="member-name-link">maxTagsLength</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private <a href="HFileBlockIndex.BlockIndexWriter.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexWriter</a></code></div>
<div class="col-second even-row-color"><code><a href="#metaBlockIndexWriter" class="member-name-link">metaBlockIndexWriter</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected <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;org.apache.hadoop.io.Writable&gt;</code></div>
<div class="col-second odd-row-color"><code><a href="#metaData" class="member-name-link">metaData</a></code></div>
<div class="col-last odd-row-color">
<div class="block"><code>Writable</code>s representing meta block data.</div>
</div>
<div class="col-first even-row-color"><code>protected <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;</code></div>
<div class="col-second even-row-color"><code><a href="#metaNames" class="member-name-link">metaNames</a></code></div>
<div class="col-last even-row-color">
<div class="block">Meta block names.</div>
</div>
<div class="col-first odd-row-color"><code>protected final <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"><code><a href="#name" class="member-name-link">name</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Name for this object used when logging or in toString.</div>
</div>
<div class="col-first even-row-color"><code>protected org.apache.hadoop.fs.FSDataOutputStream</code></div>
<div class="col-second even-row-color"><code><a href="#outputStream" class="member-name-link">outputStream</a></code></div>
<div class="col-last even-row-color">
<div class="block">FileSystem stream to write into.</div>
</div>
<div class="col-first odd-row-color"><code>protected final org.apache.hadoop.fs.Path</code></div>
<div class="col-second odd-row-color"><code><a href="#path" class="member-name-link">path</a></code></div>
<div class="col-last odd-row-color">
<div class="block">May be null if we were passed a stream.</div>
</div>
<div class="col-first even-row-color"><code>protected long</code></div>
<div class="col-second even-row-color"><code><a href="#totalKeyLength" class="member-name-link">totalKeyLength</a></code></div>
<div class="col-last even-row-color">
<div class="block">Used for calculating the average key length.</div>
</div>
<div class="col-first odd-row-color"><code>protected long</code></div>
<div class="col-second odd-row-color"><code><a href="#totalUncompressedBytes" class="member-name-link">totalUncompressedBytes</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Total uncompressed bytes, maybe calculate a compression ratio later.</div>
</div>
<div class="col-first even-row-color"><code>protected long</code></div>
<div class="col-second even-row-color"><code><a href="#totalValueLength" class="member-name-link">totalValueLength</a></code></div>
<div class="col-last even-row-color">
<div class="block">Used for calculating the average value length.</div>
</div>
<div class="col-first odd-row-color"><code>static final <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"><code><a href="#UNIFIED_ENCODED_BLOCKSIZE_RATIO" class="member-name-link">UNIFIED_ENCODED_BLOCKSIZE_RATIO</a></code></div>
<div class="col-last odd-row-color">
<div class="block">if this feature is enabled, preCalculate encoded data size before real encoding happens</div>
</div>
<div class="col-first even-row-color"><code>private static final long</code></div>
<div class="col-second even-row-color"><code><a href="#UNSET" class="member-name-link">UNSET</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.hadoop.hbase.io.hfile.HFile.Writer">Fields inherited from interface&nbsp;org.apache.hadoop.hbase.io.hfile.<a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></h3>
<code><a href="HFile.Writer.html#MAX_MEMSTORE_TS_KEY">MAX_MEMSTORE_TS_KEY</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hbase.io.hfile.CacheConfig,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FSDataOutputStream,org.apache.hadoop.hbase.io.hfile.HFileContext)" class="member-name-link">HFileWriterImpl</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<a href="CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a>&nbsp;cacheConf,
org.apache.hadoop.fs.Path&nbsp;path,
org.apache.hadoop.fs.FSDataOutputStream&nbsp;outputStream,
<a href="HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a>&nbsp;fileContext)</code></div>
<div class="col-last even-row-color">&nbsp;</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-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static 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-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete 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-tab4"><code>private void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter,org.apache.hadoop.hbase.io.hfile.BlockType)" class="member-name-link">addBloomFilter</a><wbr>(<a href="../../util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a>&nbsp;bfw,
<a href="BlockType.html" title="enum class in org.apache.hadoop.hbase.io.hfile">BlockType</a>&nbsp;blockType)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addDeleteFamilyBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter)" class="member-name-link">addDeleteFamilyBloomFilter</a><wbr>(<a href="../../util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a>&nbsp;bfw)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Store delete family Bloom filter in the file, which is only supported in HFile V2.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addGeneralBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter)" class="member-name-link">addGeneralBloomFilter</a><wbr>(<a href="../../util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a>&nbsp;bfw)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Store general Bloom filter in the file.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addInlineBlockWriter(org.apache.hadoop.hbase.io.hfile.InlineBlockWriter)" class="member-name-link">addInlineBlockWriter</a><wbr>(<a href="InlineBlockWriter.html" title="interface in org.apache.hadoop.hbase.io.hfile">InlineBlockWriter</a>&nbsp;ibw)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds an inline block writer such as a multi-level block index writer or a compound Bloom
filter writer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#append(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">append</a><wbr>(<a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Add key/value to file.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#appendFileInfo(byte%5B%5D,byte%5B%5D)" class="member-name-link">appendFileInfo</a><wbr>(byte[]&nbsp;k,
byte[]&nbsp;v)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Add to the file info.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#appendMetaBlock(java.lang.String,org.apache.hadoop.io.Writable)" class="member-name-link">appendMetaBlock</a><wbr>(<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>&nbsp;metaBlockName,
org.apache.hadoop.io.Writable&nbsp;content)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Add a meta block to the end of the file.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#beforeShipped()" class="member-name-link">beforeShipped</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">The action that needs to be performed before <a href="../../regionserver/Shipper.html#shipped()"><code>Shipper.shipped()</code></a> is performed</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#checkBlockBoundary()" class="member-name-link">checkBlockBoundary</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">At a block boundary, write all the inline blocks and opens new block.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#checkKey(org.apache.hadoop.hbase.Cell)" class="member-name-link">checkKey</a><wbr>(<a href="../../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks that the given Cell's key does not violate the key order.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#checkValue(byte%5B%5D,int,int)" class="member-name-link">checkValue</a><wbr>(byte[]&nbsp;value,
int&nbsp;offset,
int&nbsp;length)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks the given value for validity.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><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-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../compress/Compression.Algorithm.html" title="enum class in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#compressionByName(java.lang.String)" class="member-name-link">compressionByName</a><wbr>(<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>&nbsp;algoName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static org.apache.hadoop.fs.FSDataOutputStream</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createOutputStream(org.apache.hadoop.conf.Configuration,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,java.net.InetSocketAddress%5B%5D)" class="member-name-link">createOutputStream</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;path,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a>[]&nbsp;favoredNodes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">A helper method to create HFile output streams in constructors</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doCacheOnWrite(long)" class="member-name-link">doCacheOnWrite</a><wbr>(long&nbsp;offset)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Caches the last written HFile block.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#finishBlock()" class="member-name-link">finishBlock</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Clean up the data block that is currently being written.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#finishClose(org.apache.hadoop.hbase.io.hfile.FixedFileTrailer)" class="member-name-link">finishClose</a><wbr>(<a href="FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a>&nbsp;trailer)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#finishFileInfo()" class="member-name-link">finishFileInfo</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#finishInit(org.apache.hadoop.conf.Configuration)" class="member-name-link">finishInit</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Additional initialization steps</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getFileContext()" class="member-name-link">getFileContext</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return the file context for the HFile this writer belongs to</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLastCell()" class="member-name-link">getLastCell</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private <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-tab4"><code><a href="#getLexicalErrorMessage(org.apache.hadoop.hbase.Cell)" class="member-name-link">getLexicalErrorMessage</a><wbr>(<a href="../../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMajorVersion()" class="member-name-link">getMajorVersion</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMidpoint(org.apache.hadoop.hbase.CellComparator,org.apache.hadoop.hbase.ExtendedCell,org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">getMidpoint</a><wbr>(<a href="../../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator,
<a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;left,
<a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;right)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Try to return a Cell that falls between <code>left</code> and <code>right</code> but that is
shorter; i.e.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static byte[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMinimumMidpointArray(byte%5B%5D,int,int,byte%5B%5D,int,int)" class="member-name-link">getMinimumMidpointArray</a><wbr>(byte[]&nbsp;leftArray,
int&nbsp;leftOffset,
int&nbsp;leftLength,
byte[]&nbsp;rightArray,
int&nbsp;rightOffset,
int&nbsp;rightLength)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Try to get a byte array that falls between left and right as short as possible with
lexicographical order;</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static byte[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMinimumMidpointArray(java.nio.ByteBuffer,int,int,java.nio.ByteBuffer,int,int)" class="member-name-link">getMinimumMidpointArray</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>&nbsp;left,
int&nbsp;leftOffset,
int&nbsp;leftLength,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>&nbsp;right,
int&nbsp;rightOffset,
int&nbsp;rightLength)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Try to create a new byte array that falls between left and right as short as possible with
lexicographical order.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMinorVersion()" class="member-name-link">getMinorVersion</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.hadoop.fs.Path</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPath()" class="member-name-link">getPath</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns Path or null if we were passed a stream rather than a Path.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPos()" class="member-name-link">getPos</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newBlock()" class="member-name-link">newBlock</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Ready a new block for writing.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><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 even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#writeFileInfo(org.apache.hadoop.hbase.io.hfile.FixedFileTrailer,java.io.DataOutputStream)" class="member-name-link">writeFileInfo</a><wbr>(<a href="FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a>&nbsp;trailer,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/DataOutputStream.html" title="class or interface in java.io" class="external-link">DataOutputStream</a>&nbsp;out)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the file info offset in the trailer, finishes up populating fields in the file info, and
writes the file info into the given data output.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#writeInlineBlocks(boolean)" class="member-name-link">writeInlineBlocks</a><wbr>(boolean&nbsp;closing)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives inline block writers an opportunity to contribute blocks.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<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></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.regionserver.CellSink">Methods inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../regionserver/CellSink.html" title="interface in org.apache.hadoop.hbase.regionserver">CellSink</a></h3>
<code><a href="../../regionserver/CellSink.html#appendAll(java.util.List)">appendAll</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="LOG">
<h3>LOG</h3>
<div class="member-signature"><span class="modifiers">private static final</span>&nbsp;<span class="return-type">org.slf4j.Logger</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-67">LOG</a></span></div>
</section>
</li>
<li>
<section class="detail" id="UNSET">
<h3>UNSET</h3>
<div class="member-signature"><span class="modifiers">private static final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-69">UNSET</a></span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileWriterImpl.UNSET">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="UNIFIED_ENCODED_BLOCKSIZE_RATIO">
<h3>UNIFIED_ENCODED_BLOCKSIZE_RATIO</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<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/io/hfile/HFileWriterImpl.html#line-72">UNIFIED_ENCODED_BLOCKSIZE_RATIO</a></span></div>
<div class="block">if this feature is enabled, preCalculate encoded data size before real encoding happens</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileWriterImpl.UNIFIED_ENCODED_BLOCKSIZE_RATIO">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="encodedBlockSizeLimit">
<h3>encodedBlockSizeLimit</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-76">encodedBlockSizeLimit</a></span></div>
<div class="block">Block size limit after encoding, used to unify encoded block Cache entry size</div>
</section>
</li>
<li>
<section class="detail" id="lastCell">
<h3>lastCell</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-79">lastCell</a></span></div>
<div class="block">The Cell previously appended. Becomes the last cell in the file.</div>
</section>
</li>
<li>
<section class="detail" id="outputStream">
<h3>outputStream</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.FSDataOutputStream</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-82">outputStream</a></span></div>
<div class="block">FileSystem stream to write into.</div>
</section>
</li>
<li>
<section class="detail" id="closeOutputStream">
<h3>closeOutputStream</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-85">closeOutputStream</a></span></div>
<div class="block">True if we opened the <code>outputStream</code> (and so will close it).</div>
</section>
</li>
<li>
<section class="detail" id="fileInfo">
<h3>fileInfo</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="HFileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileInfo</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-88">fileInfo</a></span></div>
<div class="block">A "file info" block: a key-value map of file-wide metadata.</div>
</section>
</li>
<li>
<section class="detail" id="entryCount">
<h3>entryCount</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-91">entryCount</a></span></div>
<div class="block">Total # of key/value entries, i.e. how many times add() was called.</div>
</section>
</li>
<li>
<section class="detail" id="totalKeyLength">
<h3>totalKeyLength</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-94">totalKeyLength</a></span></div>
<div class="block">Used for calculating the average key length.</div>
</section>
</li>
<li>
<section class="detail" id="totalValueLength">
<h3>totalValueLength</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-97">totalValueLength</a></span></div>
<div class="block">Used for calculating the average value length.</div>
</section>
</li>
<li>
<section class="detail" id="lenOfBiggestCell">
<h3>lenOfBiggestCell</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-100">lenOfBiggestCell</a></span></div>
<div class="block">Len of the biggest cell.</div>
</section>
</li>
<li>
<section class="detail" id="keyOfBiggestCell">
<h3>keyOfBiggestCell</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">byte[]</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-102">keyOfBiggestCell</a></span></div>
<div class="block">Key of the biggest cell.</div>
</section>
</li>
<li>
<section class="detail" id="totalUncompressedBytes">
<h3>totalUncompressedBytes</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-105">totalUncompressedBytes</a></span></div>
<div class="block">Total uncompressed bytes, maybe calculate a compression ratio later.</div>
</section>
</li>
<li>
<section class="detail" id="metaNames">
<h3>metaNames</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><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;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-108">metaNames</a></span></div>
<div class="block">Meta block names.</div>
</section>
</li>
<li>
<section class="detail" id="metaData">
<h3>metaData</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><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;org.apache.hadoop.io.Writable&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-111">metaData</a></span></div>
<div class="block"><code>Writable</code>s representing meta block data.</div>
</section>
</li>
<li>
<section class="detail" id="firstCellInBlock">
<h3>firstCellInBlock</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-116">firstCellInBlock</a></span></div>
<div class="block">First cell in a block. This reference should be short-lived since we write hfiles in a burst.</div>
</section>
</li>
<li>
<section class="detail" id="path">
<h3>path</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.Path</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-119">path</a></span></div>
<div class="block">May be null if we were passed a stream.</div>
</section>
</li>
<li>
<section class="detail" id="cacheConf">
<h3>cacheConf</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-122">cacheConf</a></span></div>
<div class="block">Cache configuration for caching data on write.</div>
</section>
</li>
<li>
<section class="detail" id="name">
<h3>name</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<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/io/hfile/HFileWriterImpl.html#line-128">name</a></span></div>
<div class="block">Name for this object used when logging or in toString. Is either the result of a toString on
stream or else name of passed file Path.</div>
</section>
</li>
<li>
<section class="detail" id="blockEncoder">
<h3>blockEncoder</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="HFileDataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileDataBlockEncoder</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-134">blockEncoder</a></span></div>
<div class="block">The data block encoding which will be used. <a href="NoOpDataBlockEncoder.html#INSTANCE"><code>NoOpDataBlockEncoder.INSTANCE</code></a> if there is
no encoding.</div>
</section>
</li>
<li>
<section class="detail" id="indexBlockEncoder">
<h3>indexBlockEncoder</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="HFileIndexBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileIndexBlockEncoder</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-136">indexBlockEncoder</a></span></div>
</section>
</li>
<li>
<section class="detail" id="hFileContext">
<h3>hFileContext</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-138">hFileContext</a></span></div>
</section>
</li>
<li>
<section class="detail" id="maxTagsLength">
<h3>maxTagsLength</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-140">maxTagsLength</a></span></div>
</section>
</li>
<li>
<section class="detail" id="KEY_VALUE_VERSION">
<h3>KEY_VALUE_VERSION</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">byte[]</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-143">KEY_VALUE_VERSION</a></span></div>
<div class="block">KeyValue version in FileInfo</div>
</section>
</li>
<li>
<section class="detail" id="KEY_VALUE_VER_WITH_MEMSTORE">
<h3>KEY_VALUE_VER_WITH_MEMSTORE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-146">KEY_VALUE_VER_WITH_MEMSTORE</a></span></div>
<div class="block">Version for KeyValue which includes memstore timestamp</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="inlineBlockWriters">
<h3>inlineBlockWriters</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><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;<a href="InlineBlockWriter.html" title="interface in org.apache.hadoop.hbase.io.hfile">InlineBlockWriter</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-149">inlineBlockWriters</a></span></div>
<div class="block">Inline block writers for multi-level block index and compound Blooms.</div>
</section>
</li>
<li>
<section class="detail" id="blockWriter">
<h3>blockWriter</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="HFileBlock.Writer.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock.Writer</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-152">blockWriter</a></span></div>
<div class="block">block writer</div>
</section>
</li>
<li>
<section class="detail" id="dataBlockIndexWriter">
<h3>dataBlockIndexWriter</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="HFileBlockIndex.BlockIndexWriter.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexWriter</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-154">dataBlockIndexWriter</a></span></div>
</section>
</li>
<li>
<section class="detail" id="metaBlockIndexWriter">
<h3>metaBlockIndexWriter</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="HFileBlockIndex.BlockIndexWriter.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexWriter</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-155">metaBlockIndexWriter</a></span></div>
</section>
</li>
<li>
<section class="detail" id="firstDataBlockOffset">
<h3>firstDataBlockOffset</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-158">firstDataBlockOffset</a></span></div>
<div class="block">The offset of the first data block or -1 if the file is empty.</div>
</section>
</li>
<li>
<section class="detail" id="lastDataBlockOffset">
<h3>lastDataBlockOffset</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-161">lastDataBlockOffset</a></span></div>
<div class="block">The offset of the last data block or 0 if the file is empty.</div>
</section>
</li>
<li>
<section class="detail" id="lastCellOfPreviousBlock">
<h3>lastCellOfPreviousBlock</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-167">lastCellOfPreviousBlock</a></span></div>
<div class="block">The last(stop) Cell of the previous data block. This reference should be short-lived since we
write hfiles in a burst.</div>
</section>
</li>
<li>
<section class="detail" id="additionalLoadOnOpenData">
<h3>additionalLoadOnOpenData</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><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;<a href="HFileBlock.BlockWritable.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileBlock.BlockWritable</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-170">additionalLoadOnOpenData</a></span></div>
<div class="block">Additional data items to be written to the "load-on-open" section.</div>
</section>
</li>
<li>
<section class="detail" id="maxMemstoreTS">
<h3>maxMemstoreTS</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-172">maxMemstoreTS</a></span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hbase.io.hfile.CacheConfig,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FSDataOutputStream,org.apache.hadoop.hbase.io.hfile.HFileContext)">
<h3>HFileWriterImpl</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-174">HFileWriterImpl</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;conf,
<a href="CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a>&nbsp;cacheConf,
org.apache.hadoop.fs.Path&nbsp;path,
org.apache.hadoop.fs.FSDataOutputStream&nbsp;outputStream,
<a href="HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a>&nbsp;fileContext)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="appendFileInfo(byte[],byte[])">
<h3>appendFileInfo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-211">appendFileInfo</a></span><wbr><span class="parameters">(byte[]&nbsp;k,
byte[]&nbsp;v)</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">Add to the file info. All added key/value pairs can be obtained using
<a href="HFile.Reader.html#getHFileInfo()"><code>HFile.Reader.getHFileInfo()</code></a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="HFile.Writer.html#appendFileInfo(byte%5B%5D,byte%5B%5D)">appendFileInfo</a></code>&nbsp;in interface&nbsp;<code><a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></code></dd>
<dt>Parameters:</dt>
<dd><code>k</code> - Key</dd>
<dd><code>v</code> - Value</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> - in case the key or the value are invalid</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="writeFileInfo(org.apache.hadoop.hbase.io.hfile.FixedFileTrailer,java.io.DataOutputStream)">
<h3>writeFileInfo</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-223">writeFileInfo</a></span><wbr><span class="parameters">(<a href="FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a>&nbsp;trailer,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/DataOutputStream.html" title="class or interface in java.io" class="external-link">DataOutputStream</a>&nbsp;out)</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">Sets the file info offset in the trailer, finishes up populating fields in the file info, and
writes the file info into the given data output. The reason the data output is not always
<a href="#outputStream"><code>outputStream</code></a> is that we store file info as a block in version 2.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>trailer</code> - fixed file trailer</dd>
<dd><code>out</code> - the data output to write the file info to</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="getPos()">
<h3>getPos</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-232">getPos</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>
<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="checkKey(org.apache.hadoop.hbase.Cell)">
<h3>checkKey</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-243">checkKey</a></span><wbr><span class="parameters">(<a href="../../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</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">Checks that the given Cell's key does not violate the key order.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cell</code> - Cell whose key to check.</dd>
<dt>Returns:</dt>
<dd>true if the key is duplicate</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> - if the key or the key order is wrong</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLexicalErrorMessage(org.apache.hadoop.hbase.Cell)">
<h3>getLexicalErrorMessage</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<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/io/hfile/HFileWriterImpl.html#line-262">getLexicalErrorMessage</a></span><wbr><span class="parameters">(<a href="../../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</span></div>
</section>
</li>
<li>
<section class="detail" id="checkValue(byte[],int,int)">
<h3>checkValue</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-275">checkValue</a></span><wbr><span class="parameters">(byte[]&nbsp;value,
int&nbsp;offset,
int&nbsp;length)</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">Checks the given value for validity.</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="getPath()">
<h3>getPath</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.Path</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-283">getPath</a></span>()</div>
<div class="block">Returns Path or null if we were passed a stream rather than a Path.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="HFile.Writer.html#getPath()">getPath</a></code>&nbsp;in interface&nbsp;<code><a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<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/io/hfile/HFileWriterImpl.html#line-288">toString</a></span>()</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>
<li>
<section class="detail" id="compressionByName(java.lang.String)">
<h3>compressionByName</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="../compress/Compression.Algorithm.html" title="enum class in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-294">compressionByName</a></span><wbr><span class="parameters">(<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>&nbsp;algoName)</span></div>
</section>
</li>
<li>
<section class="detail" id="createOutputStream(org.apache.hadoop.conf.Configuration,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,java.net.InetSocketAddress[])">
<h3>createOutputStream</h3>
<div class="member-signature"><span class="modifiers">protected static</span>&nbsp;<span class="return-type">org.apache.hadoop.fs.FSDataOutputStream</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-302">createOutputStream</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;path,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a>[]&nbsp;favoredNodes)</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">A helper method to create HFile output streams in constructors</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="finishInit(org.apache.hadoop.conf.Configuration)">
<h3>finishInit</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-309">finishInit</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;conf)</span></div>
<div class="block">Additional initialization steps</div>
</section>
</li>
<li>
<section class="detail" id="checkBlockBoundary()">
<h3>checkBlockBoundary</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-332">checkBlockBoundary</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">At a block boundary, write all the inline blocks and opens new block.</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="finishBlock()">
<h3>finishBlock</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-351">finishBlock</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">Clean up the data block that is currently being written.</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="getMidpoint(org.apache.hadoop.hbase.CellComparator,org.apache.hadoop.hbase.ExtendedCell,org.apache.hadoop.hbase.ExtendedCell)">
<h3>getMidpoint</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-381">getMidpoint</a></span><wbr><span class="parameters">(<a href="../../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator,
<a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;left,
<a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;right)</span></div>
<div class="block">Try to return a Cell that falls between <code>left</code> and <code>right</code> but that is
shorter; i.e. takes up less space. This trick is used building HFile block index. Its an
optimization. It does not always work. In this case we'll just return the <code>right</code>
cell.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>A cell that sorts between <code>left</code> and <code>right</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMinimumMidpointArray(byte[],int,int,byte[],int,int)">
<h3>getMinimumMidpointArray</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">byte[]</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-448">getMinimumMidpointArray</a></span><wbr><span class="parameters">(byte[]&nbsp;leftArray,
int&nbsp;leftOffset,
int&nbsp;leftLength,
byte[]&nbsp;rightArray,
int&nbsp;rightOffset,
int&nbsp;rightLength)</span></div>
<div class="block">Try to get a byte array that falls between left and right as short as possible with
lexicographical order;</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Return a new array that is between left and right and minimally sized else just return
null if left == right.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMinimumMidpointArray(java.nio.ByteBuffer,int,int,java.nio.ByteBuffer,int,int)">
<h3>getMinimumMidpointArray</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">byte[]</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-493">getMinimumMidpointArray</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>&nbsp;left,
int&nbsp;leftOffset,
int&nbsp;leftLength,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>&nbsp;right,
int&nbsp;rightOffset,
int&nbsp;rightLength)</span></div>
<div class="block">Try to create a new byte array that falls between left and right as short as possible with
lexicographical order.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Return a new array that is between left and right and minimally sized else just return
null if left == right.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="writeInlineBlocks(boolean)">
<h3>writeInlineBlocks</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-534">writeInlineBlocks</a></span><wbr><span class="parameters">(boolean&nbsp;closing)</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">Gives inline block writers an opportunity to contribute blocks.</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="doCacheOnWrite(long)">
<h3>doCacheOnWrite</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-556">doCacheOnWrite</a></span><wbr><span class="parameters">(long&nbsp;offset)</span></div>
<div class="block">Caches the last written HFile block.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>offset</code> - the offset of the block we want to cache. Used to determine the cache key.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="newBlock()">
<h3>newBlock</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-572">newBlock</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">Ready a new block for writing.</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="appendMetaBlock(java.lang.String,org.apache.hadoop.io.Writable)">
<h3>appendMetaBlock</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-588">appendMetaBlock</a></span><wbr><span class="parameters">(<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>&nbsp;metaBlockName,
org.apache.hadoop.io.Writable&nbsp;content)</span></div>
<div class="block">Add a meta block to the end of the file. Call before close(). Metadata blocks are expensive.
Fill one with a bunch of serialized data rather than do a metadata block per metadata instance.
If metadata is small, consider adding to file info using
<a href="#appendFileInfo(byte%5B%5D,byte%5B%5D)"><code>appendFileInfo(byte[], byte[])</code></a> name of the block will call readFields to get data
later (DO NOT REUSE)</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="HFile.Writer.html#appendMetaBlock(java.lang.String,org.apache.hadoop.io.Writable)">appendMetaBlock</a></code>&nbsp;in interface&nbsp;<code><a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close()">
<h3>close</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-603">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>
<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="addInlineBlockWriter(org.apache.hadoop.hbase.io.hfile.InlineBlockWriter)">
<h3>addInlineBlockWriter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-685">addInlineBlockWriter</a></span><wbr><span class="parameters">(<a href="InlineBlockWriter.html" title="interface in org.apache.hadoop.hbase.io.hfile">InlineBlockWriter</a>&nbsp;ibw)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="HFile.Writer.html#addInlineBlockWriter(org.apache.hadoop.hbase.io.hfile.InlineBlockWriter)">HFile.Writer</a></code></span></div>
<div class="block">Adds an inline block writer such as a multi-level block index writer or a compound Bloom
filter writer.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="HFile.Writer.html#addInlineBlockWriter(org.apache.hadoop.hbase.io.hfile.InlineBlockWriter)">addInlineBlockWriter</a></code>&nbsp;in interface&nbsp;<code><a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addGeneralBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter)">
<h3>addGeneralBloomFilter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-690">addGeneralBloomFilter</a></span><wbr><span class="parameters">(<a href="../../util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a>&nbsp;bfw)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="HFile.Writer.html#addGeneralBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter)">HFile.Writer</a></code></span></div>
<div class="block">Store general Bloom filter in the file. This does not deal with Bloom filter internals but is
necessary, since Bloom filters are stored differently in HFile version 1 and version 2.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="HFile.Writer.html#addGeneralBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter)">addGeneralBloomFilter</a></code>&nbsp;in interface&nbsp;<code><a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addDeleteFamilyBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter)">
<h3>addDeleteFamilyBloomFilter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-695">addDeleteFamilyBloomFilter</a></span><wbr><span class="parameters">(<a href="../../util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a>&nbsp;bfw)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="HFile.Writer.html#addDeleteFamilyBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter)">HFile.Writer</a></code></span></div>
<div class="block">Store delete family Bloom filter in the file, which is only supported in HFile V2.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="HFile.Writer.html#addDeleteFamilyBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter)">addDeleteFamilyBloomFilter</a></code>&nbsp;in interface&nbsp;<code><a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addBloomFilter(org.apache.hadoop.hbase.util.BloomFilterWriter,org.apache.hadoop.hbase.io.hfile.BlockType)">
<h3>addBloomFilter</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-700">addBloomFilter</a></span><wbr><span class="parameters">(<a href="../../util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a>&nbsp;bfw,
<a href="BlockType.html" title="enum class in org.apache.hadoop.hbase.io.hfile">BlockType</a>&nbsp;blockType)</span></div>
</section>
</li>
<li>
<section class="detail" id="getFileContext()">
<h3>getFileContext</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-727">getFileContext</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="HFile.Writer.html#getFileContext()">HFile.Writer</a></code></span></div>
<div class="block">Return the file context for the HFile this writer belongs to</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="HFile.Writer.html#getFileContext()">getFileContext</a></code>&nbsp;in interface&nbsp;<code><a href="HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="append(org.apache.hadoop.hbase.ExtendedCell)">
<h3>append</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-736">append</a></span><wbr><span class="parameters">(<a href="../../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</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">Add key/value to file. Keys must be added in an order that agrees with the Comparator passed on
construction. Cell to add. Cannot be empty nor null.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../regionserver/CellSink.html#append(org.apache.hadoop.hbase.ExtendedCell)">append</a></code>&nbsp;in interface&nbsp;<code><a href="../../regionserver/CellSink.html" title="interface in org.apache.hadoop.hbase.regionserver">CellSink</a></code></dd>
<dt>Parameters:</dt>
<dd><code>cell</code> - the cell to be added</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="beforeShipped()">
<h3>beforeShipped</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-773">beforeShipped</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"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../../regionserver/ShipperListener.html#beforeShipped()">ShipperListener</a></code></span></div>
<div class="block">The action that needs to be performed before <a href="../../regionserver/Shipper.html#shipped()"><code>Shipper.shipped()</code></a> is performed</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../regionserver/ShipperListener.html#beforeShipped()">beforeShipped</a></code>&nbsp;in interface&nbsp;<code><a href="../../regionserver/ShipperListener.html" title="interface in org.apache.hadoop.hbase.regionserver">ShipperListener</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="getLastCell()">
<h3>getLastCell</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-788">getLastCell</a></span>()</div>
</section>
</li>
<li>
<section class="detail" id="finishFileInfo()">
<h3>finishFileInfo</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-792">finishFileInfo</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>
<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="getMajorVersion()">
<h3>getMajorVersion</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-829">getMajorVersion</a></span>()</div>
</section>
</li>
<li>
<section class="detail" id="getMinorVersion()">
<h3>getMinorVersion</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-833">getMinorVersion</a></span>()</div>
</section>
</li>
<li>
<section class="detail" id="finishClose(org.apache.hadoop.hbase.io.hfile.FixedFileTrailer)">
<h3>finishClose</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line-837">finishClose</a></span><wbr><span class="parameters">(<a href="FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a>&nbsp;trailer)</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>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>
</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>