blob: 8314a97acce2c9913a453e21d378f5cd101db926 [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>MasterCoprocessorEnvironment (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MasterCoprocessorEnvironment (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/MasterCoprocessorEnvironment.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/MasterCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface 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/MasterCoprocessorEnvironment.html" target="_top">Frames</a></li>
<li><a href="MasterCoprocessorEnvironment.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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="Interface MasterCoprocessorEnvironment" class="title">Interface MasterCoprocessorEnvironment</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><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/MasterCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessor</a>&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.MasterEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironmentForCoreCoprocessors.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.MasterEnvironmentForCoreCoprocessors</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.LimitedPrivate(value="Coprocesssor")
@InterfaceStability.Evolving
public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#line.32">MasterCoprocessorEnvironment</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/MasterCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessor</a>&gt;</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="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></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><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#createConnection-org.apache.hadoop.conf.Configuration-">createConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
<div class="block">Creates a cluster connection using the passed Configuration.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#getConnection--">getConnection</a></span>()</code>
<div class="block">Returns the hosts' Connection to the Cluster.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#getMetricRegistryForMaster--">getMetricRegistryForMaster</a></span>()</code>
<div class="block">Returns a MetricRegistry that can be used to track metrics at the master level.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#getServerName--">getServerName</a></span>()</code>
<div class="block">Returns Hosting Server's ServerName</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.CoprocessorEnvironment">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.<a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html#getClassLoader--">getClassLoader</a>, <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html#getConfiguration--">getConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html#getHBaseVersion--">getHBaseVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html#getInstance--">getInstance</a>, <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html#getLoadSequence--">getLoadSequence</a>, <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html#getPriority--">getPriority</a>, <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html#getVersion--">getVersion</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getServerName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerName</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#line.34">getServerName</a>()</pre>
<div class="block">Returns Hosting Server's ServerName</div>
</li>
</ul>
<a name="getConnection--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnection</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#line.59">getConnection</a>()</pre>
<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/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><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="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html" title="class in org.apache.hadoop.hbase.client"><code>ConnectionFactory</code></a> or
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#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="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The host's Connection to the Cluster.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#createConnection-org.apache.hadoop.conf.Configuration-"><code>createConnection(Configuration)</code></a></dd>
</dl>
</li>
</ul>
<a name="createConnection-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConnection</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#line.80">createConnection</a>(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">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="../../../../../org/apache/hadoop/hbase/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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Connection created using the passed conf.</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="getMetricRegistryForMaster--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getMetricRegistryForMaster</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html#line.90">getMetricRegistryForMaster</a>()</pre>
<div class="block">Returns a MetricRegistry that can be used to track metrics at the master level.
<p>
See ExampleMasterObserverWithMetrics class in the hbase-examples modules for examples of how
metrics can be instantiated and used.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A MetricRegistry for the coprocessor class to track and export metrics.</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/MasterCoprocessorEnvironment.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/MasterCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface 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/MasterCoprocessorEnvironment.html" target="_top">Frames</a></li>
<li><a href="MasterCoprocessorEnvironment.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>