private static class RegionCoprocessorHost.RegionEnvironment extends BaseEnvironment<RegionCoprocessor> implements RegionCoprocessorEnvironment
| Modifier and Type | Field and Description | 
|---|---|
| private MetricRegistry | metricRegistry | 
| private Region | region | 
| private RegionServerServices | services | 
| (package private) ConcurrentMap<String,Object> | sharedData | 
impl, priority| Constructor and Description | 
|---|
| RegionEnvironment(RegionCoprocessor impl,
                 int priority,
                 int seq,
                 org.apache.hadoop.conf.Configuration conf,
                 Region region,
                 RegionServerServices services,
                 ConcurrentMap<String,Object> sharedData)Constructor | 
| Modifier and Type | Method and Description | 
|---|---|
| Connection | createConnection(org.apache.hadoop.conf.Configuration conf)Creates a cluster connection using the passed Configuration. | 
| RawCellBuilder | getCellBuilder()Returns a CellBuilder so that coprocessors can build cells. | 
| Connection | getConnection()Returns the hosts' Connection to the Cluster. | 
| MetricRegistry | getMetricRegistryForRegionServer()Returns a MetricRegistry that can be used to track metrics at the region server level. | 
| OnlineRegions | getOnlineRegions() | 
| Region | getRegion() | 
| RegionInfo | getRegionInfo() | 
| ServerName | getServerName() | 
| ConcurrentMap<String,Object> | getSharedData() | 
| void | shutdown()Clean up the environment | 
getClassLoader, getConfiguration, getHBaseVersion, getInstance, getLoadSequence, getPriority, getVersion, startupclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetClassLoader, getConfiguration, getHBaseVersion, getInstance, getLoadSequence, getPriority, getVersionConcurrentMap<String,Object> sharedData
private final MetricRegistry metricRegistry
private final RegionServerServices services
public RegionEnvironment(RegionCoprocessor impl, int priority, int seq, org.apache.hadoop.conf.Configuration conf, Region region, RegionServerServices services, ConcurrentMap<String,Object> sharedData)
impl - the coprocessor instancepriority - chaining prioritypublic Region getRegion()
getRegion in interface RegionCoprocessorEnvironmentpublic OnlineRegions getOnlineRegions()
getOnlineRegions in interface RegionCoprocessorEnvironmentRegionCoprocessorEnvironment.getServerName()}.public Connection getConnection()
RegionCoprocessorEnvironmentUnsupportedOperationException if you try to close
 or abort it.
 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 ConnectionFactory or
 RegionCoprocessorEnvironment.createConnection(Configuration)}.
 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 RegionCoprocessorEnvironment.createConnection(Configuration)} to run as other than
 the RegionServer User).
 
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.
getConnection in interface RegionCoprocessorEnvironmentRegionCoprocessorEnvironment.createConnection(Configuration)public Connection createConnection(org.apache.hadoop.conf.Configuration conf) throws IOException
RegionCoprocessorEnvironmentConnectionFactory.createConnection(Configuration)
 returns a Connection that will short-circuit RPC if the target is a local resource. Use
 ConnectionFactory if you don't need this ability.
 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.
createConnection in interface RegionCoprocessorEnvironmentIOExceptionpublic ServerName getServerName()
getServerName in interface RegionCoprocessorEnvironmentpublic void shutdown()
BaseEnvironmentshutdown in class BaseEnvironment<RegionCoprocessor>public ConcurrentMap<String,Object> getSharedData()
getSharedData in interface RegionCoprocessorEnvironmentpublic RegionInfo getRegionInfo()
getRegionInfo in interface RegionCoprocessorEnvironmentpublic MetricRegistry getMetricRegistryForRegionServer()
RegionCoprocessorEnvironmentSee ExampleRegionObserverWithMetrics class in the hbase-examples modules to see examples of how metrics can be instantiated and used.
getMetricRegistryForRegionServer in interface RegionCoprocessorEnvironmentpublic RawCellBuilder getCellBuilder()
RegionCoprocessorEnvironmentgetCellBuilder in interface RegionCoprocessorEnvironmentCopyright © 2007–2021 The Apache Software Foundation. All rights reserved.