blob: bd8eba5f778243f8e1000afc8f95ecf74b50d377 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>StoreScanner (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, class: StoreScanner">
<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/StoreScanner.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.hadoop.hbase.regionserver</a></div>
<h1 title="Class StoreScanner" class="title">Class StoreScanner</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="NonLazyKeyValueScanner.html" title="class in org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner</a>
<div class="inheritance"><a href="NonReversedNonLazyKeyValueScanner.html" title="class in org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver.NonReversedNonLazyKeyValueScanner</a>
<div class="inheritance">org.apache.hadoop.hbase.regionserver.StoreScanner</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Closeable.html" title="class or interface in java.io" class="external-link">Closeable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code>, <code><a href="ChangedReadersObserver.html" title="interface in org.apache.hadoop.hbase.regionserver">ChangedReadersObserver</a></code>, <code><a href="InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a></code>, <code><a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></code>, <code><a href="Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a></code></dd>
</dl>
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="MobStoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">MobStoreScanner</a></code>, <code><a href="ReversedStoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">ReversedStoreScanner</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@Private
</span><span class="modifiers">public class </span><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-66">StoreScanner</a></span>
<span class="extends-implements">extends <a href="NonReversedNonLazyKeyValueScanner.html" title="class in org.apache.hadoop.hbase.regionserver">NonReversedNonLazyKeyValueScanner</a>
implements <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>, <a href="InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>, <a href="ChangedReadersObserver.html" title="interface in org.apache.hadoop.hbase.regionserver">ChangedReadersObserver</a></span></div>
<div class="block">Scanner scans both the memstore and the Store. Coalesce KeyValue stream into List&lt;KeyValue&gt;
for a single row.
<p>
The implementation is not thread safe. So there will be no race between next and close. The only
exception is updateReaders, it will be called in the memstore flush thread to indicate that there
is a flush.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private long</code></div>
<div class="col-second even-row-color"><code><a href="#bytesRead" class="member-name-link">bytesRead</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private boolean</code></div>
<div class="col-second odd-row-color"><code><a href="#cacheBlocks" class="member-name-link">cacheBlocks</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final long</code></div>
<div class="col-second even-row-color"><code><a href="#cellsPerHeartbeatCheck" class="member-name-link">cellsPerHeartbeatCheck</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/locks/ReentrantLock.html" title="class or interface in java.util.concurrent.locks" class="external-link">ReentrantLock</a></code></div>
<div class="col-second odd-row-color"><code><a href="#closeLock" class="member-name-link">closeLock</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private boolean</code></div>
<div class="col-second even-row-color"><code><a href="#closing" class="member-name-link">closing</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final <a href="../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></div>
<div class="col-second odd-row-color"><code><a href="#comparator" class="member-name-link">comparator</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private long</code></div>
<div class="col-second even-row-color"><code><a href="#countPerRow" class="member-name-link">countPerRow</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>(package private) final <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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</code></div>
<div class="col-second odd-row-color"><code><a href="#currentScanners" class="member-name-link">currentScanners</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final long</code></div>
<div class="col-second even-row-color"><code><a href="#DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK" class="member-name-link">DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a></code></div>
<div class="col-last even-row-color">
<div class="block">Default value of <a href="#HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK"><code>HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</code></a>.</div>
</div>
<div class="col-first odd-row-color"><code>private <a href="../executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a></code></div>
<div class="col-second odd-row-color"><code><a href="#executor" class="member-name-link">executor</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final boolean</code></div>
<div class="col-second even-row-color"><code><a href="#explicitColumnQuery" class="member-name-link">explicitColumnQuery</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private boolean</code></div>
<div class="col-second odd-row-color"><code><a href="#flushed" class="member-name-link">flushed</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final <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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#flushedstoreFileScanners" class="member-name-link">flushedstoreFileScanners</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/locks/ReentrantLock.html" title="class or interface in java.util.concurrent.locks" class="external-link">ReentrantLock</a></code></div>
<div class="col-second odd-row-color"><code><a href="#flushLock" class="member-name-link">flushLock</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final boolean</code></div>
<div class="col-second even-row-color"><code><a href="#get" class="member-name-link">get</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color"><code><a href="#HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK" class="member-name-link">HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The number of cells scanned in between timeout checks.</div>
</div>
<div class="col-first even-row-color"><code>protected <a href="KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a></code></div>
<div class="col-second even-row-color"><code><a href="#heap" class="member-name-link">heap</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private long</code></div>
<div class="col-second odd-row-color"><code><a href="#kvsScanned" class="member-name-link">kvsScanned</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The number of KVs seen by the scanner.</div>
</div>
<div class="col-first even-row-color"><code>(package private) static final boolean</code></div>
<div class="col-second even-row-color"><code><a href="#LAZY_SEEK_ENABLED_BY_DEFAULT" class="member-name-link">LAZY_SEEK_ENABLED_BY_DEFAULT</a></code></div>
<div class="col-last even-row-color">
<div class="block">We don't ever expect to change this, the constant is just for clarity.</div>
</div>
<div class="col-first odd-row-color"><code>private static boolean</code></div>
<div class="col-second odd-row-color"><code><a href="#lazySeekEnabledGlobally" class="member-name-link">lazySeekEnabledGlobally</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Used during unit testing to ensure that lazy seek does save seek ops</div>
</div>
<div class="col-first even-row-color"><code>private static final org.slf4j.Logger</code></div>
<div class="col-second even-row-color"><code><a href="#LOG" class="member-name-link">LOG</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private <a href="querymatcher/ScanQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">ScanQueryMatcher</a></code></div>
<div class="col-second odd-row-color"><code><a href="#matcher" class="member-name-link">matcher</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final long</code></div>
<div class="col-second even-row-color"><code><a href="#maxRowSize" class="member-name-link">maxRowSize</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>(package private) long</code></div>
<div class="col-second odd-row-color"><code><a href="#memstoreOnlyReads" class="member-name-link">memstoreOnlyReads</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final <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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#memStoreScannersAfterFlush" class="member-name-link">memStoreScannersAfterFlush</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final int</code></div>
<div class="col-second odd-row-color"><code><a href="#minVersions" class="member-name-link">minVersions</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>(package private) long</code></div>
<div class="col-second even-row-color"><code><a href="#mixedReads" class="member-name-link">mixedReads</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final long</code></div>
<div class="col-second odd-row-color"><code><a href="#now" class="member-name-link">now</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final long</code></div>
<div class="col-second even-row-color"><code><a href="#oldestUnexpiredTS" class="member-name-link">oldestUnexpiredTS</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private boolean</code></div>
<div class="col-second odd-row-color"><code><a href="#parallelSeekEnabled" class="member-name-link">parallelSeekEnabled</a></code></div>
<div class="col-last odd-row-color">
<div class="block">A flag that enables StoreFileScanner parallel-seeking</div>
</div>
<div class="col-first even-row-color"><code>private final long</code></div>
<div class="col-second even-row-color"><code><a href="#preadMaxBytes" class="member-name-link">preadMaxBytes</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private <a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></code></div>
<div class="col-second odd-row-color"><code><a href="#prevCell" class="member-name-link">prevCell</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected final long</code></div>
<div class="col-second even-row-color"><code><a href="#readPt" class="member-name-link">readPt</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final <a href="../client/Scan.ReadType.html" title="enum class in org.apache.hadoop.hbase.client">Scan.ReadType</a></code></div>
<div class="col-second odd-row-color"><code><a href="#readType" class="member-name-link">readType</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final <a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></div>
<div class="col-second even-row-color"><code><a href="#scan" class="member-name-link">scan</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private static final <a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></div>
<div class="col-second odd-row-color"><code><a href="#SCAN_FOR_COMPACTION" class="member-name-link">SCAN_FOR_COMPACTION</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final <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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#scannersForDelayedClose" class="member-name-link">scannersForDelayedClose</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private boolean</code></div>
<div class="col-second odd-row-color"><code><a href="#scanUsePread" class="member-name-link">scanUsePread</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected final <a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></div>
<div class="col-second even-row-color"><code><a href="#store" class="member-name-link">store</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private int</code></div>
<div class="col-second odd-row-color"><code><a href="#storeLimit" class="member-name-link">storeLimit</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private int</code></div>
<div class="col-second even-row-color"><code><a href="#storeOffset" class="member-name-link">storeOffset</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color"><code><a href="#STORESCANNER_PARALLEL_SEEK_ENABLE" class="member-name-link">STORESCANNER_PARALLEL_SEEK_ENABLE</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color"><code><a href="#STORESCANNER_PREAD_MAX_BYTES" class="member-name-link">STORESCANNER_PREAD_MAX_BYTES</a></code></div>
<div class="col-last even-row-color">
<div class="block">If the read type is Scan.ReadType.DEFAULT, we will start with pread, and if the kvs we scanned
reaches this limit, we will reopen the scanner with stream.</div>
</div>
<div class="col-first odd-row-color"><code>private boolean</code></div>
<div class="col-second odd-row-color"><code><a href="#topChanged" class="member-name-link">topChanged</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final boolean</code></div>
<div class="col-second even-row-color"><code><a href="#useRowColBloom" class="member-name-link">useRowColBloom</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.hadoop.hbase.regionserver.KeyValueScanner">Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
<code><a href="KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>(package private)</code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.client.Scan,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.NavigableSet,java.util.List)" class="member-name-link">StoreScanner</a><wbr>(<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/NavigableSet.html" title="class or interface in java.util" class="external-link">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>(package private)</code></div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.client.Scan,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.NavigableSet,java.util.List,org.apache.hadoop.hbase.regionserver.ScanType)" class="member-name-link">StoreScanner</a><wbr>(<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/NavigableSet.html" title="class or interface in java.util" class="external-link">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType)</code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private </code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.client.Scan,org.apache.hadoop.hbase.regionserver.ScanInfo,int,long,boolean,org.apache.hadoop.hbase.regionserver.ScanType)" class="member-name-link">StoreScanner</a><wbr>(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
int&nbsp;numColumns,
long&nbsp;readPt,
boolean&nbsp;cacheBlocks,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType)</code></div>
<div class="col-last even-row-color">
<div class="block">An internal constructor.</div>
</div>
<div class="col-first odd-row-color"><code>&nbsp;</code></div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.List,long,long,byte%5B%5D,byte%5B%5D)" class="member-name-link">StoreScanner</a><wbr>(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
long&nbsp;smallestReadPoint,
long&nbsp;earliestPutTs,
byte[]&nbsp;dropDeletesFromRow,
byte[]&nbsp;dropDeletesToRow)</code></div>
<div class="col-last odd-row-color">
<div class="block">Used for compactions that drop deletes from a limited range of rows.</div>
</div>
<div class="col-first even-row-color"><code>&nbsp;</code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.List,org.apache.hadoop.hbase.regionserver.ScanType,long,long)" class="member-name-link">StoreScanner</a><wbr>(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
long&nbsp;smallestReadPoint,
long&nbsp;earliestPutTs)</code></div>
<div class="col-last even-row-color">
<div class="block">Used for store file compaction and memstore compaction.</div>
</div>
<div class="col-first odd-row-color"><code>private </code></div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.List,org.apache.hadoop.hbase.regionserver.ScanType,long,long,byte%5B%5D,byte%5B%5D)" class="member-name-link">StoreScanner</a><wbr>(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
long&nbsp;smallestReadPoint,
long&nbsp;earliestPutTs,
byte[]&nbsp;dropDeletesFromRow,
byte[]&nbsp;dropDeletesToRow)</code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>&nbsp;</code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.regionserver.ScanInfo,org.apache.hadoop.hbase.client.Scan,java.util.NavigableSet,long)" class="member-name-link">StoreScanner</a><wbr>(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/NavigableSet.html" title="class or interface in java.util" class="external-link">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns,
long&nbsp;readPt)</code></div>
<div class="col-last even-row-color">
<div class="block">Opens a scanner across memstore, snapshot, and all StoreFiles.</div>
</div>
<div class="col-first odd-row-color"><code>(package private)</code></div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.regionserver.ScanInfo,int,org.apache.hadoop.hbase.regionserver.ScanType,java.util.List)" class="member-name-link">StoreScanner</a><wbr>(<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
int&nbsp;maxVersions,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>&nbsp;</code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.regionserver.ScanInfo,org.apache.hadoop.hbase.regionserver.ScanType,java.util.List)" class="member-name-link">StoreScanner</a><wbr>(<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addCurrentScanners(java.util.List)" class="member-name-link">addCurrentScanners</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#checkFlushed()" class="member-name-link">checkFlushed</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#checkScanOrder(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.CellComparator)" class="member-name-link">checkScanOrder</a><wbr>(<a href="../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;prevKV,
<a href="../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv,
<a href="../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Check whether scan as expected order</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#clearAndClose(java.util.List)" class="member-name-link">clearAndClose</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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#close()" class="member-name-link">close</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Close the KeyValue scanner.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#close(boolean)" class="member-name-link">close</a><wbr>(boolean&nbsp;withDelayedScannersClose)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>(package private) static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#enableLazySeekGlobally(boolean)" class="member-name-link">enableLazySeekGlobally</a><wbr>(boolean&nbsp;enable)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>(package private) <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAllScannersForTesting()" class="member-name-link">getAllScannersForTesting</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used in testing.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getEstimatedNumberOfKvsScanned()" class="member-name-link">getEstimatedNumberOfKvsScanned</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns The estimated number of KVs seen by this scanner (includes some skipped KVs).</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getNextIndexedKey()" class="member-name-link">getNextIndexedKey</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getReadPoint()" class="member-name-link">getReadPoint</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the read point of the current scan</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isOnlyLatestVersionScan(org.apache.hadoop.hbase.client.Scan)" class="member-name-link">isOnlyLatestVersionScan</a><wbr>(<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>(package private) boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isScanUsePread()" class="member-name-link">isScanUsePread</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private <a href="ScannerContext.NextState.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#needToReturn(java.util.List)" class="member-name-link">needToReturn</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;? super <a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&gt;&nbsp;outResult)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">If the top cell won't be flushed into disk, the new top cell may be changed after
#reopenAfterFlush.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newKVHeap(java.util.List,org.apache.hadoop.hbase.CellComparator)" class="member-name-link">newKVHeap</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#next()" class="member-name-link">next</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return the next Cell in this scanner, iterating the scanner</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#next(java.util.List,org.apache.hadoop.hbase.regionserver.ScannerContext)" class="member-name-link">next</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;? super <a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&gt;&nbsp;outResult,
<a href="ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the next row of values from this Store.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#parallelSeek(java.util.List,org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">parallelSeek</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;kv)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Seek storefiles in parallel to optimize IO latency as much as possible</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#peek()" class="member-name-link">peek</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Look at the next Cell in this scanner, but do not iterate scanner.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#reopenAfterFlush()" class="member-name-link">reopenAfterFlush</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns if top of heap has changed (and KeyValueHeap has to try the next KV)</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#reseek(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">reseek</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;kv)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Reseek the scanner at or after the specified KeyValue.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resetKVHeap(java.util.List,org.apache.hadoop.hbase.CellComparator)" class="member-name-link">resetKVHeap</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resetQueryMatcher(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">resetQueryMatcher</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;lastTopKey)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#seek(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">seek</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;key)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Seek the scanner at or after the specified KeyValue.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#seekAllScanner(org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.List)" class="member-name-link">seekAllScanner</a><wbr>(<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#seekAsDirection(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">seekAsDirection</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;kv)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Do a reseek in a normal StoreScanner(scan forward)</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#seekOrSkipToNextColumn(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">seekOrSkipToNextColumn</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#seekOrSkipToNextRow(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">seekOrSkipToNextRow</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#seekScanners(java.util.List,org.apache.hadoop.hbase.ExtendedCell,boolean,boolean)" class="member-name-link">seekScanners</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;seekKey,
boolean&nbsp;isLazy,
boolean&nbsp;isParallelSeek)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Seek the specified scanners with the given key</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#seekToNextRow(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">seekToNextRow</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;c)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#selectScannersFrom(org.apache.hadoop.hbase.regionserver.HStore,java.util.List)" class="member-name-link">selectScannersFrom</a><wbr>(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;allScanners)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Filters the given list of scanners using Bloom filter, time range, and TTL.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#shipped()" class="member-name-link">shipped</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called after a batch of rows scanned and set to be returned to client.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#trySkipToNextColumn(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">trySkipToNextColumn</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">See <a href="#trySkipToNextRow(org.apache.hadoop.hbase.ExtendedCell)"><code>trySkipToNextRow(ExtendedCell)</code></a></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#trySkipToNextRow(org.apache.hadoop.hbase.ExtendedCell)" class="member-name-link">trySkipToNextRow</a><wbr>(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">See if we should actually SEEK or rather just SKIP to the next Cell (see HBASE-13109).</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>(package private) void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#trySwitchToStreamRead()" class="member-name-link">trySwitchToStreamRead</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateMetricsStore(boolean)" class="member-name-link">updateMetricsStore</a><wbr>(boolean&nbsp;memstoreRead)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateReaders(java.util.List,java.util.List)" class="member-name-link">updateReaders</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;sfs,
<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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;memStoreScanners)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Notify observers.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.regionserver.NonReversedNonLazyKeyValueScanner">Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="NonReversedNonLazyKeyValueScanner.html" title="class in org.apache.hadoop.hbase.regionserver">NonReversedNonLazyKeyValueScanner</a></h3>
<code><a href="NonReversedNonLazyKeyValueScanner.html#backwardSeek(org.apache.hadoop.hbase.ExtendedCell)">backwardSeek</a>, <a href="NonReversedNonLazyKeyValueScanner.html#seekToLastRow()">seekToLastRow</a>, <a href="NonReversedNonLazyKeyValueScanner.html#seekToPreviousRow(org.apache.hadoop.hbase.ExtendedCell)">seekToPreviousRow</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner">Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="NonLazyKeyValueScanner.html" title="class in org.apache.hadoop.hbase.regionserver">NonLazyKeyValueScanner</a></h3>
<code><a href="NonLazyKeyValueScanner.html#doRealSeek(org.apache.hadoop.hbase.regionserver.KeyValueScanner,org.apache.hadoop.hbase.ExtendedCell,boolean)">doRealSeek</a>, <a href="NonLazyKeyValueScanner.html#enforceSeek()">enforceSeek</a>, <a href="NonLazyKeyValueScanner.html#getFilePath()">getFilePath</a>, <a href="NonLazyKeyValueScanner.html#isFileScanner()">isFileScanner</a>, <a href="NonLazyKeyValueScanner.html#realSeekDone()">realSeekDone</a>, <a href="NonLazyKeyValueScanner.html#recordBlockSize(java.util.function.IntConsumer)">recordBlockSize</a>, <a href="NonLazyKeyValueScanner.html#requestSeek(org.apache.hadoop.hbase.ExtendedCell,boolean,boolean)">requestSeek</a>, <a href="NonLazyKeyValueScanner.html#shouldUseScanner(org.apache.hadoop.hbase.client.Scan,org.apache.hadoop.hbase.regionserver.HStore,long)">shouldUseScanner</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.regionserver.InternalScanner">Methods inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a></h3>
<code><a href="InternalScanner.html#next(java.util.List)">next</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.regionserver.KeyValueScanner">Methods inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
<code><a href="KeyValueScanner.html#backwardSeek(org.apache.hadoop.hbase.ExtendedCell)">backwardSeek</a>, <a href="KeyValueScanner.html#enforceSeek()">enforceSeek</a>, <a href="KeyValueScanner.html#getFilePath()">getFilePath</a>, <a href="KeyValueScanner.html#getScannerOrder()">getScannerOrder</a>, <a href="KeyValueScanner.html#isFileScanner()">isFileScanner</a>, <a href="KeyValueScanner.html#realSeekDone()">realSeekDone</a>, <a href="KeyValueScanner.html#recordBlockSize(java.util.function.IntConsumer)">recordBlockSize</a>, <a href="KeyValueScanner.html#requestSeek(org.apache.hadoop.hbase.ExtendedCell,boolean,boolean)">requestSeek</a>, <a href="KeyValueScanner.html#seekToLastRow()">seekToLastRow</a>, <a href="KeyValueScanner.html#seekToPreviousRow(org.apache.hadoop.hbase.ExtendedCell)">seekToPreviousRow</a>, <a href="KeyValueScanner.html#shouldUseScanner(org.apache.hadoop.hbase.client.Scan,org.apache.hadoop.hbase.regionserver.HStore,long)">shouldUseScanner</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="LOG">
<h3>LOG</h3>
<div class="member-signature"><span class="modifiers">private static final</span>&nbsp;<span class="return-type">org.slf4j.Logger</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-69">LOG</a></span></div>
</section>
</li>
<li>
<section class="detail" id="store">
<h3>store</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-71">store</a></span></div>
</section>
</li>
<li>
<section class="detail" id="comparator">
<h3>comparator</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-72">comparator</a></span></div>
</section>
</li>
<li>
<section class="detail" id="matcher">
<h3>matcher</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="querymatcher/ScanQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">ScanQueryMatcher</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-73">matcher</a></span></div>
</section>
</li>
<li>
<section class="detail" id="heap">
<h3>heap</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-74">heap</a></span></div>
</section>
</li>
<li>
<section class="detail" id="cacheBlocks">
<h3>cacheBlocks</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-75">cacheBlocks</a></span></div>
</section>
</li>
<li>
<section class="detail" id="countPerRow">
<h3>countPerRow</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-77">countPerRow</a></span></div>
</section>
</li>
<li>
<section class="detail" id="storeLimit">
<h3>storeLimit</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-78">storeLimit</a></span></div>
</section>
</li>
<li>
<section class="detail" id="storeOffset">
<h3>storeOffset</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-79">storeOffset</a></span></div>
</section>
</li>
<li>
<section class="detail" id="closing">
<h3>closing</h3>
<div class="member-signature"><span class="modifiers">private volatile</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-82">closing</a></span></div>
</section>
</li>
<li>
<section class="detail" id="get">
<h3>get</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-83">get</a></span></div>
</section>
</li>
<li>
<section class="detail" id="explicitColumnQuery">
<h3>explicitColumnQuery</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-84">explicitColumnQuery</a></span></div>
</section>
</li>
<li>
<section class="detail" id="useRowColBloom">
<h3>useRowColBloom</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-85">useRowColBloom</a></span></div>
</section>
</li>
<li>
<section class="detail" id="parallelSeekEnabled">
<h3>parallelSeekEnabled</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-89">parallelSeekEnabled</a></span></div>
<div class="block">A flag that enables StoreFileScanner parallel-seeking</div>
</section>
</li>
<li>
<section class="detail" id="executor">
<h3>executor</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="../executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-90">executor</a></span></div>
</section>
</li>
<li>
<section class="detail" id="scan">
<h3>scan</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-91">scan</a></span></div>
</section>
</li>
<li>
<section class="detail" id="oldestUnexpiredTS">
<h3>oldestUnexpiredTS</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-92">oldestUnexpiredTS</a></span></div>
</section>
</li>
<li>
<section class="detail" id="now">
<h3>now</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-93">now</a></span></div>
</section>
</li>
<li>
<section class="detail" id="minVersions">
<h3>minVersions</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-94">minVersions</a></span></div>
</section>
</li>
<li>
<section class="detail" id="maxRowSize">
<h3>maxRowSize</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-95">maxRowSize</a></span></div>
</section>
</li>
<li>
<section class="detail" id="cellsPerHeartbeatCheck">
<h3>cellsPerHeartbeatCheck</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-96">cellsPerHeartbeatCheck</a></span></div>
</section>
</li>
<li>
<section class="detail" id="memstoreOnlyReads">
<h3>memstoreOnlyReads</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-97">memstoreOnlyReads</a></span></div>
</section>
</li>
<li>
<section class="detail" id="mixedReads">
<h3>mixedReads</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-98">mixedReads</a></span></div>
</section>
</li>
<li>
<section class="detail" id="scannersForDelayedClose">
<h3>scannersForDelayedClose</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-105">scannersForDelayedClose</a></span></div>
</section>
</li>
<li>
<section class="detail" id="kvsScanned">
<h3>kvsScanned</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-111">kvsScanned</a></span></div>
<div class="block">The number of KVs seen by the scanner. Includes explicitly skipped KVs, but not KVs skipped via
seeking to next row/column. TODO: estimate them?</div>
</section>
</li>
<li>
<section class="detail" id="prevCell">
<h3>prevCell</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-112">prevCell</a></span></div>
</section>
</li>
<li>
<section class="detail" id="preadMaxBytes">
<h3>preadMaxBytes</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-114">preadMaxBytes</a></span></div>
</section>
</li>
<li>
<section class="detail" id="bytesRead">
<h3>bytesRead</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-115">bytesRead</a></span></div>
</section>
</li>
<li>
<section class="detail" id="LAZY_SEEK_ENABLED_BY_DEFAULT">
<h3>LAZY_SEEK_ENABLED_BY_DEFAULT</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-118">LAZY_SEEK_ENABLED_BY_DEFAULT</a></span></div>
<div class="block">We don't ever expect to change this, the constant is just for clarity.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.StoreScanner.LAZY_SEEK_ENABLED_BY_DEFAULT">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STORESCANNER_PARALLEL_SEEK_ENABLE">
<h3>STORESCANNER_PARALLEL_SEEK_ENABLE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-119">STORESCANNER_PARALLEL_SEEK_ENABLE</a></span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.StoreScanner.STORESCANNER_PARALLEL_SEEK_ENABLE">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="lazySeekEnabledGlobally">
<h3>lazySeekEnabledGlobally</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-123">lazySeekEnabledGlobally</a></span></div>
<div class="block">Used during unit testing to ensure that lazy seek does save seek ops</div>
</section>
</li>
<li>
<section class="detail" id="HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">
<h3>HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-130">HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a></span></div>
<div class="block">The number of cells scanned in between timeout checks. Specifying a larger value means that
timeout checks will occur less frequently. Specifying a small value will lead to more frequent
timeout checks.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.StoreScanner.HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">
<h3>DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-136">DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a></span></div>
<div class="block">Default value of <a href="#HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK"><code>HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</code></a>.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.StoreScanner.DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STORESCANNER_PREAD_MAX_BYTES">
<h3>STORESCANNER_PREAD_MAX_BYTES</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-144">STORESCANNER_PREAD_MAX_BYTES</a></span></div>
<div class="block">If the read type is Scan.ReadType.DEFAULT, we will start with pread, and if the kvs we scanned
reaches this limit, we will reopen the scanner with stream. The default value is 4 times of
block size for this store. If configured with a value &lt;0, for all scans with ReadType DEFAULT,
we will open scanner with stream mode itself.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.StoreScanner.STORESCANNER_PREAD_MAX_BYTES">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="readType">
<h3>readType</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="../client/Scan.ReadType.html" title="enum class in org.apache.hadoop.hbase.client">Scan.ReadType</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-146">readType</a></span></div>
</section>
</li>
<li>
<section class="detail" id="scanUsePread">
<h3>scanUsePread</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-150">scanUsePread</a></span></div>
</section>
</li>
<li>
<section class="detail" id="flushed">
<h3>flushed</h3>
<div class="member-signature"><span class="modifiers">private volatile</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-152">flushed</a></span></div>
</section>
</li>
<li>
<section class="detail" id="flushedstoreFileScanners">
<h3>flushedstoreFileScanners</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-154">flushedstoreFileScanners</a></span></div>
</section>
</li>
<li>
<section class="detail" id="memStoreScannersAfterFlush">
<h3>memStoreScannersAfterFlush</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-156">memStoreScannersAfterFlush</a></span></div>
</section>
</li>
<li>
<section class="detail" id="currentScanners">
<h3>currentScanners</h3>
<div class="member-signature"><span class="modifiers">final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-158">currentScanners</a></span></div>
</section>
</li>
<li>
<section class="detail" id="flushLock">
<h3>flushLock</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/locks/ReentrantLock.html" title="class or interface in java.util.concurrent.locks" class="external-link">ReentrantLock</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-160">flushLock</a></span></div>
</section>
</li>
<li>
<section class="detail" id="closeLock">
<h3>closeLock</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/locks/ReentrantLock.html" title="class or interface in java.util.concurrent.locks" class="external-link">ReentrantLock</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-162">closeLock</a></span></div>
</section>
</li>
<li>
<section class="detail" id="readPt">
<h3>readPt</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-164">readPt</a></span></div>
</section>
</li>
<li>
<section class="detail" id="topChanged">
<h3>topChanged</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-165">topChanged</a></span></div>
</section>
</li>
<li>
<section class="detail" id="SCAN_FOR_COMPACTION">
<h3>SCAN_FOR_COMPACTION</h3>
<div class="member-signature"><span class="modifiers">private static final</span>&nbsp;<span class="return-type"><a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-286">SCAN_FOR_COMPACTION</a></span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.client.Scan,org.apache.hadoop.hbase.regionserver.ScanInfo,int,long,boolean,org.apache.hadoop.hbase.regionserver.ScanType)">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-168">StoreScanner</a></span><wbr><span class="parameters">(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
int&nbsp;numColumns,
long&nbsp;readPt,
boolean&nbsp;cacheBlocks,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType)</span></div>
<div class="block">An internal constructor.</div>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.regionserver.ScanInfo,org.apache.hadoop.hbase.client.Scan,java.util.NavigableSet,long)">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-241">StoreScanner</a></span><wbr><span class="parameters">(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/NavigableSet.html" title="class or interface in java.util" class="external-link">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns,
long&nbsp;readPt)</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">Opens a scanner across memstore, snapshot, and all StoreFiles. Assumes we are not in a
compaction.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>store</code> - who we scan</dd>
<dd><code>scan</code> - the spec</dd>
<dd><code>columns</code> - which columns we are scanning</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="&lt;init&gt;(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.List,org.apache.hadoop.hbase.regionserver.ScanType,long,long)">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-296">StoreScanner</a></span><wbr><span class="parameters">(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
long&nbsp;smallestReadPoint,
long&nbsp;earliestPutTs)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Used for store file compaction and memstore compaction.
<p>
Opens a scanner across specified StoreFiles/MemStoreSegments.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>store</code> - who we scan</dd>
<dd><code>scanners</code> - ancillary scanners</dd>
<dd><code>smallestReadPoint</code> - the readPoint that we should use for tracking versions</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="&lt;init&gt;(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.List,long,long,byte[],byte[])">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-311">StoreScanner</a></span><wbr><span class="parameters">(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
long&nbsp;smallestReadPoint,
long&nbsp;earliestPutTs,
byte[]&nbsp;dropDeletesFromRow,
byte[]&nbsp;dropDeletesToRow)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Used for compactions that drop deletes from a limited range of rows.
<p>
Opens a scanner across specified StoreFiles.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>store</code> - who we scan</dd>
<dd><code>scanners</code> - ancillary scanners</dd>
<dd><code>smallestReadPoint</code> - the readPoint that we should use for tracking versions</dd>
<dd><code>dropDeletesFromRow</code> - The inclusive left bound of the range; can be EMPTY_START_ROW.</dd>
<dd><code>dropDeletesToRow</code> - The exclusive right bound of the range; can be EMPTY_END_ROW.</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="&lt;init&gt;(org.apache.hadoop.hbase.regionserver.HStore,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.List,org.apache.hadoop.hbase.regionserver.ScanType,long,long,byte[],byte[])">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-318">StoreScanner</a></span><wbr><span class="parameters">(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
long&nbsp;smallestReadPoint,
long&nbsp;earliestPutTs,
byte[]&nbsp;dropDeletesFromRow,
byte[]&nbsp;dropDeletesToRow)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.apache.hadoop.hbase.regionserver.ScanInfo,org.apache.hadoop.hbase.regionserver.ScanType,java.util.List)">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-347">StoreScanner</a></span><wbr><span class="parameters">(<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.apache.hadoop.hbase.client.Scan,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.NavigableSet,java.util.List,org.apache.hadoop.hbase.regionserver.ScanType)">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-357">StoreScanner</a></span><wbr><span class="parameters">(<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/NavigableSet.html" title="class or interface in java.util" class="external-link">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.apache.hadoop.hbase.client.Scan,org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.NavigableSet,java.util.List)">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-373">StoreScanner</a></span><wbr><span class="parameters">(<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/NavigableSet.html" title="class or interface in java.util" class="external-link">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.apache.hadoop.hbase.regionserver.ScanInfo,int,org.apache.hadoop.hbase.regionserver.ScanType,java.util.List)">
<h3>StoreScanner</h3>
<div class="member-signature"><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-384">StoreScanner</a></span><wbr><span class="parameters">(<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
int&nbsp;maxVersions,
<a href="ScanType.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="addCurrentScanners(java.util.List)">
<h3>addCurrentScanners</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-224">addCurrentScanners</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</span></div>
</section>
</li>
<li>
<section class="detail" id="isOnlyLatestVersionScan(org.apache.hadoop.hbase.client.Scan)">
<h3>isOnlyLatestVersionScan</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-228">isOnlyLatestVersionScan</a></span><wbr><span class="parameters">(<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</span></div>
</section>
</li>
<li>
<section class="detail" id="seekAllScanner(org.apache.hadoop.hbase.regionserver.ScanInfo,java.util.List)">
<h3>seekAllScanner</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-338">seekAllScanner</a></span><wbr><span class="parameters">(<a href="ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isScanUsePread()">
<h3>isScanUsePread</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-394">isScanUsePread</a></span>()</div>
</section>
</li>
<li>
<section class="detail" id="seekScanners(java.util.List,org.apache.hadoop.hbase.ExtendedCell,boolean,boolean)">
<h3>seekScanners</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-403">seekScanners</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;seekKey,
boolean&nbsp;isLazy,
boolean&nbsp;isParallelSeek)</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">Seek the specified scanners with the given key</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>isLazy</code> - true if using lazy seek</dd>
<dd><code>isParallelSeek</code> - true if using parallel seek</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="resetKVHeap(java.util.List,org.apache.hadoop.hbase.CellComparator)">
<h3>resetKVHeap</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-433">resetKVHeap</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="newKVHeap(java.util.List,org.apache.hadoop.hbase.CellComparator)">
<h3>newKVHeap</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-439">newKVHeap</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="selectScannersFrom(org.apache.hadoop.hbase.regionserver.HStore,java.util.List)">
<h3>selectScannersFrom</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-449">selectScannersFrom</a></span><wbr><span class="parameters">(<a href="HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
<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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;allScanners)</span></div>
<div class="block">Filters the given list of scanners using Bloom filter, time range, and TTL.
<p>
Will be overridden by testcase so declared as protected.</div>
</section>
</li>
<li>
<section class="detail" id="peek()">
<h3>peek</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-485">peek</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="KeyValueScanner.html#peek()">KeyValueScanner</a></code></span></div>
<div class="block">Look at the next Cell in this scanner, but do not iterate scanner. NOTICE: The returned cell
has not been passed into ScanQueryMatcher. So it may not be what the user need.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="KeyValueScanner.html#peek()">peek</a></code>&nbsp;in interface&nbsp;<code><a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></code></dd>
<dt>Returns:</dt>
<dd>the next Cell</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="next()">
<h3>next</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-490">next</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="KeyValueScanner.html#next()">KeyValueScanner</a></code></span></div>
<div class="block">Return the next Cell in this scanner, iterating the scanner</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="KeyValueScanner.html#next()">next</a></code>&nbsp;in interface&nbsp;<code><a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></code></dd>
<dt>Returns:</dt>
<dd>the next Cell</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close()">
<h3>close</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-496">close</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="KeyValueScanner.html#close()">KeyValueScanner</a></code></span></div>
<div class="block">Close the KeyValue scanner.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html#close()" title="class or interface in java.lang" class="external-link">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Closeable.html#close()" title="class or interface in java.io" class="external-link">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Closeable.html" title="class or interface in java.io" class="external-link">Closeable</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="InternalScanner.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="KeyValueScanner.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close(boolean)">
<h3>close</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-501">close</a></span><wbr><span class="parameters">(boolean&nbsp;withDelayedScannersClose)</span></div>
</section>
</li>
<li>
<section class="detail" id="seek(org.apache.hadoop.hbase.ExtendedCell)">
<h3>seek</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-537">seek</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;key)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="KeyValueScanner.html#seek(org.apache.hadoop.hbase.ExtendedCell)">KeyValueScanner</a></code></span></div>
<div class="block">Seek the scanner at or after the specified KeyValue.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="KeyValueScanner.html#seek(org.apache.hadoop.hbase.ExtendedCell)">seek</a></code>&nbsp;in interface&nbsp;<code><a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - seek value</dd>
<dt>Returns:</dt>
<dd>true if scanner has values left, false if end of scanner</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="next(java.util.List,org.apache.hadoop.hbase.regionserver.ScannerContext)">
<h3>next</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-549">next</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;? super <a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&gt;&nbsp;outResult,
<a href="ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</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">Get the next row of values from this Store.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="InternalScanner.html#next(java.util.List,org.apache.hadoop.hbase.regionserver.ScannerContext)">next</a></code>&nbsp;in interface&nbsp;<code><a href="InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a></code></dd>
<dt>Parameters:</dt>
<dd><code>outResult</code> - return output array. We will only add ExtendedCell to this list, but for CP
users, you'd better just use <a href="../RawCell.html" title="interface in org.apache.hadoop.hbase"><code>RawCell</code></a> as
<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase"><code>ExtendedCell</code></a> is IA.Private.</dd>
<dt>Returns:</dt>
<dd>true if there are more rows, false if scanner is done</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="updateMetricsStore(boolean)">
<h3>updateMetricsStore</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-812">updateMetricsStore</a></span><wbr><span class="parameters">(boolean&nbsp;memstoreRead)</span></div>
</section>
</li>
<li>
<section class="detail" id="needToReturn(java.util.List)">
<h3>needToReturn</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="ScannerContext.NextState.html" title="enum class in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-834">needToReturn</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;? super <a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&gt;&nbsp;outResult)</span></div>
<div class="block">If the top cell won't be flushed into disk, the new top cell may be changed after
#reopenAfterFlush. Because the older top cell only exist in the memstore scanner but the
memstore scanner is replaced by hfile scanner after #reopenAfterFlush. If the row of top cell
is changed, we should return the current cells. Otherwise, we may return the cells across
different rows.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>outResult</code> - the cells which are visible for user scan</dd>
<dt>Returns:</dt>
<dd>null is the top cell doesn't change. Otherwise, the NextState to return</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="seekOrSkipToNextRow(org.apache.hadoop.hbase.ExtendedCell)">
<h3>seekOrSkipToNextRow</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-841">seekOrSkipToNextRow</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="seekOrSkipToNextColumn(org.apache.hadoop.hbase.ExtendedCell)">
<h3>seekOrSkipToNextColumn</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-852">seekOrSkipToNextColumn</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="trySkipToNextRow(org.apache.hadoop.hbase.ExtendedCell)">
<h3>trySkipToNextRow</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-909">trySkipToNextRow</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">See if we should actually SEEK or rather just SKIP to the next Cell (see HBASE-13109).
ScanQueryMatcher may issue SEEK hints, such as seek to next column, next row, or seek to an
arbitrary seek key. This method decides whether a seek is the most efficient _actual_ way to
get us to the requested cell (SEEKs are more expensive than SKIP, SKIP, SKIP inside the
current, loaded block). It does this by looking at the next indexed key of the current HFile.
This key is then compared with the _SEEK_ key, where a SEEK key is an artificial 'last possible
key on the row' (only in here, we avoid actually creating a SEEK key; in the compare we work
with the current Cell but compare as though it were a seek key; see down in
matcher.compareKeyForNextRow, etc). If the compare gets us onto the next block we *_SEEK,
otherwise we just SKIP to the next requested cell.
<p>
Other notes:
<ul>
<li>Rows can straddle block boundaries</li>
<li>Versions of columns can straddle block boundaries (i.e. column C1 at T1 might be in a
different block than column C1 at T2)</li>
<li>We want to SKIP if the chance is high that we'll find the desired Cell after a few
SKIPs...</li>
<li>We want to SEEK when the chance is high that we'll be able to seek past many Cells,
especially if we know we need to go to the next block.</li>
</ul>
<p>
A good proxy (best effort) to determine whether SKIP is better than SEEK is whether we'll
likely end up seeking to the next block (or past the next block) to get our next column.
Example:
<pre>
| BLOCK 1 | BLOCK 2 |
| r1/c1, r1/c2, r1/c3 | r1/c4, r1/c5, r2/c1 |
^ ^
| |
Next Index Key SEEK_NEXT_ROW (before r2/c1)
| BLOCK 1 | BLOCK 2 |
| r1/c1/t5, r1/c1/t4, r1/c1/t3 | r1/c1/t2, r1/c1/T1, r1/c2/T3 |
^ ^
| |
Next Index Key SEEK_NEXT_COL
</pre>
Now imagine we want columns c1 and c3 (see first diagram above), the 'Next Index Key' of r1/c4
is > r1/c3 so we should seek to get to the c1 on the next row, r2. In second case, say we only
want one version of c1, after we have it, a SEEK_COL will be issued to get to c2. Looking at
the 'Next Index Key', it would land us in the next block, so we should SEEK. In other scenarios
where the SEEK will not land us in the next block, it is very likely better to issues a series
of SKIPs.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cell</code> - current cell</dd>
<dt>Returns:</dt>
<dd>true means skip to next row, false means not</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="trySkipToNextColumn(org.apache.hadoop.hbase.ExtendedCell)">
<h3>trySkipToNextColumn</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-936">trySkipToNextColumn</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;cell)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">See <a href="#trySkipToNextRow(org.apache.hadoop.hbase.ExtendedCell)"><code>trySkipToNextRow(ExtendedCell)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cell</code> - current cell</dd>
<dt>Returns:</dt>
<dd>true means skip to next column, false means not</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="getReadPoint()">
<h3>getReadPoint</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-966">getReadPoint</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="ChangedReadersObserver.html#getReadPoint()">ChangedReadersObserver</a></code></span></div>
<div class="block">Returns the read point of the current scan</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="ChangedReadersObserver.html#getReadPoint()">getReadPoint</a></code>&nbsp;in interface&nbsp;<code><a href="ChangedReadersObserver.html" title="interface in org.apache.hadoop.hbase.regionserver">ChangedReadersObserver</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clearAndClose(java.util.List)">
<h3>clearAndClose</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-971">clearAndClose</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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners)</span></div>
</section>
</li>
<li>
<section class="detail" id="updateReaders(java.util.List,java.util.List)">
<h3>updateReaders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-982">updateReaders</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;sfs,
<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="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;memStoreScanners)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="ChangedReadersObserver.html#updateReaders(java.util.List,java.util.List)">ChangedReadersObserver</a></code></span></div>
<div class="block">Notify observers. <br/>
NOTE:Before we invoke this method,<a href="HStoreFile.html#increaseRefCount()"><code>HStoreFile.increaseRefCount()</code></a> is invoked for every
<a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HStoreFile</code></a> in 'sfs' input parameter to prevent <a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HStoreFile</code></a> is archived after a
concurrent compaction, and after this method is invoked,<a href="HStoreFile.html#decreaseRefCount()"><code>HStoreFile.decreaseRefCount()</code></a> is
invoked.So if you open the <a href="StoreFileReader.html" title="class in org.apache.hadoop.hbase.regionserver"><code>StoreFileReader</code></a> or <a href="StoreFileScanner.html" title="class in org.apache.hadoop.hbase.regionserver"><code>StoreFileScanner</code></a> asynchronously
in this method,you may need to invoke <a href="HStoreFile.html#increaseRefCount()"><code>HStoreFile.increaseRefCount()</code></a> or
<a href="HStoreFile.html#decreaseRefCount()"><code>HStoreFile.decreaseRefCount()</code></a> by yourself to prevent the <a href="HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HStoreFile</code></a>s be archived.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="ChangedReadersObserver.html#updateReaders(java.util.List,java.util.List)">updateReaders</a></code>&nbsp;in interface&nbsp;<code><a href="ChangedReadersObserver.html" title="interface in org.apache.hadoop.hbase.regionserver">ChangedReadersObserver</a></code></dd>
<dt>Parameters:</dt>
<dd><code>sfs</code> - The new files</dd>
<dd><code>memStoreScanners</code> - scanner of current memstore</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> - e</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="reopenAfterFlush()">
<h3>reopenAfterFlush</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1036">reopenAfterFlush</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">Returns if top of heap has changed (and KeyValueHeap has to try the next KV)</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="resetQueryMatcher(org.apache.hadoop.hbase.ExtendedCell)">
<h3>resetQueryMatcher</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1083">resetQueryMatcher</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;lastTopKey)</span></div>
</section>
</li>
<li>
<section class="detail" id="checkScanOrder(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.CellComparator)">
<h3>checkScanOrder</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1101">checkScanOrder</a></span><wbr><span class="parameters">(<a href="../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;prevKV,
<a href="../Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv,
<a href="../CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</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">Check whether scan as expected order</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="seekToNextRow(org.apache.hadoop.hbase.ExtendedCell)">
<h3>seekToNextRow</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1108">seekToNextRow</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;c)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="seekAsDirection(org.apache.hadoop.hbase.ExtendedCell)">
<h3>seekAsDirection</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1116">seekAsDirection</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;kv)</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">Do a reseek in a normal StoreScanner(scan forward)</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if scanner has values left, false if end of scanner</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="reseek(org.apache.hadoop.hbase.ExtendedCell)">
<h3>reseek</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1120">reseek</a></span><wbr><span class="parameters">(<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;kv)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="KeyValueScanner.html#reseek(org.apache.hadoop.hbase.ExtendedCell)">KeyValueScanner</a></code></span></div>
<div class="block">Reseek the scanner at or after the specified KeyValue. This method is guaranteed to seek at or
after the required key only if the key comes after the current position of the scanner. Should
not be used to seek to a key which may come before the current position.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="KeyValueScanner.html#reseek(org.apache.hadoop.hbase.ExtendedCell)">reseek</a></code>&nbsp;in interface&nbsp;<code><a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></code></dd>
<dt>Parameters:</dt>
<dd><code>kv</code> - seek value (should be non-null)</dd>
<dt>Returns:</dt>
<dd>true if scanner has values left, false if end of scanner</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="trySwitchToStreamRead()">
<h3>trySwitchToStreamRead</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/StoreScanner.html#line-1131">trySwitchToStreamRead</a></span>()</div>
</section>
</li>
<li>
<section class="detail" id="checkFlushed()">
<h3>checkFlushed</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1183">checkFlushed</a></span>()</div>
</section>
</li>
<li>
<section class="detail" id="parallelSeek(java.util.List,org.apache.hadoop.hbase.ExtendedCell)">
<h3>parallelSeek</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1207">parallelSeek</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;? extends <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
<a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a>&nbsp;kv)</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">Seek storefiles in parallel to optimize IO latency as much as possible</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>scanners</code> - the list <a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>KeyValueScanner</code></a>s to be read from</dd>
<dd><code>kv</code> - the KeyValue on which the operation is being requested</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="getAllScannersForTesting()">
<h3>getAllScannersForTesting</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/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1241">getAllScannersForTesting</a></span>()</div>
<div class="block">Used in testing.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>all scanners in no particular order</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="enableLazySeekGlobally(boolean)">
<h3>enableLazySeekGlobally</h3>
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1250">enableLazySeekGlobally</a></span><wbr><span class="parameters">(boolean&nbsp;enable)</span></div>
</section>
</li>
<li>
<section class="detail" id="getEstimatedNumberOfKvsScanned()">
<h3>getEstimatedNumberOfKvsScanned</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1255">getEstimatedNumberOfKvsScanned</a></span>()</div>
<div class="block">Returns The estimated number of KVs seen by this scanner (includes some skipped KVs).</div>
</section>
</li>
<li>
<section class="detail" id="getNextIndexedKey()">
<h3>getNextIndexedKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../ExtendedCell.html" title="interface in org.apache.hadoop.hbase">ExtendedCell</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1259">getNextIndexedKey</a></span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="KeyValueScanner.html#getNextIndexedKey()">getNextIndexedKey</a></code>&nbsp;in interface&nbsp;<code><a href="KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="NonLazyKeyValueScanner.html#getNextIndexedKey()">getNextIndexedKey</a></code>&nbsp;in class&nbsp;<code><a href="NonLazyKeyValueScanner.html" title="class in org.apache.hadoop.hbase.regionserver">NonLazyKeyValueScanner</a></code></dd>
<dt>Returns:</dt>
<dd>the next key in the index, usually the first key of next block OR a key that falls
between last key of current block and first key of next block.. see
HFileWriterImpl#getMidpoint, or null if not known.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="shipped()">
<h3>shipped</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreScanner.html#line-1264">shipped</a></span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Shipper.html#shipped()">Shipper</a></code></span></div>
<div class="block">Called after a batch of rows scanned and set to be returned to client. Any in between cleanup
can be done here.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Shipper.html#shipped()">shipped</a></code>&nbsp;in interface&nbsp;<code><a href="Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="NonLazyKeyValueScanner.html#shipped()">shipped</a></code>&nbsp;in class&nbsp;<code><a href="NonLazyKeyValueScanner.html" title="class in org.apache.hadoop.hbase.regionserver">NonLazyKeyValueScanner</a></code></dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
</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>