| <!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>ObserverContext (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="ObserverContext (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":6,"i1":6,"i2":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/ObserverContext.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/MultiRowMutationEndpoint.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/hadoop/hbase/coprocessor/ObserverContext.html" target="_top">Frames</a></li> |
| <li><a href="ObserverContext.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses-noframe.html">All 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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </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 ObserverContext" class="title">Interface ObserverContext<E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>></h2> |
| </div> |
| <div class="contentContainer"> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt><span class="paramLabel">Type Parameters:</span></dt> |
| <dd><code>E</code> - The <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase"><code>CoprocessorEnvironment</code></a> subclass applicable to the |
| revelant Observer interface.</dd> |
| </dl> |
| <dl> |
| <dt>All Known Implementing Classes:</dt> |
| <dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperationWithoutResult</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperationWithResult</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.MasterObserverOperation</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.BulkLoadObserverOperation.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost.BulkLoadObserverOperation</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionObserverOperationWithoutResult.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost.RegionObserverOperationWithoutResult</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerObserverOperation.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost.RegionServerObserverOperation</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.WALObserverOperation.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost.WALObserverOperation</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>@InterfaceAudience.LimitedPrivate(value="Coprocesssor") |
| @InterfaceStability.Evolving |
| public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.40">ObserverContext</a><E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>></pre> |
| <div class="block">Carries the execution state for a given invocation of an Observer coprocessor |
| (<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor"><code>RegionObserver</code></a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor"><code>MasterObserver</code></a>, or <a href="../../../../../org/apache/hadoop/hbase/coprocessor/WALObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor"><code>WALObserver</code></a>) |
| method. The same ObserverContext instance is passed sequentially to all loaded |
| coprocessors for a given Observer method trigger, with the |
| <code>CoprocessorEnvironment</code> reference set appropriately for each Coprocessor type: |
| e.g. the RegionCoprocessorEnvironment is passed to RegionCoprocessors, and so on.</div> |
| </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#bypass--">bypass</a></span>()</code> |
| <div class="block">Call to indicate that the current coprocessor's return value (or parameter -- depends on the |
| call-type) should be used in place of the value that would be obtained via normal processing; |
| i.e.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#getCaller--">getCaller</a></span>()</code> |
| <div class="block">Returns the active user for the coprocessor call.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="type parameter in ObserverContext">E</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#getEnvironment--">getEnvironment</a></span>()</code> </td> |
| </tr> |
| </table> |
| </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="getEnvironment--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getEnvironment</h4> |
| <pre><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="type parameter in ObserverContext">E</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.41">getEnvironment</a>()</pre> |
| </li> |
| </ul> |
| <a name="bypass--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>bypass</h4> |
| <pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.70">bypass</a>()</pre> |
| <div class="block">Call to indicate that the current coprocessor's return value (or parameter -- depends on the |
| call-type) should be used in place of the value that would be obtained via normal processing; |
| i.e. bypass the core call and return the Coprocessor's result instead. DOES NOT work for all |
| Coprocessor invocations, only on a small subset of methods, mostly preXXX calls in |
| RegionObserver. Check javadoc on the pertinent Coprocessor Observer to see if |
| <code>bypass</code> is supported. |
| <p>This behavior of honoring only a subset of methods is new since hbase-2.0.0. |
| <p>Where bypass is supported what is being bypassed is all of the core code |
| implementing the remainder of the operation. In order to understand what |
| calling bypass() will skip, a coprocessor implementer should read and |
| understand all of the remaining code and its nuances. Although this |
| is good practice for coprocessor developers in general, it demands a lot. |
| What is skipped is extremely version dependent. The core code will vary, perhaps significantly, |
| even between point releases. We do not provide the promise of consistent behavior even between |
| point releases for the bypass semantic. To achieve |
| that we could not change any code between hook points. Therefore the |
| coprocessor implementer becomes an HBase core developer in practice as soon |
| as they rely on bypass(). Every release of HBase may break the assumption |
| that the replacement for the bypassed code takes care of all necessary |
| skipped concerns. Because those concerns can change at any point, such an |
| assumption is never safe.</p> |
| <p>As of hbase2, when bypass has been set, we will NOT call any Coprocessors follow the |
| bypassing Coprocessor; we cut short the processing and return the bypassing Coprocessors |
| response (this used be a separate 'complete' option that has been folded into the |
| 'bypass' in hbase2.</p></div> |
| </li> |
| </ul> |
| <a name="getCaller--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>getCaller</h4> |
| <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.79">getCaller</a>()</pre> |
| <div class="block">Returns the active user for the coprocessor call. If an explicit <code>User</code> instance was |
| provided to the constructor, that will be returned, otherwise if we are in the context of an |
| RPC call, the remote user is used. May not be present if the execution is outside of an RPC |
| context.</div> |
| </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/ObserverContext.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/MultiRowMutationEndpoint.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/hadoop/hbase/coprocessor/ObserverContext.html" target="_top">Frames</a></li> |
| <li><a href="ObserverContext.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses-noframe.html">All 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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </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 © 2007–2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |