blob: b84d5483f344ccee89a8045e6c30e0d0799ec769 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>RegionCoprocessorEnvironment (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.coprocessor, interface: RegionCoprocessorEnvironment">
<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/RegionCoprocessorEnvironment.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.hadoop.hbase.coprocessor</a></div>
<h1 title="Interface RegionCoprocessorEnvironment" class="title">Interface RegionCoprocessorEnvironment</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="../CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&lt;<a href="RegionCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessor</a>&gt;</code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../regionserver/RegionCoprocessorHost.RegionEnvironment.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost.RegionEnvironment</a></code>, <code><a href="../regionserver/RegionCoprocessorHost.RegionEnvironmentForCoreCoprocessors.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost.RegionEnvironmentForCoreCoprocessors</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@LimitedPrivate("Coprocesssor")
@Evolving
</span><span class="modifiers">public interface </span><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-39">RegionCoprocessorEnvironment</a></span><span class="extends-implements">
extends <a href="../CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&lt;<a href="RegionCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessor</a>&gt;</span></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#checkBatchQuota(org.apache.hadoop.hbase.regionserver.Region,int,int)" class="member-name-link">checkBatchQuota</a><wbr>(<a href="../regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
int&nbsp;numWrites,
int&nbsp;numReads)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Check the quota for the current (rpc-context) user.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#checkBatchQuota(org.apache.hadoop.hbase.regionserver.Region,org.apache.hadoop.hbase.quotas.OperationQuota.OperationType)" class="member-name-link">checkBatchQuota</a><wbr>(<a href="../regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
<a href="../quotas/OperationQuota.OperationType.html" title="enum class in org.apache.hadoop.hbase.quotas">OperationQuota.OperationType</a>&nbsp;type)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Check the quota for the current (rpc-context) user.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#checkScanQuota(org.apache.hadoop.hbase.client.Scan,long,long)" class="member-name-link">checkScanQuota</a><wbr>(<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
long&nbsp;maxBlockBytesScanned,
long&nbsp;prevBlockBytesScannedDifference)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Check the quota for the current (rpc-context) user.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#createConnection(org.apache.hadoop.conf.Configuration)" class="member-name-link">createConnection</a><wbr>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Creates a cluster connection using the passed Configuration.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../RawCellBuilder.html" title="interface in org.apache.hadoop.hbase">RawCellBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCellBuilder()" class="member-name-link">getCellBuilder</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns a CellBuilder so that coprocessors can build cells.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getConnection()" class="member-name-link">getConnection</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the hosts' Connection to the Cluster.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMetricRegistryForRegionServer()" class="member-name-link">getMetricRegistryForRegionServer</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns a MetricRegistry that can be used to track metrics at the region server level.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../regionserver/OnlineRegions.html" title="interface in org.apache.hadoop.hbase.regionserver">OnlineRegions</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getOnlineRegions()" class="member-name-link">getOnlineRegions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns Interface to Map of regions online on this RegionServer <a href="#getServerName()"><code>getServerName()</code></a>}.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRegion()" class="member-name-link">getRegion</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the region associated with this coprocessor</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRegionInfo()" class="member-name-link">getRegionInfo</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns region information for the region this coprocessor is running on</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../quotas/RpcQuotaManager.html" title="interface in org.apache.hadoop.hbase.quotas">RpcQuotaManager</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRpcQuotaManager()" class="member-name-link">getRpcQuotaManager</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns an RpcQuotaManager that can be used to apply quota checks against the workloads
generated by the coprocessor.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getServerName()" class="member-name-link">getServerName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns Hosting Server's ServerName</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/ConcurrentMap.html" title="class or interface in java.util.concurrent" class="external-link">ConcurrentMap</a>&lt;<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>,<wbr><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>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSharedData()" class="member-name-link">getSharedData</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns shared data between all instances of this coprocessor</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.CoprocessorEnvironment">Methods inherited from interface&nbsp;org.apache.hadoop.hbase.<a href="../CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a></h3>
<code><a href="../CoprocessorEnvironment.html#getClassLoader()">getClassLoader</a>, <a href="../CoprocessorEnvironment.html#getConfiguration()">getConfiguration</a>, <a href="../CoprocessorEnvironment.html#getHBaseVersion()">getHBaseVersion</a>, <a href="../CoprocessorEnvironment.html#getInstance()">getInstance</a>, <a href="../CoprocessorEnvironment.html#getLoadSequence()">getLoadSequence</a>, <a href="../CoprocessorEnvironment.html#getPriority()">getPriority</a>, <a href="../CoprocessorEnvironment.html#getVersion()">getVersion</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getRegion()">
<h3>getRegion</h3>
<div class="member-signature"><span class="return-type"><a href="../regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-43">getRegion</a></span>()</div>
<div class="block">Returns the region associated with this coprocessor</div>
</section>
</li>
<li>
<section class="detail" id="getRegionInfo()">
<h3>getRegionInfo</h3>
<div class="member-signature"><span class="return-type"><a href="../client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-46">getRegionInfo</a></span>()</div>
<div class="block">Returns region information for the region this coprocessor is running on</div>
</section>
</li>
<li>
<section class="detail" id="getOnlineRegions()">
<h3>getOnlineRegions</h3>
<div class="member-signature"><span class="return-type"><a href="../regionserver/OnlineRegions.html" title="interface in org.apache.hadoop.hbase.regionserver">OnlineRegions</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-49">getOnlineRegions</a></span>()</div>
<div class="block">Returns Interface to Map of regions online on this RegionServer <a href="#getServerName()"><code>getServerName()</code></a>}.</div>
</section>
</li>
<li>
<section class="detail" id="getSharedData()">
<h3>getSharedData</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/concurrent/ConcurrentMap.html" title="class or interface in java.util.concurrent" class="external-link">ConcurrentMap</a>&lt;<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>,<wbr><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>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-52">getSharedData</a></span>()</div>
<div class="block">Returns shared data between all instances of this coprocessor</div>
</section>
</li>
<li>
<section class="detail" id="getServerName()">
<h3>getServerName</h3>
<div class="member-signature"><span class="return-type"><a href="../ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-55">getServerName</a></span>()</div>
<div class="block">Returns Hosting Server's ServerName</div>
</section>
</li>
<li>
<section class="detail" id="getConnection()">
<h3>getConnection</h3>
<div class="member-signature"><span class="return-type"><a href="../client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-80">getConnection</a></span>()</div>
<div class="block">Returns the hosts' Connection to the Cluster. <b>Do not close! This is a shared connection with
the hosting server. Throws <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link"><code>UnsupportedOperationException</code></a> if you try to close or abort
it</b>. For light-weight usage only. Heavy-duty usage will pull down the hosting RegionServer
responsiveness as well as that of other Coprocessors making use of this Connection. Use to
create table on start or to do administrative operations. Coprocessors should create their own
Connections if heavy usage to avoid impinging on hosting Server operation. To create a
Connection or if a Coprocessor requires a region with a particular Configuration, use
<a href="../client/ConnectionFactory.html" title="class in org.apache.hadoop.hbase.client"><code>ConnectionFactory</code></a> or
<a href="#createConnection(org.apache.hadoop.conf.Configuration)"><code>createConnection(Configuration)</code></a>}.
<p>
Be aware that operations that make use of this Connection are executed as the RegionServer
User, the hbase super user that started this server process. Exercise caution running
operations as this User (See <a href="#createConnection(org.apache.hadoop.conf.Configuration)"><code>createConnection(Configuration)</code></a>} to run as other than the
RegionServer User).
<p>
Be careful RPC'ing from a Coprocessor context. RPC's will fail, stall, retry, and/or crawl
because the remote side is not online, is struggling or it is on the other side of a network
partition. Any use of Connection from inside a Coprocessor must be able to handle all such
hiccups.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The host's Connection to the Cluster.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#createConnection(org.apache.hadoop.conf.Configuration)"><code>createConnection(Configuration)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createConnection(org.apache.hadoop.conf.Configuration)">
<h3>createConnection</h3>
<div class="member-signature"><span class="return-type"><a href="../client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-101">createConnection</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration&nbsp;conf)</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">Creates a cluster connection using the passed Configuration. Creating a Connection is a
heavy-weight operation. The resultant Connection's cache of region locations will be empty.
Therefore you should cache and reuse Connections rather than create a Connection on demand.
Create on start of your Coprocessor. You will have to cast the CoprocessorEnvironment
appropriately to get at this API at start time because Coprocessor start method is passed a
subclass of this CoprocessorEnvironment or fetch Connection using a synchronized accessor
initializing the Connection on first access. Close the returned Connection when done to free
resources. Using this API rather than
<a href="../client/ConnectionFactory.html#createConnection(org.apache.hadoop.conf.Configuration)"><code>ConnectionFactory.createConnection(Configuration)</code></a>
returns a Connection that will short-circuit RPC if the target is a local resource. Use
ConnectionFactory if you don't need this ability.
<p>
Be careful RPC'ing from a Coprocessor context. RPC's will fail, stall, retry, and/or crawl
because the remote side is not online, is struggling or it is on the other side of a network
partition. Any use of Connection from inside a Coprocessor must be able to handle all such
hiccups.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Connection created using the passed conf.</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="getMetricRegistryForRegionServer()">
<h3>getMetricRegistryForRegionServer</h3>
<div class="member-signature"><span class="return-type"><a href="../metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-119">getMetricRegistryForRegionServer</a></span>()</div>
<div class="block">Returns a MetricRegistry that can be used to track metrics at the region server level. All
metrics tracked at this level will be shared by all the coprocessor instances of the same class
in the same region server process. Note that there will be one region coprocessor environment
per region in the server, but all of these instances will share the same MetricRegistry. The
metric instances (like Counter, Timer, etc) will also be shared among all of the region
coprocessor instances.
<p>
See ExampleRegionObserverWithMetrics class in the hbase-examples modules to see examples of how
metrics can be instantiated and used.
</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>A MetricRegistry for the coprocessor class to track and export metrics.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCellBuilder()">
<h3>getCellBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="../RawCellBuilder.html" title="interface in org.apache.hadoop.hbase">RawCellBuilder</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-126">getCellBuilder</a></span>()</div>
<div class="block">Returns a CellBuilder so that coprocessors can build cells. These cells can also include tags.
Note that this builder does not support updating seqId of the cells</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the RawCellBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRpcQuotaManager()">
<h3>getRpcQuotaManager</h3>
<div class="member-signature"><span class="return-type"><a href="../quotas/RpcQuotaManager.html" title="interface in org.apache.hadoop.hbase.quotas">RpcQuotaManager</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-133">getRpcQuotaManager</a></span>()</div>
<div class="block">Returns an RpcQuotaManager that can be used to apply quota checks against the workloads
generated by the coprocessor.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the RpcQuotaManager</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="checkScanQuota(org.apache.hadoop.hbase.client.Scan,long,long)">
<h3>checkScanQuota</h3>
<div class="member-signature"><span class="return-type"><a href="../quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-146">checkScanQuota</a></span><wbr><span class="parameters">(<a href="../client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
long&nbsp;maxBlockBytesScanned,
long&nbsp;prevBlockBytesScannedDifference)</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>,
<a href="../quotas/RpcThrottlingException.html" title="class in org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></span></div>
<div class="block">Check the quota for the current (rpc-context) user. Returns the OperationQuota used to get the
available quota and to report the data/usage of the operation.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>scan</code> - the scan to be estimated against the quota</dd>
<dd><code>maxBlockBytesScanned</code> - the maximum bytes scanned in a single RPC call by the
scanner</dd>
<dd><code>prevBlockBytesScannedDifference</code> - the difference between BBS of the previous two next
calls</dd>
<dt>Returns:</dt>
<dd>the OperationQuota</dd>
<dt>Throws:</dt>
<dd><code><a href="../quotas/RpcThrottlingException.html" title="class in org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></code> - if the operation cannot be executed due to quota exceeded.</dd>
<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="checkBatchQuota(org.apache.hadoop.hbase.regionserver.Region,org.apache.hadoop.hbase.quotas.OperationQuota.OperationType)">
<h3>checkBatchQuota</h3>
<div class="member-signature"><span class="return-type"><a href="../quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-159">checkBatchQuota</a></span><wbr><span class="parameters">(<a href="../regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
<a href="../quotas/OperationQuota.OperationType.html" title="enum class in org.apache.hadoop.hbase.quotas">OperationQuota.OperationType</a>&nbsp;type)</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>,
<a href="../quotas/RpcThrottlingException.html" title="class in org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></span></div>
<div class="block">Check the quota for the current (rpc-context) user. Returns the OperationQuota used to get the
available quota and to report the data/usage of the operation. This method does not support
scans because estimating a scan's workload is more complicated than estimating the workload of
a get/put.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>region</code> - the region where the operation will be performed</dd>
<dd><code>type</code> - the operation type</dd>
<dt>Returns:</dt>
<dd>the OperationQuota</dd>
<dt>Throws:</dt>
<dd><code><a href="../quotas/RpcThrottlingException.html" title="class in org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></code> - if the operation cannot be executed due to quota exceeded.</dd>
<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="checkBatchQuota(org.apache.hadoop.hbase.regionserver.Region,int,int)">
<h3>checkBatchQuota</h3>
<div class="member-signature"><span class="return-type"><a href="../quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html#line-173">checkBatchQuota</a></span><wbr><span class="parameters">(<a href="../regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
int&nbsp;numWrites,
int&nbsp;numReads)</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>,
<a href="../quotas/RpcThrottlingException.html" title="class in org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></span></div>
<div class="block">Check the quota for the current (rpc-context) user. Returns the OperationQuota used to get the
available quota and to report the data/usage of the operation. This method does not support
scans because estimating a scan's workload is more complicated than estimating the workload of
a get/put.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>region</code> - the region where the operation will be performed</dd>
<dd><code>numWrites</code> - number of writes to count against quota</dd>
<dd><code>numReads</code> - number of reads to count against quota</dd>
<dt>Returns:</dt>
<dd>the OperationQuota</dd>
<dt>Throws:</dt>
<dd><code><a href="../quotas/RpcThrottlingException.html" title="class in org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></code> - if the operation cannot be executed due to quota exceeded.</dd>
<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>