[ https://issues.apache.org/jira/browse/HBASE-18298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HBASE-18298: -------------------------- Release Note: We used to pass the RegionServerServices (RSS) which gave Coprocesosrs (CP) all sort of access to internal Server machinery. We now only allows the CP a subset of the RSS in the form of the CPRSS Interface. Particulars: Removed method getRegionServerServices from CP exposed RegionCoprocessorEnvironment and RegionServerCoprocessorEnvironment and replaced with getCoprocessorRegionServerServices. This returns a new interface CoprocessorRegionServerServices which is only a subset of RegionServerServices. With that below methods are no longer exposed for CPs WAL getWAL(HRegionInfo regionInfo) List<WAL> getWALs() FlushRequester getFlushRequester() RegionServerAccounting getRegionServerAccounting() RegionServerRpcQuotaManager getRegionServerRpcQuotaManager() SecureBulkLoadManager getSecureBulkLoadManager() RegionServerSpaceQuotaManager getRegionServerSpaceQuotaManager() void postOpenDeployTasks(final PostOpenDeployContext context) void postOpenDeployTasks(final Region r) boolean reportRegionStateTransition(final RegionStateTransitionContext context) boolean reportRegionStateTransition(TransitionCode code, long openSeqNum, HRegionInfo... hris) boolean reportRegionStateTransition(TransitionCode code, HRegionInfo... hris) RpcServerInterface getRpcServer() ConcurrentMap<byte[], Boolean> getRegionsInTransitionInRS() Leases getLeases() ExecutorService getExecutorService() Map<String, Region> getRecoveringRegions() public ServerNonceManager getNonceManager() boolean registerService(Service service) HeapMemoryManager getHeapMemoryManager() double getCompactionPressure() ThroughputController getFlushThroughputController() double getFlushPressure() MetricsRegionServer getMetrics() EntityLock regionLock(List<HRegionInfo> regionInfos, String description, Abortable abort) void unassign(byte[] regionName) Configuration getConfiguration() ZooKeeperWatcher getZooKeeper() ClusterConnection getClusterConnection() MetaTableLocator getMetaTableLocator() CoordinatedStateManager getCoordinatedStateManager() ChoreService getChoreService() void stop(String why) void abort(String why, Throwable e) boolean isAborted() void updateRegionFavoredNodesMapping(String encodedRegionName, List<ServerName> favoredNodes) InetSocketAddress[] getFavoredNodesForRegion(String encodedRegionName) void addToOnlineRegions(Region region) boolean removeFromOnlineRegions(final Region r, ServerName destination) Also 3 methods name have been changed List<Region> getOnlineRegions(TableName tableName) -> List<Region> getRegions(TableName tableName) List<Region> getOnlineRegions() -> List<Region> getRegions() Region getFromOnlineRegions(final String encodedRegionName) -> Region getRegion(final String encodedRegionName) was: Removed method getRegionServerServices from CP exposed RegionCoprocessorEnvironment and RegionServerCoprocessorEnvironment and replaced with getCoprocessorRegionServerServices. This returns a new interface CoprocessorRegionServerServices which is only a subset of RegionServerServices. With that below methods are no longer exposed for CPs WAL getWAL(HRegionInfo regionInfo) List<WAL> getWALs() FlushRequester getFlushRequester() RegionServerAccounting getRegionServerAccounting() RegionServerRpcQuotaManager getRegionServerRpcQuotaManager() SecureBulkLoadManager getSecureBulkLoadManager() RegionServerSpaceQuotaManager getRegionServerSpaceQuotaManager() void postOpenDeployTasks(final PostOpenDeployContext context) void postOpenDeployTasks(final Region r) boolean reportRegionStateTransition(final RegionStateTransitionContext context) boolean reportRegionStateTransition(TransitionCode code, long openSeqNum, HRegionInfo... hris) boolean reportRegionStateTransition(TransitionCode code, HRegionInfo... hris) RpcServerInterface getRpcServer() ConcurrentMap<byte[], Boolean> getRegionsInTransitionInRS() Leases getLeases() ExecutorService getExecutorService() Map<String, Region> getRecoveringRegions() public ServerNonceManager getNonceManager() boolean registerService(Service service) HeapMemoryManager getHeapMemoryManager() double getCompactionPressure() ThroughputController getFlushThroughputController() double getFlushPressure() MetricsRegionServer getMetrics() EntityLock regionLock(List<HRegionInfo> regionInfos, String description, Abortable abort) void unassign(byte[] regionName) Configuration getConfiguration() ZooKeeperWatcher getZooKeeper() ClusterConnection getClusterConnection() MetaTableLocator getMetaTableLocator() CoordinatedStateManager getCoordinatedStateManager() ChoreService getChoreService() void stop(String why) void abort(String why, Throwable e) boolean isAborted() void updateRegionFavoredNodesMapping(String encodedRegionName, List<ServerName> favoredNodes) InetSocketAddress[] getFavoredNodesForRegion(String encodedRegionName) void addToOnlineRegions(Region region) boolean removeFromOnlineRegions(final Region r, ServerName destination) Also 3 methods name have been changed List<Region> getOnlineRegions(TableName tableName) -> List<Region> getRegions(TableName tableName) List<Region> getOnlineRegions() -> List<Region> getRegions() Region getFromOnlineRegions(final String encodedRegionName) -> Region getRegion(final String encodedRegionName) Oops. I see you have a fat release note already. Ignore my suggestion (I added a little preamble to RN). > RegionServerServices Interface cleanup for CP expose > ---------------------------------------------------- > > Key: HBASE-18298 > URL: https://issues.apache.org/jira/browse/HBASE-18298 > Project: HBase > Issue Type: Sub-task > Components: Coprocessors > Reporter: Anoop Sam John > Assignee: Anoop Sam John > Priority: Critical > Fix For: 2.0.0-alpha-4 > > Attachments: HBASE-18298.patch, HBASE-18298_V2.patch, > HBASE-18298_V3.patch, HBASE-18298_V4.patch, HBASE-18298_V5.patch, > HBASE-18298_V6.patch, HBASE-18298_V7.patch, HBASE-18298_V7.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)