blob: 67c833b2f2fe34fa6f98f60c1c9da9911fa9c392 [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>InputStreamBlockDistribution (Apache HBase 3.0.0-alpha-4-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="InputStreamBlockDistribution (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/InputStreamBlockDistribution.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/IncreasingToUpperBoundRegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScan.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html" target="_top">Frames</a></li>
<li><a href="InputStreamBlockDistribution.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</div>
<h2 title="Class InputStreamBlockDistribution" class="title">Class InputStreamBlockDistribution</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.regionserver.InputStreamBlockDistribution</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.51">InputStreamBlockDistribution</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Computes the HDFSBlockDistribution for a file based on the underlying located blocks for an
HdfsDataInputStream reading that file. The backing DFSInputStream.getAllBlocks involves
allocating an array of numBlocks size per call. It may also involve calling the namenode, if the
DFSInputStream has not fetched all the blocks yet. In order to avoid allocation pressure, we
cache the computed distribution for a configurable period of time.
<p>
This class only gets instantiated for the <b>first</b> FSDataInputStream of each StoreFile (i.e.
the one backing <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html#initialReader"><code>HStoreFile.initialReader</code></a>). It's then used to dynamically update the value
returned by <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html#getHDFSBlockDistribution--"><code>HStoreFile.getHDFSBlockDistribution()</code></a>.
<p>
Once the backing FSDataInputStream is closed, we should not expect the distribution result to
change anymore. This is ok becuase the initialReader's InputStream is only closed when the
StoreFile itself is closed, at which point nothing will be querying getHDFSBlockDistribution
anymore. If/When the StoreFile is reopened, a new <a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html" title="class in org.apache.hadoop.hbase.regionserver"><code>InputStreamBlockDistribution</code></a> will be
created for the new initialReader.</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 int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#cachePeriodMs">cachePeriodMs</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD">DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED">DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#fileInfo">fileInfo</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD">HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED">HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#hdfsBlocksDistribution">hdfsBlocksDistribution</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#lastCachedAt">lastCachedAt</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.FSDataInputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#stream">stream</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#streamUnsupported">streamUnsupported</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="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/InputStreamBlockDistribution.html#InputStreamBlockDistribution-org.apache.hadoop.fs.FSDataInputStream-org.apache.hadoop.hbase.regionserver.StoreFileInfo-">InputStreamBlockDistribution</a></span>(org.apache.hadoop.fs.FSDataInputStream&nbsp;stream,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&nbsp;fileInfo)</code>
<div class="block">This should only be called for the first FSDataInputStream of a StoreFile, in
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html#open--"><code>HStoreFile.open()</code></a>.</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="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>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#computeBlockDistribution--">computeBlockDistribution</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#getCachePeriodMs--">getCachePeriodMs</a></span>()</code>
<div class="block">For tests only, returns the configured cache period</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#getHDFSBlockDistribution--">getHDFSBlockDistribution</a></span>()</code>
<div class="block">Get the HDFSBlocksDistribution derived from the StoreFile input stream, re-computing if cache
is expired.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#isEnabled-org.apache.hadoop.conf.Configuration-">isEnabled</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
<div class="block">True if we should derive StoreFile HDFSBlockDistribution from the underlying input stream</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#isStreamUnsupported--">isStreamUnsupported</a></span>()</code>
<div class="block">For tests only, returns whether the passed stream is supported</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#setLastCachedAt-long-">setLastCachedAt</a></span>(long&nbsp;timestamp)</code>
<div class="block">For tests only, sets lastCachedAt so we can force a refresh</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#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="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.52">LOG</a></pre>
</li>
</ul>
<a name="HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.54">HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.InputStreamBlockDistribution.HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED</h4>
<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.56">DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.InputStreamBlockDistribution.DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.58">HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.InputStreamBlockDistribution.HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD</h4>
<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.60">DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.InputStreamBlockDistribution.DEFAULT_HBASE_LOCALITY_INPUTSTREAM_DERIVE_CACHE_PERIOD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="stream">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stream</h4>
<pre>private final&nbsp;org.apache.hadoop.fs.FSDataInputStream <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.62">stream</a></pre>
</li>
</ul>
<a name="fileInfo">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileInfo</h4>
<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.63">fileInfo</a></pre>
</li>
</ul>
<a name="cachePeriodMs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cachePeriodMs</h4>
<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.64">cachePeriodMs</a></pre>
</li>
</ul>
<a name="hdfsBlocksDistribution">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hdfsBlocksDistribution</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.66">hdfsBlocksDistribution</a></pre>
</li>
</ul>
<a name="lastCachedAt">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastCachedAt</h4>
<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.67">lastCachedAt</a></pre>
</li>
</ul>
<a name="streamUnsupported">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>streamUnsupported</h4>
<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.68">streamUnsupported</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="InputStreamBlockDistribution-org.apache.hadoop.fs.FSDataInputStream-org.apache.hadoop.hbase.regionserver.StoreFileInfo-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>InputStreamBlockDistribution</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.77">InputStreamBlockDistribution</a>(org.apache.hadoop.fs.FSDataInputStream&nbsp;stream,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&nbsp;fileInfo)</pre>
<div class="block">This should only be called for the first FSDataInputStream of a StoreFile, in
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html#open--"><code>HStoreFile.open()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stream</code> - the input stream to derive locality from</dd>
<dd><code>fileInfo</code> - the StoreFileInfo for the related store file</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html" title="class in org.apache.hadoop.hbase.regionserver"><code>InputStreamBlockDistribution</code></a></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="isEnabled-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEnabled</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.90">isEnabled</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
<div class="block">True if we should derive StoreFile HDFSBlockDistribution from the underlying input stream</div>
</li>
</ul>
<a name="getHDFSBlockDistribution--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHDFSBlockDistribution</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.99">getHDFSBlockDistribution</a>()</pre>
<div class="block">Get the HDFSBlocksDistribution derived from the StoreFile input stream, re-computing if cache
is expired.</div>
</li>
</ul>
<a name="computeBlockDistribution--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeBlockDistribution</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.112">computeBlockDistribution</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="setLastCachedAt-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLastCachedAt</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.142">setLastCachedAt</a>(long&nbsp;timestamp)</pre>
<div class="block">For tests only, sets lastCachedAt so we can force a refresh</div>
</li>
</ul>
<a name="getCachePeriodMs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCachePeriodMs</h4>
<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.151">getCachePeriodMs</a>()</pre>
<div class="block">For tests only, returns the configured cache period</div>
</li>
</ul>
<a name="isStreamUnsupported--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isStreamUnsupported</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html#line.160">isStreamUnsupported</a>()</pre>
<div class="block">For tests only, returns whether the passed stream is supported</div>
</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/InputStreamBlockDistribution.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/IncreasingToUpperBoundRegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScan.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/InputStreamBlockDistribution.html" target="_top">Frames</a></li>
<li><a href="InputStreamBlockDistribution.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;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>