blob: 85672256b071ad93ddc0321a3df52fef28938237 [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>CoprocessorHost (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="CoprocessorHost (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":6,"i3":10,"i4":6,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/CoprocessorHost.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/coprocessor/CoprocessorException.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" target="_top">Frames</a></li>
<li><a href="CoprocessorHost.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.coprocessor</div>
<h2 title="Class CoprocessorHost" class="title">Class CoprocessorHost&lt;C extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title="interface in org.apache.hadoop.hbase">Coprocessor</a>,E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&lt;C&gt;&gt;</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.coprocessor.CoprocessorHost&lt;C,E&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>C</code> - type of specific coprocessor this host will handle</dd>
<dd><code>E</code> - type of specific coprocessor environment this host requires.
provides</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.58">CoprocessorHost</a>&lt;C extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title="interface in org.apache.hadoop.hbase">Coprocessor</a>,E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&lt;C&gt;&gt;
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">Provides the common setup framework and runtime services for coprocessor
invocation from HBase services.</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>(package private) static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.EnvironmentPriorityComparator</a></span></code>
<div class="block">Environment priority comparator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="type parameter in CoprocessorHost.ObserverGetter">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="type parameter in CoprocessorHost.ObserverGetter">O</a>&gt;</span></code>
<div class="block">Implementations defined function to get an observer of type <code>O</code> from a coprocessor of
type <code>C</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="type parameter in CoprocessorHost.ObserverOperation">O</a>&gt;</span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperationWithoutResult</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&gt;</span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperationWithResult</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&gt;</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>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#ABORT_ON_ERROR_KEY">ABORT_ON_ERROR_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#abortable">abortable</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#conf">conf</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/util/SortedList.html" title="class in org.apache.hadoop.hbase.util">SortedList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#coprocEnvironments">coprocEnvironments</a></span></code>
<div class="block">Ordered set of loaded coprocessors with lock</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#coprocessorNames">coprocessorNames</a></span></code>
<div class="block">Not to be confused with the per-object _coprocessors_ (above),
coprocessorNames is static and stores the set of all coprocessors ever
loaded by any thread in this JVM.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#COPROCESSORS_ENABLED_CONF_KEY">COPROCESSORS_ENABLED_CONF_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#DEFAULT_ABORT_ON_ERROR">DEFAULT_ABORT_ON_ERROR</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#DEFAULT_COPROCESSORS_ENABLED">DEFAULT_COPROCESSORS_ENABLED</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#DEFAULT_SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR">DEFAULT_SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#DEFAULT_USER_COPROCESSORS_ENABLED">DEFAULT_USER_COPROCESSORS_ENABLED</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title="interface in org.apache.hadoop.hbase">Coprocessor</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#legacyWarning">legacyWarning</a></span></code>
<div class="block">Used to limit legacy handling to once per Coprocessor class per classloader.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#loadSequence">loadSequence</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#MASTER_COPROCESSOR_CONF_KEY">MASTER_COPROCESSOR_CONF_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <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/coprocessor/CoprocessorHost.html#pathPrefix">pathPrefix</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#REGION_COPROCESSOR_CONF_KEY">REGION_COPROCESSOR_CONF_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#REGIONSERVER_COPROCESSOR_CONF_KEY">REGIONSERVER_COPROCESSOR_CONF_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR">SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#USER_COPROCESSORS_ENABLED_CONF_KEY">USER_COPROCESSORS_ENABLED_CONF_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#USER_REGION_COPROCESSOR_CONF_KEY">USER_REGION_COPROCESSOR_CONF_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#WAL_COPROCESSOR_CONF_KEY">WAL_COPROCESSOR_CONF_KEY</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#CoprocessorHost-org.apache.hadoop.hbase.Abortable-">CoprocessorHost</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable)</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#abortServer-E-java.lang.Throwable-">abortServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;environment,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#abortServer-java.lang.String-java.lang.Throwable-">abortServer</a></span>(<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;coprocessorName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#checkAndGetInstance-java.lang.Class-">checkAndGetInstance</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;implClass)</code>
<div class="block">Called when a new Coprocessor class needs to be loaded.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#checkAndLoadInstance-java.lang.Class-int-org.apache.hadoop.conf.Configuration-">checkAndLoadInstance</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;implClass,
int&nbsp;priority,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#createEnvironment-C-int-int-org.apache.hadoop.conf.Configuration-">createEnvironment</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&nbsp;instance,
int&nbsp;priority,
int&nbsp;sequence,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
<div class="block">Called when a new Coprocessor class is loaded</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected &lt;O&gt;&nbsp;boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#execOperation-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ObserverOperation-">execOperation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;&nbsp;observerOperation)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected &lt;O,R&gt;&nbsp;R</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#execOperationWithResult-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ObserverOperationWithResult-">execOperationWithResult</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperationWithResult</a>&lt;O,R&gt;&nbsp;observerOperation)</code>
<div class="block">Do not call with an observerOperation that is null! Have the caller check.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected &lt;O&gt;&nbsp;boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#execShutdown-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ObserverOperation-">execShutdown</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;&nbsp;observerOperation)</code>
<div class="block">Coprocessor classes can be configured in any order, based on that priority is set and
chained in a sorted order.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&gt;<br>T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#findCoprocessor-java.lang.Class-">findCoprocessor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;cls)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#findCoprocessor-java.lang.String-">findCoprocessor</a></span>(<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;className)</code>
<div class="block">Find coprocessors by full class name or simple name.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#findCoprocessorEnvironment-java.lang.String-">findCoprocessorEnvironment</a></span>(<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;className)</code>
<div class="block">Find a coprocessor environment by class name</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&gt;<br><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#findCoprocessors-java.lang.Class-">findCoprocessors</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;cls)</code>
<div class="block">Find list of coprocessors that extend/implement the given class/interface</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#getCoprocessors--">getCoprocessors</a></span>()</code>
<div class="block">Used to create a parameter to the HServerLoad constructor so that
HServerLoad can provide information about the coprocessors loaded by this
regionserver.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#getExternalClassLoaders--">getExternalClassLoaders</a></span>()</code>
<div class="block">Retrieves the set of classloaders used to instantiate Coprocessor classes defined in external
jar files.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#getLoadedCoprocessors--">getLoadedCoprocessors</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#handleCoprocessorThrowable-E-java.lang.Throwable-">handleCoprocessorThrowable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;env,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</code>
<div class="block">This is used by coprocessor hooks which are declared to throw IOException
(or its subtypes).</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#load-java.lang.Class-int-org.apache.hadoop.conf.Configuration-">load</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&gt;&nbsp;implClass,
int&nbsp;priority,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#load-org.apache.hadoop.fs.Path-java.lang.String-int-org.apache.hadoop.conf.Configuration-">load</a></span>(org.apache.hadoop.fs.Path&nbsp;path,
<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;className,
int&nbsp;priority,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
<div class="block">Load a coprocessor implementation into the host</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#load-org.apache.hadoop.fs.Path-java.lang.String-int-org.apache.hadoop.conf.Configuration-java.lang.String:A-">load</a></span>(org.apache.hadoop.fs.Path&nbsp;path,
<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;className,
int&nbsp;priority,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;includedClassPrefixes)</code>
<div class="block">Load a coprocessor implementation into the host</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#loadSystemCoprocessors-org.apache.hadoop.conf.Configuration-java.lang.String-">loadSystemCoprocessors</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;confKey)</code>
<div class="block">Load system coprocessors once only.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#shutdown-E-">shutdown</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;e)</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#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="REGION_COPROCESSOR_CONF_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REGION_COPROCESSOR_CONF_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.59">REGION_COPROCESSOR_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.REGION_COPROCESSOR_CONF_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="REGIONSERVER_COPROCESSOR_CONF_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REGIONSERVER_COPROCESSOR_CONF_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.61">REGIONSERVER_COPROCESSOR_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.REGIONSERVER_COPROCESSOR_CONF_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="USER_REGION_COPROCESSOR_CONF_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USER_REGION_COPROCESSOR_CONF_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.63">USER_REGION_COPROCESSOR_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.USER_REGION_COPROCESSOR_CONF_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MASTER_COPROCESSOR_CONF_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MASTER_COPROCESSOR_CONF_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.65">MASTER_COPROCESSOR_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WAL_COPROCESSOR_CONF_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WAL_COPROCESSOR_CONF_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.67">WAL_COPROCESSOR_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.WAL_COPROCESSOR_CONF_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ABORT_ON_ERROR_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ABORT_ON_ERROR_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.69">ABORT_ON_ERROR_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ABORT_ON_ERROR_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_ABORT_ON_ERROR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_ABORT_ON_ERROR</h4>
<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.70">DEFAULT_ABORT_ON_ERROR</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.DEFAULT_ABORT_ON_ERROR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="COPROCESSORS_ENABLED_CONF_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>COPROCESSORS_ENABLED_CONF_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.71">COPROCESSORS_ENABLED_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.COPROCESSORS_ENABLED_CONF_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_COPROCESSORS_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_COPROCESSORS_ENABLED</h4>
<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.72">DEFAULT_COPROCESSORS_ENABLED</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.DEFAULT_COPROCESSORS_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="USER_COPROCESSORS_ENABLED_CONF_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USER_COPROCESSORS_ENABLED_CONF_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.73">USER_COPROCESSORS_ENABLED_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.USER_COPROCESSORS_ENABLED_CONF_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_USER_COPROCESSORS_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_USER_COPROCESSORS_ENABLED</h4>
<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.75">DEFAULT_USER_COPROCESSORS_ENABLED</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.DEFAULT_USER_COPROCESSORS_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.76">SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR</h4>
<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.78">DEFAULT_SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.CoprocessorHost.DEFAULT_SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.80">LOG</a></pre>
</li>
</ul>
<a name="abortable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abortable</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.81">abortable</a></pre>
</li>
</ul>
<a name="coprocEnvironments">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coprocEnvironments</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/SortedList.html" title="class in org.apache.hadoop.hbase.util">SortedList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a> extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.83">coprocEnvironments</a></pre>
<div class="block">Ordered set of loaded coprocessors with lock</div>
</li>
</ul>
<a name="conf">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
<pre>protected&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.85">conf</a></pre>
</li>
</ul>
<a name="pathPrefix">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pathPrefix</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.87">pathPrefix</a></pre>
</li>
</ul>
<a name="loadSequence">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadSequence</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.88">loadSequence</a></pre>
</li>
</ul>
<a name="coprocessorNames">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coprocessorNames</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.103">coprocessorNames</a></pre>
<div class="block">Not to be confused with the per-object _coprocessors_ (above),
coprocessorNames is static and stores the set of all coprocessors ever
loaded by any thread in this JVM. It is strictly additive: coprocessors are
added to coprocessorNames, by checkAndLoadInstance() but are never removed, since
the intention is to preserve a history of all loaded coprocessors for
diagnosis in case of server crash (HBASE-4014).</div>
</li>
</ul>
<a name="legacyWarning">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>legacyWarning</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title="interface in org.apache.hadoop.hbase">Coprocessor</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.482">legacyWarning</a></pre>
<div class="block">Used to limit legacy handling to once per Coprocessor class per classloader.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CoprocessorHost-org.apache.hadoop.hbase.Abortable-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CoprocessorHost</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.90">CoprocessorHost</a>(<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getLoadedCoprocessors--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLoadedCoprocessors</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.106">getLoadedCoprocessors</a>()</pre>
</li>
</ul>
<a name="getCoprocessors--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCoprocessors</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.119">getCoprocessors</a>()</pre>
<div class="block">Used to create a parameter to the HServerLoad constructor so that
HServerLoad can provide information about the coprocessors loaded by this
regionserver.
(HBASE-4070: Improve region server metrics to report loaded coprocessors
to master).</div>
</li>
</ul>
<a name="loadSystemCoprocessors-org.apache.hadoop.conf.Configuration-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadSystemCoprocessors</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.131">loadSystemCoprocessors</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;confKey)</pre>
<div class="block">Load system coprocessors once only. Read the class names from configuration.
Called by constructor.</div>
</li>
</ul>
<a name="load-org.apache.hadoop.fs.Path-java.lang.String-int-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>load</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.191">load</a>(org.apache.hadoop.fs.Path&nbsp;path,
<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;className,
int&nbsp;priority,
org.apache.hadoop.conf.Configuration&nbsp;conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Load a coprocessor implementation into the host</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - path to implementation jar</dd>
<dd><code>className</code> - the main class name</dd>
<dd><code>priority</code> - chaining priority</dd>
<dd><code>conf</code> - configuration for coprocessor</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - Exception</dd>
</dl>
</li>
</ul>
<a name="load-org.apache.hadoop.fs.Path-java.lang.String-int-org.apache.hadoop.conf.Configuration-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>load</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.210">load</a>(org.apache.hadoop.fs.Path&nbsp;path,
<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;className,
int&nbsp;priority,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<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;includedClassPrefixes)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Load a coprocessor implementation into the host</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - path to implementation jar</dd>
<dd><code>className</code> - the main class name</dd>
<dd><code>priority</code> - chaining priority</dd>
<dd><code>conf</code> - configuration for coprocessor</dd>
<dd><code>includedClassPrefixes</code> - class name prefixes to include</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - Exception</dd>
</dl>
</li>
</ul>
<a name="load-java.lang.Class-int-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>load</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.255">load</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&gt;&nbsp;implClass,
int&nbsp;priority,
org.apache.hadoop.conf.Configuration&nbsp;conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkAndLoadInstance-java.lang.Class-int-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAndLoadInstance</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.267">checkAndLoadInstance</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;implClass,
int&nbsp;priority,
org.apache.hadoop.conf.Configuration&nbsp;conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>implClass</code> - Implementation class</dd>
<dd><code>priority</code> - priority</dd>
<dd><code>conf</code> - configuration</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - Exception</dd>
</dl>
</li>
</ul>
<a name="createEnvironment-org.apache.hadoop.hbase.Coprocessor-int-int-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a><a name="createEnvironment-C-int-int-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEnvironment</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.293">createEnvironment</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&nbsp;instance,
int&nbsp;priority,
int&nbsp;sequence,
org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
<div class="block">Called when a new Coprocessor class is loaded</div>
</li>
</ul>
<a name="checkAndGetInstance-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAndGetInstance</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.302">checkAndGetInstance</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;implClass)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InstantiationException.html?is-external=true" title="class or interface in java.lang">InstantiationException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalAccessException.html?is-external=true" title="class or interface in java.lang">IllegalAccessException</a></pre>
<div class="block">Called when a new Coprocessor class needs to be loaded. Checks if type of the given class
is what the corresponding host implementation expects. If it is of correct type, returns an
instance of the coprocessor to be loaded. If not, returns null.
If an exception occurs when trying to create instance of a coprocessor, it's passed up and
eventually results into server aborting.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InstantiationException.html?is-external=true" title="class or interface in java.lang">InstantiationException</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalAccessException.html?is-external=true" title="class or interface in java.lang">IllegalAccessException</a></code></dd>
</dl>
</li>
</ul>
<a name="shutdown-org.apache.hadoop.hbase.CoprocessorEnvironment-">
<!-- -->
</a><a name="shutdown-E-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.305">shutdown</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;e)</pre>
</li>
</ul>
<a name="findCoprocessor-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findCoprocessor</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.316">findCoprocessor</a>(<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;className)</pre>
<div class="block">Find coprocessors by full class name or simple name.</div>
</li>
</ul>
<a name="findCoprocessor-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findCoprocessor</h4>
<pre>public&nbsp;&lt;T extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.326">findCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;cls)</pre>
</li>
</ul>
<a name="findCoprocessors-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findCoprocessors</h4>
<pre>public&nbsp;&lt;T extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.340">findCoprocessors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;cls)</pre>
<div class="block">Find list of coprocessors that extend/implement the given class/interface</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cls</code> - the class/interface to look for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of coprocessors, or null if not found</dd>
</dl>
</li>
</ul>
<a name="findCoprocessorEnvironment-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findCoprocessorEnvironment</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.360">findCoprocessorEnvironment</a>(<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;className)</pre>
<div class="block">Find a coprocessor environment by class name</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the class name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the coprocessor, or null if not found</dd>
</dl>
</li>
</ul>
<a name="getExternalClassLoaders--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExternalClassLoaders</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.375">getExternalClassLoaders</a>()</pre>
<div class="block">Retrieves the set of classloaders used to instantiate Coprocessor classes defined in external
jar files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A set of ClassLoader instances</dd>
</dl>
</li>
</ul>
<a name="abortServer-org.apache.hadoop.hbase.CoprocessorEnvironment-java.lang.Throwable-">
<!-- -->
</a><a name="abortServer-E-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abortServer</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.410">abortServer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;environment,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
</li>
</ul>
<a name="abortServer-java.lang.String-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abortServer</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.414">abortServer</a>(<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;coprocessorName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
</li>
</ul>
<a name="handleCoprocessorThrowable-org.apache.hadoop.hbase.CoprocessorEnvironment-java.lang.Throwable-">
<!-- -->
</a><a name="handleCoprocessorThrowable-E-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleCoprocessorThrowable</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.443">handleCoprocessorThrowable</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">E</a>&nbsp;env,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This is used by coprocessor hooks which are declared to throw IOException
(or its subtypes). For such hooks, we should handle throwable objects
depending on the Throwable's type. Those which are instances of
IOException should be passed on to the client. This is in conformance with
the HBase idiom regarding IOException: that it represents a circumstance
that should be passed along to the client for its own handling. For
example, a coprocessor that implements access controls would throw a
subclass of IOException, such as AccessDeniedException, in its preGet()
method to prevent an unauthorized client's performing a Get on a particular
table.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>env</code> - Coprocessor Environment</dd>
<dd><code>e</code> - Throwable object thrown by coprocessor.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - Exception</dd>
</dl>
</li>
</ul>
<a name="execOperationWithResult-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ObserverOperationWithResult-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execOperationWithResult</h4>
<pre>protected&nbsp;&lt;O,R&gt;&nbsp;R&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.608">execOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperationWithResult</a>&lt;O,R&gt;&nbsp;observerOperation)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Do not call with an observerOperation that is null! Have the caller check.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="execOperation-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ObserverOperation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execOperation</h4>
<pre>protected&nbsp;&lt;O&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.619">execOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;&nbsp;observerOperation)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if we are to bypass (Can only be <code>true</code> if
ObserverOperation#isBypassable().</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="execShutdown-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ObserverOperation-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>execShutdown</h4>
<pre>protected&nbsp;&lt;O&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.662">execShutdown</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;&nbsp;observerOperation)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Coprocessor classes can be configured in any order, based on that priority is set and
chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is
going down. This function first calls coprocessor methods (using ObserverOperation.call())
and then shutdowns the environment in postEnvCall(). <br>
Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors
may remain shutdown if any exception occurs during next coprocessor execution which prevent
master/regionserver stop or cluster shutdown. (Refer:
<a href="https://issues.apache.org/jira/browse/HBASE-16663">HBASE-16663</a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if bypaas coprocessor execution, false if not.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</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/CoprocessorHost.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/coprocessor/CoprocessorException.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" target="_top">Frames</a></li>
<li><a href="CoprocessorHost.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>