blob: 1c500a662753547b9cd9fd4dee504d59ccad0573 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>StoreFileManager (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.regionserver, interface: StoreFileManager">
<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/StoreFileManager.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.hadoop.hbase.regionserver</a></div>
<h1 title="Interface StoreFileManager" class="title">Interface StoreFileManager</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="DefaultStoreFileManager.html" title="class in org.apache.hadoop.hbase.regionserver">DefaultStoreFileManager</a></code>, <code><a href="StripeStoreFileManager.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFileManager</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@Private
</span><span class="modifiers">public interface </span><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-45">StoreFileManager</a></span></div>
<div class="block">Manages the store files and basic metadata about that that determines the logical structure (e.g.
what files to return for scan, how to determine split point, and such). Does NOT affect the
physical structure of files in HDFS. Example alternative structures - the default list of files
by seqNum; levelDB one sorted by level and seqNum.
<p/>
Notice that, all the states are only in memory, we do not persist anything here. The only place
where we throw an <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"><code>IOException</code></a> is the <a href="#getSplitPoint()"><code>getSplitPoint()</code></a> method, where we need to
read startKey, endKey etc, which may lead to an <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"><code>IOException</code></a>.
<p/>
Implementations are assumed to be not thread safe.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#addCompactionResults(java.util.Collection,java.util.Collection)" class="member-name-link">addCompactionResults</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;compactedFiles,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;results)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Adds only the new compaction results into the structure.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#clearCompactedFiles()" class="member-name-link">clearCompactedFiles</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Clears all the compacted files and returns them.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>org.apache.hbase.thirdparty.com.google.common.collect.ImmutableCollection&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#clearFiles()" class="member-name-link">clearFiles</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Clears all the files currently in use and returns them.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCandidateFilesForRowKeyBefore(org.apache.hadoop.hbase.KeyValue)" class="member-name-link">getCandidateFilesForRowKeyBefore</a><wbr>(<a href="../KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;targetKey)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets initial, full list of candidate store files to check for row-key-before.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCompactedfiles()" class="member-name-link">getCompactedfiles</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">List of compacted files inside this store that needs to be excluded in reads because further
new reads will be using only the newly created files out of compaction.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCompactedFilesCount()" class="member-name-link">getCompactedFilesCount</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the number of compacted files.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>double</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCompactionPressure()" class="member-name-link">getCompactionPressure</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getFilesForScan(byte%5B%5D,boolean,byte%5B%5D,boolean,boolean)" class="member-name-link">getFilesForScan</a><wbr>(byte[]&nbsp;startRow,
boolean&nbsp;includeStartRow,
byte[]&nbsp;stopRow,
boolean&nbsp;includeStopRow,
boolean&nbsp;onlyLatestVersion)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the store files to scan for a Scan or Get request.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;byte[]&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSplitPoint()" class="member-name-link">getSplitPoint</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the split point for the split of this set of store files (approx.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getStoreCompactionPriority()" class="member-name-link">getStoreCompactionPriority</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns The store compaction priority.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getStoreFileComparator()" class="member-name-link">getStoreFileComparator</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getStorefileCount()" class="member-name-link">getStorefileCount</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the number of files currently in use.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getStoreFiles()" class="member-name-link">getStoreFiles</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the snapshot of the store files currently in use.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getUnneededFiles(long,java.util.List)" class="member-name-link">getUnneededFiles</a><wbr>(long&nbsp;maxTs,
<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="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;filesCompacting)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#insertNewFiles(java.util.Collection)" class="member-name-link">insertNewFiles</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;sfs)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Adds new files, either for from MemStore flush or bulk insert, into the structure.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#loadFiles(java.util.List)" class="member-name-link">loadFiles</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;storeFiles)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Loads the initial store files into empty StoreFileManager.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#removeCompactedFiles(java.util.Collection)" class="member-name-link">removeCompactedFiles</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;compactedFiles)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Remove the compacted files</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#updateCandidateFilesForRowKeyBefore(java.util.Iterator,org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.Cell)" class="member-name-link">updateCandidateFilesForRowKeyBefore</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;candidateFiles,
<a href="../KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;targetKey,
<a href="../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;candidate)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Updates the candidate list for finding row key before.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="loadFiles(java.util.List)">
<h3>loadFiles</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-51">loadFiles</a></span><wbr><span class="parameters">(<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="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;storeFiles)</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">Loads the initial store files into empty StoreFileManager.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>storeFiles</code> - The files to load.</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="insertNewFiles(java.util.Collection)">
<h3>insertNewFiles</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-59">insertNewFiles</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;sfs)</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">Adds new files, either for from MemStore flush or bulk insert, into the structure.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>sfs</code> - New store files.</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="addCompactionResults(java.util.Collection,java.util.Collection)">
<h3>addCompactionResults</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-68">addCompactionResults</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;compactedFiles,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;results)</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">Adds only the new compaction results into the structure.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>compactedFiles</code> - The input files for the compaction.</dd>
<dd><code>results</code> - The resulting files for the compaction.</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="removeCompactedFiles(java.util.Collection)">
<h3>removeCompactedFiles</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-77">removeCompactedFiles</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;compactedFiles)</span></div>
<div class="block">Remove the compacted files</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>compactedFiles</code> - the list of compacted files</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clearFiles()">
<h3>clearFiles</h3>
<div class="member-signature"><span class="return-type">org.apache.hbase.thirdparty.com.google.common.collect.ImmutableCollection&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-85">clearFiles</a></span>()</div>
<div class="block">Clears all the files currently in use and returns them.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The files previously in use.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clearCompactedFiles()">
<h3>clearCompactedFiles</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-92">clearCompactedFiles</a></span>()</div>
<div class="block">Clears all the compacted files and returns them. This method is expected to be accessed single
threaded.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The files compacted previously.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getStoreFiles()">
<h3>getStoreFiles</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-99">getStoreFiles</a></span>()</div>
<div class="block">Gets the snapshot of the store files currently in use. Can be used for things like metrics and
checks; should not assume anything about relations between store files in the list.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The list of StoreFiles.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCompactedfiles()">
<h3>getCompactedfiles</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-107">getCompactedfiles</a></span>()</div>
<div class="block">List of compacted files inside this store that needs to be excluded in reads because further
new reads will be using only the newly created files out of compaction. These compacted files
will be deleted/cleared once all the existing readers on these compacted files are done.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the list of compacted files</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getStorefileCount()">
<h3>getStorefileCount</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-113">getStorefileCount</a></span>()</div>
<div class="block">Returns the number of files currently in use.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The number of files.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCompactedFilesCount()">
<h3>getCompactedFilesCount</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-119">getCompactedFilesCount</a></span>()</div>
<div class="block">Returns the number of compacted files.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The number of files.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFilesForScan(byte[],boolean,byte[],boolean,boolean)">
<h3>getFilesForScan</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-128">getFilesForScan</a></span><wbr><span class="parameters">(byte[]&nbsp;startRow,
boolean&nbsp;includeStartRow,
byte[]&nbsp;stopRow,
boolean&nbsp;includeStopRow,
boolean&nbsp;onlyLatestVersion)</span></div>
<div class="block">Gets the store files to scan for a Scan or Get request.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>startRow</code> - Start row of the request.</dd>
<dd><code>stopRow</code> - Stop row of the request.</dd>
<dd><code>onlyLatestVersion</code> - Scan only latest live version cells.</dd>
<dt>Returns:</dt>
<dd>The list of files that are to be read for this request.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCandidateFilesForRowKeyBefore(org.apache.hadoop.hbase.KeyValue)">
<h3>getCandidateFilesForRowKeyBefore</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-137">getCandidateFilesForRowKeyBefore</a></span><wbr><span class="parameters">(<a href="../KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;targetKey)</span></div>
<div class="block">Gets initial, full list of candidate store files to check for row-key-before.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>targetKey</code> - The key that is the basis of the search.</dd>
<dt>Returns:</dt>
<dd>The files that may have the key less than or equal to targetKey, in reverse order of
new-ness, and preference for target key.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateCandidateFilesForRowKeyBefore(java.util.Iterator,org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.Cell)">
<h3>updateCandidateFilesForRowKeyBefore</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-150">updateCandidateFilesForRowKeyBefore</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;candidateFiles,
<a href="../KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;targetKey,
<a href="../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;candidate)</span></div>
<div class="block">Updates the candidate list for finding row key before. Based on the list of candidates
remaining to check from getCandidateFilesForRowKeyBefore, targetKey and current candidate, may
trim and reorder the list to remove the files where a better candidate cannot be found.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>candidateFiles</code> - The candidate files not yet checked for better candidates - return value
from <a href="#getCandidateFilesForRowKeyBefore(org.apache.hadoop.hbase.KeyValue)"><code>getCandidateFilesForRowKeyBefore(KeyValue)</code></a>, with some files
already removed.</dd>
<dd><code>targetKey</code> - The key to search for.</dd>
<dd><code>candidate</code> - The current best candidate found.</dd>
<dt>Returns:</dt>
<dd>The list to replace candidateFiles.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSplitPoint()">
<h3>getSplitPoint</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;byte[]&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-157">getSplitPoint</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">Gets the split point for the split of this set of store files (approx. middle).</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The mid-point if possible.</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="getStoreCompactionPriority()">
<h3>getStoreCompactionPriority</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-160">getStoreCompactionPriority</a></span>()</div>
<div class="block">Returns The store compaction priority.</div>
</section>
</li>
<li>
<section class="detail" id="getUnneededFiles(long,java.util.List)">
<h3>getUnneededFiles</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-167">getUnneededFiles</a></span><wbr><span class="parameters">(long&nbsp;maxTs,
<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="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;filesCompacting)</span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>maxTs</code> - Maximum expired timestamp.</dd>
<dd><code>filesCompacting</code> - Files that are currently compacting.</dd>
<dt>Returns:</dt>
<dd>The files which don't have any necessary data according to TTL and other criteria.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCompactionPressure()">
<h3>getCompactionPressure</h3>
<div class="member-signature"><span class="return-type">double</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-173">getCompactionPressure</a></span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the compaction pressure used for compaction throughput tuning.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="HStore.html#getCompactionPressure()"><code>HStore.getCompactionPressure()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getStoreFileComparator()">
<h3>getStoreFileComparator</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a>&lt;<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFileManager.html#line-179">getStoreFileComparator</a></span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the comparator used to sort storefiles. Usually, the
<a href="HStoreFile.html#getMaxSequenceId()"><code>HStoreFile.getMaxSequenceId()</code></a> is the first priority.</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>