@InterfaceAudience.Private public class RSRpcServices extends Object implements HBaseRPCErrorHandler, AdminProtos.AdminService.BlockingInterface, ClientProtos.ClientService.BlockingInterface, PriorityFunction, ConfigurationObserver
Modifier and Type | Field and Description |
---|---|
protected AccessChecker |
accessChecker |
protected static org.slf4j.Logger |
LOG |
static String |
MASTER_RPC_SCHEDULER_FACTORY_CLASS
RPC scheduler to use for the master.
|
static String |
REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS
RPC scheduler to use for the region server.
|
static String |
REGIONSERVER_ADMIN_SERVICE_CONFIG
Services launched in RSRpcServices.
|
static String |
REGIONSERVER_CLIENT_SERVICE_CONFIG |
protected static String |
RESERVOIR_ENABLED_KEY |
Constructor and Description |
---|
RSRpcServices(HRegionServer rs) |
Modifier and Type | Method and Description |
---|---|
ClientProtos.BulkLoadHFileResponse |
bulkLoadHFile(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
ClientProtos.BulkLoadHFileRequest request)
Atomically bulk load several HFiles into an open region
|
boolean |
checkOOME(Throwable e)
Take actions on the event of an OutOfMemoryError.
|
protected void |
checkOpen()
Called to verify that this server is up and running.
|
ClientProtos.CleanupBulkLoadResponse |
cleanupBulkLoad(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
ClientProtos.CleanupBulkLoadRequest request) |
AdminProtos.ClearCompactionQueuesResponse |
clearCompactionQueues(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.ClearCompactionQueuesRequest request) |
AdminProtos.ClearRegionBlockCacheResponse |
clearRegionBlockCache(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.ClearRegionBlockCacheRequest request) |
AdminProtos.CloseRegionResponse |
closeRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.CloseRegionRequest request)
Close a region on the region server.
|
AdminProtos.CompactRegionResponse |
compactRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.CompactRegionRequest request)
Compact a region on the region server.
|
protected PriorityFunction |
createPriority() |
protected RpcServerInterface |
createRpcServer(Server server,
org.apache.hadoop.conf.Configuration conf,
RpcSchedulerFactory rpcSchedulerFactory,
InetSocketAddress bindAddress,
String name) |
ClientProtos.CoprocessorServiceResponse |
execRegionServerService(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
ClientProtos.CoprocessorServiceRequest request) |
ClientProtos.CoprocessorServiceResponse |
execService(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
ClientProtos.CoprocessorServiceRequest request) |
AdminProtos.ExecuteProceduresResponse |
executeProcedures(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.ExecuteProceduresRequest request) |
static boolean |
exitIfOOME(Throwable e) |
AdminProtos.FlushRegionResponse |
flushRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.FlushRegionRequest request)
Flush a region on the region server.
|
ClientProtos.GetResponse |
get(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
ClientProtos.GetRequest request)
Get data from a table.
|
org.apache.hadoop.conf.Configuration |
getConfiguration() |
long |
getDeadline(RPCProtos.RequestHeader header,
org.apache.hbase.thirdparty.com.google.protobuf.Message param)
Returns the deadline of the specified request.
|
static String |
getHostname(org.apache.hadoop.conf.Configuration conf,
boolean isMaster) |
AdminProtos.GetOnlineRegionResponse |
getOnlineRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.GetOnlineRegionRequest request) |
PriorityFunction |
getPriority() |
int |
getPriority(RPCProtos.RequestHeader header,
org.apache.hbase.thirdparty.com.google.protobuf.Message param,
User user)
Returns the 'priority type' of the specified request.
|
HRegion |
getRegion(HBaseProtos.RegionSpecifier regionSpecifier)
Find the HRegion based on a region specifier
|
AdminProtos.GetRegionInfoResponse |
getRegionInfo(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.GetRegionInfoRequest request) |
AdminProtos.GetRegionLoadResponse |
getRegionLoad(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.GetRegionLoadRequest request) |
RpcScheduler |
getRpcScheduler() |
protected Class<?> |
getRpcSchedulerFactoryClass() |
String |
getScanDetailsWithId(long scannerId) |
RegionScanner |
getScanner(long scannerId) |
int |
getScannersCount() |
AdminProtos.GetServerInfoResponse |
getServerInfo(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.GetServerInfoRequest request)
Get some information of the region server.
|
protected List<RpcServer.BlockingServiceAndInterface> |
getServices()
By default, put up an Admin and a Client Service.
|
InetSocketAddress |
getSocketAddress() |
QuotaProtos.GetSpaceQuotaSnapshotsResponse |
getSpaceQuotaSnapshots(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
QuotaProtos.GetSpaceQuotaSnapshotsRequest request) |
AdminProtos.GetStoreFileResponse |
getStoreFile(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.GetStoreFileRequest request) |
ClientProtos.MultiResponse |
multi(org.apache.hbase.thirdparty.com.google.protobuf.RpcController rpcc,
ClientProtos.MultiRequest request)
Execute multiple actions on a table: get, mutate, and/or execCoprocessor
|
ClientProtos.MutateResponse |
mutate(org.apache.hbase.thirdparty.com.google.protobuf.RpcController rpcc,
ClientProtos.MutateRequest request)
Mutate data in a table.
|
void |
onConfigurationChange(org.apache.hadoop.conf.Configuration newConf)
This method would be called by the
ConfigurationManager
object when the Configuration object is reloaded from disk. |
AdminProtos.OpenRegionResponse |
openRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.OpenRegionRequest request)
Open asynchronously a region or a set of regions on the region server.
|
ClientProtos.PrepareBulkLoadResponse |
prepareBulkLoad(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
ClientProtos.PrepareBulkLoadRequest request) |
AdminProtos.ReplicateWALEntryResponse |
replay(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.ReplicateWALEntryRequest request)
Replay the given changes when distributedLogReplay WAL edits from a failed RS.
|
AdminProtos.ReplicateWALEntryResponse |
replicateWALEntry(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.ReplicateWALEntryRequest request)
Replicate WAL entries on the region server.
|
protected void |
requirePermission(String request,
Permission.Action perm) |
AdminProtos.RollWALWriterResponse |
rollWALWriter(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.RollWALWriterRequest request)
Roll the WAL writer of the region server.
|
ClientProtos.ScanResponse |
scan(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
ClientProtos.ScanRequest request)
Scan data in a table.
|
AdminProtos.StopServerResponse |
stopServer(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.StopServerRequest request)
Stop the region server.
|
AdminProtos.UpdateConfigurationResponse |
updateConfiguration(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.UpdateConfigurationRequest request) |
AdminProtos.UpdateFavoredNodesResponse |
updateFavoredNodes(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.UpdateFavoredNodesRequest request) |
AdminProtos.WarmupRegionResponse |
warmupRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
AdminProtos.WarmupRegionRequest request)
Wamrmup a region on this server.
|
protected static final org.slf4j.Logger LOG
public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS
public static final String MASTER_RPC_SCHEDULER_FACTORY_CLASS
protected static final String RESERVOIR_ENABLED_KEY
protected AccessChecker accessChecker
public static final String REGIONSERVER_ADMIN_SERVICE_CONFIG
public static final String REGIONSERVER_CLIENT_SERVICE_CONFIG
public RSRpcServices(HRegionServer rs) throws IOException
IOException
protected RpcServerInterface createRpcServer(Server server, org.apache.hadoop.conf.Configuration conf, RpcSchedulerFactory rpcSchedulerFactory, InetSocketAddress bindAddress, String name) throws IOException
IOException
protected Class<?> getRpcSchedulerFactoryClass()
public void onConfigurationChange(org.apache.hadoop.conf.Configuration newConf)
ConfigurationObserver
ConfigurationManager
object when the Configuration
object is reloaded from disk.onConfigurationChange
in interface ConfigurationObserver
protected PriorityFunction createPriority()
protected void requirePermission(String request, Permission.Action perm) throws IOException
IOException
public static String getHostname(org.apache.hadoop.conf.Configuration conf, boolean isMaster) throws UnknownHostException
UnknownHostException
public int getScannersCount()
public RegionScanner getScanner(long scannerId)
public String getScanDetailsWithId(long scannerId)
public HRegion getRegion(HBaseProtos.RegionSpecifier regionSpecifier) throws IOException
regionSpecifier
- the region specifierIOException
- if the specifier is not null,
but failed to find the regionpublic PriorityFunction getPriority()
public org.apache.hadoop.conf.Configuration getConfiguration()
protected void checkOpen() throws IOException
IOException
protected List<RpcServer.BlockingServiceAndInterface> getServices()
hbase.regionserver.admin.executorService
and
hbase.regionserver.client.executorService
if you want to enable/disable services.
Default is that both are enabled.public InetSocketAddress getSocketAddress()
public int getPriority(RPCProtos.RequestHeader header, org.apache.hbase.thirdparty.com.google.protobuf.Message param, User user)
PriorityFunction
getPriority
in interface PriorityFunction
public long getDeadline(RPCProtos.RequestHeader header, org.apache.hbase.thirdparty.com.google.protobuf.Message param)
PriorityFunction
getDeadline
in interface PriorityFunction
public boolean checkOOME(Throwable e)
HBaseRPCErrorHandler
checkOOME
in interface HBaseRPCErrorHandler
e
- the throwablepublic static boolean exitIfOOME(Throwable e)
public AdminProtos.CloseRegionResponse closeRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.CloseRegionRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
closeRegion
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.CompactRegionResponse compactRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.CompactRegionRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
compactRegion
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.FlushRegionResponse flushRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.FlushRegionRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
flushRegion
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.GetOnlineRegionResponse getOnlineRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.GetOnlineRegionRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
getOnlineRegion
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.GetRegionInfoResponse getRegionInfo(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.GetRegionInfoRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
getRegionInfo
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.GetRegionLoadResponse getRegionLoad(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.GetRegionLoadRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
getRegionLoad
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.ClearCompactionQueuesResponse clearCompactionQueues(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.ClearCompactionQueuesRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
clearCompactionQueues
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.GetServerInfoResponse getServerInfo(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.GetServerInfoRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
getServerInfo
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.GetStoreFileResponse getStoreFile(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.GetStoreFileRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
getStoreFile
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.OpenRegionResponse openRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.OpenRegionRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
Different manages states for the region are:
Bulk assign: If there are more than 1 region to open, it will be considered as a bulk assign. For a single region opening, errors are sent through a ServiceException. For bulk assign, errors are put in the response as FAILED_OPENING.
openRegion
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.WarmupRegionResponse warmupRegion(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.WarmupRegionRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
warmupRegion
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.ReplicateWALEntryResponse replay(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.ReplicateWALEntryRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
replay
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.ReplicateWALEntryResponse replicateWALEntry(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.ReplicateWALEntryRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
replicateWALEntry
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.RollWALWriterResponse rollWALWriter(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.RollWALWriterRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
rollWALWriter
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.StopServerResponse stopServer(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.StopServerRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
stopServer
in interface AdminProtos.AdminService.BlockingInterface
controller
- the RPC controllerrequest
- the requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.UpdateFavoredNodesResponse updateFavoredNodes(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.UpdateFavoredNodesRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
updateFavoredNodes
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public ClientProtos.BulkLoadHFileResponse bulkLoadHFile(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, ClientProtos.BulkLoadHFileRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
bulkLoadHFile
in interface ClientProtos.ClientService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
- if failed unrecoverablypublic ClientProtos.PrepareBulkLoadResponse prepareBulkLoad(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, ClientProtos.PrepareBulkLoadRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
prepareBulkLoad
in interface ClientProtos.ClientService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public ClientProtos.CleanupBulkLoadResponse cleanupBulkLoad(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, ClientProtos.CleanupBulkLoadRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
cleanupBulkLoad
in interface ClientProtos.ClientService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public ClientProtos.CoprocessorServiceResponse execService(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, ClientProtos.CoprocessorServiceRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
execService
in interface ClientProtos.ClientService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public ClientProtos.GetResponse get(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, ClientProtos.GetRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
get
in interface ClientProtos.ClientService.BlockingInterface
controller
- the RPC controllerrequest
- the get requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public ClientProtos.MultiResponse multi(org.apache.hbase.thirdparty.com.google.protobuf.RpcController rpcc, ClientProtos.MultiRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
multi
in interface ClientProtos.ClientService.BlockingInterface
rpcc
- the RPC controllerrequest
- the multi requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public ClientProtos.MutateResponse mutate(org.apache.hbase.thirdparty.com.google.protobuf.RpcController rpcc, ClientProtos.MutateRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
mutate
in interface ClientProtos.ClientService.BlockingInterface
rpcc
- the RPC controllerrequest
- the mutate requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public ClientProtos.ScanResponse scan(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, ClientProtos.ScanRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
scan
in interface ClientProtos.ClientService.BlockingInterface
controller
- the RPC controllerrequest
- the scan requestorg.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public ClientProtos.CoprocessorServiceResponse execRegionServerService(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, ClientProtos.CoprocessorServiceRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
execRegionServerService
in interface ClientProtos.ClientService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.UpdateConfigurationResponse updateConfiguration(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.UpdateConfigurationRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
updateConfiguration
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public QuotaProtos.GetSpaceQuotaSnapshotsResponse getSpaceQuotaSnapshots(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, QuotaProtos.GetSpaceQuotaSnapshotsRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
getSpaceQuotaSnapshots
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public AdminProtos.ClearRegionBlockCacheResponse clearRegionBlockCache(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.ClearRegionBlockCacheRequest request)
clearRegionBlockCache
in interface AdminProtos.AdminService.BlockingInterface
public AdminProtos.ExecuteProceduresResponse executeProcedures(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller, AdminProtos.ExecuteProceduresRequest request) throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
executeProcedures
in interface AdminProtos.AdminService.BlockingInterface
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException
public RpcScheduler getRpcScheduler()
Copyright © 2007–2019 Cloudera. All rights reserved.