blob: ae83f1a51237f14dacefc77a7c4bad6ece84b9e2 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ExploringCompactionPolicy (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ExploringCompactionPolicy (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ExploringCompactionPolicy.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.html" title="class in org.apache.hadoop.hbase.regionserver.compactions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExponentialCompactionWindowFactory.html" title="class in org.apache.hadoop.hbase.regionserver.compactions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html" target="_top">Frames</a></li>
<li><a href="ExploringCompactionPolicy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.regionserver.compactions</div>
<h2 title="Class ExploringCompactionPolicy" class="title">Class ExploringCompactionPolicy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">org.apache.hadoop.hbase.regionserver.compactions.CompactionPolicy</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">org.apache.hadoop.hbase.regionserver.compactions.SortedCompactionPolicy</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">org.apache.hadoop.hbase.regionserver.compactions.RatioBasedCompactionPolicy</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/FIFOCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">FIFOCompactionPolicy</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#line.40">ExploringCompactionPolicy</a>
extends <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">RatioBasedCompactionPolicy</a></pre>
<div class="block">Class to pick which files if any to compact together.
This class will search all possibilities for different and if it gets stuck it will choose
the smallest set of files to compact.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.regionserver.compactions.CompactionPolicy">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.compactions.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionPolicy</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.html#comConf">comConf</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.html#storeConfigInfo">storeConfigInfo</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#ExploringCompactionPolicy-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.StoreConfigInformation-">ExploringCompactionPolicy</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/StoreConfigInformation.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreConfigInformation</a>&nbsp;storeConfigInfo)</code>
<div class="block">Constructor for ExploringCompactionPolicy.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#applyCompactionPolicy-java.util.ArrayList-boolean-boolean-">applyCompactionPolicy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;candidates,
boolean&nbsp;mayUseOffPeak,
boolean&nbsp;mightBeStuck)</code>
<div class="block">-- Default minor compaction selection algorithm:
choose CompactSelection from candidates --
First exclude bulk-load files if indicated in configuration.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#applyCompactionPolicy-java.util.List-boolean-boolean-int-int-">applyCompactionPolicy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;candidates,
boolean&nbsp;mightBeStuck,
boolean&nbsp;mayUseOffPeak,
int&nbsp;minFiles,
int&nbsp;maxFiles)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#filesInRatio-java.util.List-double-">filesInRatio</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;files,
double&nbsp;currentRatio)</code>
<div class="block">Check that all files satisfy the constraint
FileSize(i) <= ( Sum(0,N,FileSize(_)) - FileSize(i) ) * Ratio.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#getTotalStoreSize-java.util.List-">getTotalStoreSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;potentialMatchFiles)</code>
<div class="block">Find the total size of a list of store files.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#isBetterSelection-java.util.List-long-java.util.List-long-boolean-">isBetterSelection</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;bestSelection,
long&nbsp;bestSize,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;selection,
long&nbsp;size,
boolean&nbsp;mightBeStuck)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.compactions.RatioBasedCompactionPolicy">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.compactions.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">RatioBasedCompactionPolicy</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html#createCompactionRequest-java.util.ArrayList-boolean-boolean-boolean-">createCompactionRequest</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html#needsCompaction-java.util.Collection-java.util.List-">needsCompaction</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html#setMinThreshold-int-">setMinThreshold</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html#shouldPerformMajorCompaction-java.util.Collection-">shouldPerformMajorCompaction</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.compactions.SortedCompactionPolicy">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.compactions.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">SortedCompactionPolicy</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#checkMinFilesCriteria-java.util.ArrayList-int-">checkMinFilesCriteria</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#filterBulk-java.util.ArrayList-">filterBulk</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#getCurrentEligibleFiles-java.util.ArrayList-java.util.List-">getCurrentEligibleFiles</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#getNextMajorCompactTime-java.util.Collection-">getNextMajorCompactTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#preSelectCompactionForCoprocessor-java.util.Collection-java.util.List-">preSelectCompactionForCoprocessor</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#removeExcessFiles-java.util.ArrayList-boolean-boolean-">removeExcessFiles</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#selectCompaction-java.util.Collection-java.util.List-boolean-boolean-boolean-">selectCompaction</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#skipLargeFiles-java.util.ArrayList-boolean-">skipLargeFiles</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.html#throttleCompaction-long-">throttleCompaction</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.compactions.CompactionPolicy">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.compactions.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionPolicy</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.html#getConf--">getConf</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#line.41">LOG</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ExploringCompactionPolicy-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.StoreConfigInformation-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ExploringCompactionPolicy</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#line.48">ExploringCompactionPolicy</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/StoreConfigInformation.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreConfigInformation</a>&nbsp;storeConfigInfo)</pre>
<div class="block">Constructor for ExploringCompactionPolicy.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conf</code> - The configuration object</dd>
<dd><code>storeConfigInfo</code> - An object to provide info about the store.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="applyCompactionPolicy-java.util.ArrayList-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyCompactionPolicy</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#line.54">applyCompactionPolicy</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;candidates,
boolean&nbsp;mayUseOffPeak,
boolean&nbsp;mightBeStuck)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html#applyCompactionPolicy-java.util.ArrayList-boolean-boolean-">RatioBasedCompactionPolicy</a></code></span></div>
<div class="block">-- Default minor compaction selection algorithm:
choose CompactSelection from candidates --
First exclude bulk-load files if indicated in configuration.
Start at the oldest file and stop when you find the first file that
meets compaction criteria:
(1) a recently-flushed, small file (i.e. <= minCompactSize)
OR
(2) within the compactRatio of sum(newer_files)
Given normal skew, any newer files will also meet this criteria
<p/>
Additional Note:
If fileSizes.size() >> maxFilesToCompact, we will recurse on
compact(). Consider the oldest files first to avoid a
situation where we always compact [end-threshold,end). Then, the
last file becomes an aggregate of the previous compactions.
normal skew:
older ----> newer (increasing seqID)
_
| | _
| | | | _
--|-|- |-|- |-|---_-------_------- minCompactSize
| | | | | | | | _ | |
| | | | | | | | | | | |
| | | | | | | | | | | |</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html#applyCompactionPolicy-java.util.ArrayList-boolean-boolean-">applyCompactionPolicy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">RatioBasedCompactionPolicy</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>candidates</code> - pre-filtrate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>filtered subset</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="applyCompactionPolicy-java.util.List-boolean-boolean-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyCompactionPolicy</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#line.60">applyCompactionPolicy</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;candidates,
boolean&nbsp;mightBeStuck,
boolean&nbsp;mayUseOffPeak,
int&nbsp;minFiles,
int&nbsp;maxFiles)</pre>
</li>
</ul>
<a name="isBetterSelection-java.util.List-long-java.util.List-long-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBetterSelection</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#line.127">isBetterSelection</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;bestSelection,
long&nbsp;bestSize,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;selection,
long&nbsp;size,
boolean&nbsp;mightBeStuck)</pre>
</li>
</ul>
<a name="getTotalStoreSize-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalStoreSize</h4>
<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#line.148">getTotalStoreSize</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;potentialMatchFiles)</pre>
<div class="block">Find the total size of a list of store files.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>potentialMatchFiles</code> - StoreFile list.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Sum of StoreFile.getReader().length();</dd>
</dl>
</li>
</ul>
<a name="filesInRatio-java.util.List-double-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>filesInRatio</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html#line.160">filesInRatio</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;files,
double&nbsp;currentRatio)</pre>
<div class="block">Check that all files satisfy the constraint
FileSize(i) <= ( Sum(0,N,FileSize(_)) - FileSize(i) ) * Ratio.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>files</code> - List of store files to consider as a compaction candidate.</dd>
<dd><code>currentRatio</code> - The ratio to use.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a boolean if these files satisfy the ratio constraints.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ExploringCompactionPolicy.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.html" title="class in org.apache.hadoop.hbase.regionserver.compactions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/ExponentialCompactionWindowFactory.html" title="class in org.apache.hadoop.hbase.regionserver.compactions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.html" target="_top">Frames</a></li>
<li><a href="ExploringCompactionPolicy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>