blob: 8cb1e0257c0668a33b6066a767b65f11831880e6 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ScannerContext (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ScannerContext (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":9,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ScannerContext.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/ScannerContext.html" target="_top">Frames</a></li>
<li><a href="ScannerContext.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.regionserver</div>
<h2 title="Class ScannerContext" class="title">Class ScannerContext</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.regionserver.ScannerContext</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/NoLimitScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">NoLimitScannerContext</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.LimitedPrivate(value="Coprocesssor")
@InterfaceStability.Evolving
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.53">ScannerContext</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">ScannerContext instances encapsulate limit tracking AND progress towards those limits during
invocations of <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> and
<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a>.
<p>
A ScannerContext instance should be updated periodically throughout execution whenever progress
towards a limit has been made. Each limit can be checked via the appropriate checkLimit method.
<p>
Once a limit has been reached, the scan will stop. The invoker of
<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> or <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> can
use the appropriate check*Limit methods to see exactly which limits have been reached.
Alternatively, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#checkAnyLimitReached-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-"><code>checkAnyLimitReached(LimitScope)</code></a> is provided to see if ANY limit was
reached
<p>
<a href="../../../../../org/apache/hadoop/hbase/regionserver/NoLimitScannerContext.html#NO_LIMIT"><code>NoLimitScannerContext.NO_LIMIT</code></a> is an immutable static definition that can be used
whenever a <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver"><code>ScannerContext</code></a> is needed but limits do not need to be enforced.
<p>
NOTE: It is important that this class only ever expose setter methods that can be safely skipped
when limits should be NOT enforced. This is because of the necessary immutability of the class
<a href="../../../../../org/apache/hadoop/hbase/regionserver/NoLimitScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver"><code>NoLimitScannerContext</code></a>. If a setter cannot be safely skipped, the immutable nature of
<a href="../../../../../org/apache/hadoop/hbase/regionserver/NoLimitScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver"><code>NoLimitScannerContext</code></a> will lead to incorrect behavior.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.Builder</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitFields</a></span></code>
<div class="block">The different fields that can be used as limits in calls to
<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> and <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a></span></code>
<div class="block">The various scopes where a limit can be enforced.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a></span></code>
<div class="block">The possible states a scanner may be in following a call to <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(List)</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.ProgressFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.ProgressFields</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#DEFAULT_KEEP_PROGRESS">DEFAULT_KEEP_PROGRESS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#DEFAULT_STATE">DEFAULT_STATE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#keepProgress">keepProgress</a></span></code>
<div class="block">Used as an indication to invocations of <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> and
<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> that, if true, the progress tracked within this
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver"><code>ScannerContext</code></a> instance should be considered while evaluating the limits.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#lastPeekedCell">lastPeekedCell</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitFields</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#limits">limits</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/client/metrics/ServerSideScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ServerSideScanMetrics</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#metrics">metrics</a></span></code>
<div class="block">Tracks the relevant server side metrics during scans.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.ProgressFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.ProgressFields</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#progress">progress</a></span></code>
<div class="block">A different set of progress fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#returnImmediately">returnImmediately</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#scannerState">scannerState</a></span></code>
<div class="block">The state of the scanner after the invocation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a>
or <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#ScannerContext-boolean-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitFields-boolean-">ScannerContext</a></span>(boolean&nbsp;keepProgress,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitFields</a>&nbsp;limitsToCopy,
boolean&nbsp;trackMetrics)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#checkAnyLimitReached-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">checkAnyLimitReached</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#checkBatchLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">checkBatchLimit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#checkSizeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">checkSizeLimit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#checkTimeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">checkTimeLimit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#clearProgress--">clearProgress</a></span>()</code>
<div class="block">Clear away any progress that has been made so far.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getBatchLimit--">getBatchLimit</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getBatchProgress--">getBatchProgress</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getDataSizeLimit--">getDataSizeLimit</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getDataSizeProgress--">getDataSizeProgress</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getHeapSizeProgress--">getHeapSizeProgress</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getKeepProgress--">getKeepProgress</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getLastPeekedCell--">getLastPeekedCell</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/metrics/ServerSideScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ServerSideScanMetrics</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getMetrics--">getMetrics</a></span>()</code>
<div class="block">Get the metrics instance.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#getTimeLimit--">getTimeLimit</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#hasAnyLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">hasAnyLimit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#hasBatchLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">hasBatchLimit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#hasSizeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">hasSizeLimit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#hasTimeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">hasTimeLimit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#incrementBatchProgress-int-">incrementBatchProgress</a></span>(int&nbsp;batch)</code>
<div class="block">Progress towards the batch limit has been made.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#incrementSizeProgress-long-long-">incrementSizeProgress</a></span>(long&nbsp;dataSize,
long&nbsp;heapSize)</code>
<div class="block">Progress towards the size limit has been made.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#isTrackingMetrics--">isTrackingMetrics</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#mayHaveMoreCellsInRow--">mayHaveMoreCellsInRow</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#newBuilder--">newBuilder</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#newBuilder-boolean-">newBuilder</a></span>(boolean&nbsp;keepProgress)</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#returnImmediately--">returnImmediately</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#setBatchProgress-int-">setBatchProgress</a></span>(int&nbsp;batchProgress)</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#setKeepProgress-boolean-">setKeepProgress</a></span>(boolean&nbsp;keepProgress)</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#setLastPeekedCell-org.apache.hadoop.hbase.Cell-">setLastPeekedCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;lastPeekedCell)</code>&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#setProgress-int-long-long-">setProgress</a></span>(int&nbsp;batchProgress,
long&nbsp;sizeProgress,
long&nbsp;heapSizeProgress)</code>&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#setScannerState-org.apache.hadoop.hbase.regionserver.ScannerContext.NextState-">setScannerState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a>&nbsp;state)</code>
<div class="block">Note that this is not a typical setter.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#setSizeLimitScope-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">setSizeLimitScope</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;scope)</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#setSizeProgress-long-long-">setSizeProgress</a></span>(long&nbsp;dataSizeProgress,
long&nbsp;heapSizeProgress)</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#setTimeLimitScope-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">setTimeLimitScope</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;scope)</code>&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="limits">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>limits</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitFields</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.55">limits</a></pre>
</li>
</ul>
<a name="progress">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>progress</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.ProgressFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.ProgressFields</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.61">progress</a></pre>
<div class="block">A different set of progress fields. Only include batch, dataSize and heapSize. Compare to
LimitFields, ProgressFields doesn't contain time field. As we save a deadline in LimitFields,
so use <code>EnvironmentEdgeManager.currentTime()</code> directly when check time limit.</div>
</li>
</ul>
<a name="scannerState">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scannerState</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.67">scannerState</a></pre>
<div class="block">The state of the scanner after the invocation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a>
or <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a>.</div>
</li>
</ul>
<a name="DEFAULT_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_STATE</h4>
<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.68">DEFAULT_STATE</a></pre>
</li>
</ul>
<a name="keepProgress">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keepProgress</h4>
<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.98">keepProgress</a></pre>
<div class="block">Used as an indication to invocations of <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> and
<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> that, if true, the progress tracked within this
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver"><code>ScannerContext</code></a> instance should be considered while evaluating the limits. Useful for
enforcing a set of limits across multiple calls (i.e. the limit may not be reached in a single
invocation, but any progress made should be considered in future invocations)
<p>
Defaulting this value to false means that, by default, any tracked progress will be wiped clean
on invocations to <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> and
<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> and the call will be treated as though no progress
has been made towards the limits so far.
<p>
This is an important mechanism. Users of Internal/Region scanners expect that they can define
some limits and then repeatedly invoke <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(List)</code></a> or
<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(List)</code></a> where each invocation respects these limits separately.
<p>
For example: <pre> <code>
ScannerContext context = new ScannerContext.newBuilder().setBatchLimit(5).build();
RegionScanner scanner = ...
List&lt;Cell&gt; results = new ArrayList&lt;Cell&gt;();
while(scanner.next(results, context)) {
// Do something with a batch of 5 cells
}
</code></pre> However, in the case of RPCs, the server wants to be able to define a set of
limits for a particular RPC request and have those limits respected across multiple
invocations. This means that the progress made towards the limits in earlier calls will be
saved and considered in future invocations</div>
</li>
</ul>
<a name="DEFAULT_KEEP_PROGRESS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_KEEP_PROGRESS</h4>
<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.99">DEFAULT_KEEP_PROGRESS</a></pre>
</li>
</ul>
<a name="lastPeekedCell">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastPeekedCell</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.101">lastPeekedCell</a></pre>
</li>
</ul>
<a name="returnImmediately">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>returnImmediately</h4>
<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.107">returnImmediately</a></pre>
</li>
</ul>
<a name="metrics">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>metrics</h4>
<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ServerSideScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ServerSideScanMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.112">metrics</a></pre>
<div class="block">Tracks the relevant server side metrics during scans. null when metrics should not be tracked</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ScannerContext-boolean-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitFields-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ScannerContext</h4>
<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.114">ScannerContext</a>(boolean&nbsp;keepProgress,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitFields</a>&nbsp;limitsToCopy,
boolean&nbsp;trackMetrics)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isTrackingMetrics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTrackingMetrics</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.128">isTrackingMetrics</a>()</pre>
</li>
</ul>
<a name="getMetrics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetrics</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ServerSideScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ServerSideScanMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.137">getMetrics</a>()</pre>
<div class="block">Get the metrics instance. Should only be called after a call to <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#isTrackingMetrics--"><code>isTrackingMetrics()</code></a>
has been made to confirm that metrics are indeed being tracked.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/client/metrics/ServerSideScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics"><code>ServerSideScanMetrics</code></a> instance that is tracking metrics for this scan</dd>
</dl>
</li>
</ul>
<a name="getKeepProgress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeepProgress</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.148">getKeepProgress</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the progress tracked so far in this instance will be considered during an
invocation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> or
<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a>. false when the progress tracked so far
should not be considered and should instead be wiped away via <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html#clearProgress--"><code>clearProgress()</code></a></dd>
</dl>
</li>
</ul>
<a name="setKeepProgress-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKeepProgress</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.152">setKeepProgress</a>(boolean&nbsp;keepProgress)</pre>
</li>
</ul>
<a name="incrementBatchProgress-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementBatchProgress</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.159">incrementBatchProgress</a>(int&nbsp;batch)</pre>
<div class="block">Progress towards the batch limit has been made. Increment internal tracking of batch progress</div>
</li>
</ul>
<a name="incrementSizeProgress-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementSizeProgress</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.167">incrementSizeProgress</a>(long&nbsp;dataSize,
long&nbsp;heapSize)</pre>
<div class="block">Progress towards the size limit has been made. Increment internal tracking of size progress</div>
</li>
</ul>
<a name="getBatchProgress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBatchProgress</h4>
<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.174">getBatchProgress</a>()</pre>
</li>
</ul>
<a name="getDataSizeProgress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataSizeProgress</h4>
<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.178">getDataSizeProgress</a>()</pre>
</li>
</ul>
<a name="getHeapSizeProgress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeapSizeProgress</h4>
<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.182">getHeapSizeProgress</a>()</pre>
</li>
</ul>
<a name="setProgress-int-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProgress</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.186">setProgress</a>(int&nbsp;batchProgress,
long&nbsp;sizeProgress,
long&nbsp;heapSizeProgress)</pre>
</li>
</ul>
<a name="setSizeProgress-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSizeProgress</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.191">setSizeProgress</a>(long&nbsp;dataSizeProgress,
long&nbsp;heapSizeProgress)</pre>
</li>
</ul>
<a name="setBatchProgress-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBatchProgress</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.196">setBatchProgress</a>(int&nbsp;batchProgress)</pre>
</li>
</ul>
<a name="clearProgress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearProgress</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.204">clearProgress</a>()</pre>
<div class="block">Clear away any progress that has been made so far. All progress fields are reset to initial
values</div>
</li>
</ul>
<a name="setScannerState-org.apache.hadoop.hbase.regionserver.ScannerContext.NextState-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setScannerState</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.216">setScannerState</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a>&nbsp;state)</pre>
<div class="block">Note that this is not a typical setter. This setter returns the <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><code>ScannerContext.NextState</code></a> that was
passed in so that methods can be invoked against the new state. Furthermore, this pattern
allows the <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoLimitScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver"><code>NoLimitScannerContext</code></a> to cleanly override this setter and simply return the
new state, thus preserving the immutability of <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoLimitScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver"><code>NoLimitScannerContext</code></a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>state</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The state that was passed in.</dd>
</dl>
</li>
</ul>
<a name="mayHaveMoreCellsInRow--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mayHaveMoreCellsInRow</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.229">mayHaveMoreCellsInRow</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true when we have more cells for the current row. This usually because we have reached
a limit in the middle of a row</dd>
</dl>
</li>
</ul>
<a name="hasBatchLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasBatchLimit</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.239">hasBatchLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checkerScope</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the batch limit can be enforced in the checker's scope</dd>
</dl>
</li>
</ul>
<a name="hasSizeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasSizeLimit</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.247">hasSizeLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checkerScope</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the size limit can be enforced in the checker's scope</dd>
</dl>
</li>
</ul>
<a name="hasTimeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasTimeLimit</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.256">hasTimeLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checkerScope</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the time limit can be enforced in the checker's scope</dd>
</dl>
</li>
</ul>
<a name="hasAnyLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasAnyLimit</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.265">hasAnyLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checkerScope</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if any limit can be enforced within the checker's scope</dd>
</dl>
</li>
</ul>
<a name="setSizeLimitScope-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSizeLimitScope</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.272">setSizeLimitScope</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;scope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scope</code> - The scope in which the size limit will be enforced</dd>
</dl>
</li>
</ul>
<a name="setTimeLimitScope-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeLimitScope</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.279">setTimeLimitScope</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;scope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scope</code> - The scope in which the time limit will be enforced</dd>
</dl>
</li>
</ul>
<a name="getBatchLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBatchLimit</h4>
<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.283">getBatchLimit</a>()</pre>
</li>
</ul>
<a name="getDataSizeLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataSizeLimit</h4>
<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.287">getDataSizeLimit</a>()</pre>
</li>
</ul>
<a name="getTimeLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimeLimit</h4>
<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.291">getTimeLimit</a>()</pre>
</li>
</ul>
<a name="checkBatchLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkBatchLimit</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.299">checkBatchLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checkerScope</code> - The scope that the limit is being checked from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true when the limit is enforceable from the checker's scope and it has been reached</dd>
</dl>
</li>
</ul>
<a name="checkSizeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSizeLimit</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.307">checkSizeLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checkerScope</code> - The scope that the limit is being checked from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true when the limit is enforceable from the checker's scope and it has been reached</dd>
</dl>
</li>
</ul>
<a name="checkTimeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkTimeLimit</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.317">checkTimeLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checkerScope</code> - The scope that the limit is being checked from. The time limit is always
checked against <code>EnvironmentEdgeManager.currentTime</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true when the limit is enforceable from the checker's scope and it has been reached</dd>
</dl>
</li>
</ul>
<a name="checkAnyLimitReached-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAnyLimitReached</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.326">checkAnyLimitReached</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;checkerScope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checkerScope</code> - The scope that the limits are being checked from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true when some limit is enforceable from the checker's scope and it has been reached</dd>
</dl>
</li>
</ul>
<a name="getLastPeekedCell--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastPeekedCell</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.331">getLastPeekedCell</a>()</pre>
</li>
</ul>
<a name="setLastPeekedCell-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLastPeekedCell</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.335">setLastPeekedCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;lastPeekedCell)</pre>
</li>
</ul>
<a name="returnImmediately--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>returnImmediately</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.339">returnImmediately</a>()</pre>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.344">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="newBuilder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newBuilder</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.Builder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.364">newBuilder</a>()</pre>
</li>
</ul>
<a name="newBuilder-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>newBuilder</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.Builder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.html#line.368">newBuilder</a>(boolean&nbsp;keepProgress)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ScannerContext.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/ScannerContext.html" target="_top">Frames</a></li>
<li><a href="ScannerContext.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>