@InterfaceAudience.LimitedPrivate(value={"Coprocesssor","Phoenix"})
 @InterfaceStability.Evolving
public class SimpleRpcScheduler
extends RpcScheduler
implements ConfigurationObserver
RpcScheduler.Context| Modifier and Type | Field and Description | 
|---|---|
| private Abortable | abortable | 
| private RpcExecutor | callExecutor | 
| private int | highPriorityLevelWhat level a high priority call is at. | 
| private RpcExecutor | metaTransitionExecutorThis executor is only for meta transition | 
| private int | port | 
| private PriorityFunction | priority | 
| private RpcExecutor | priorityExecutor | 
| private RpcExecutor | replicationExecutor | 
IPC_SERVER_MAX_CALLQUEUE_LENGTH, IPC_SERVER_PRIORITY_MAX_CALLQUEUE_LENGTH| Constructor and Description | 
|---|
| SimpleRpcScheduler(org.apache.hadoop.conf.Configuration conf,
                  int handlerCount,
                  int priorityHandlerCount,
                  int replicationHandlerCount,
                  int metaTransitionHandler,
                  PriorityFunction priority,
                  Abortable server,
                  int highPriorityLevel) | 
| SimpleRpcScheduler(org.apache.hadoop.conf.Configuration conf,
                  int handlerCount,
                  int priorityHandlerCount,
                  int replicationHandlerCount,
                  PriorityFunction priority,
                  int highPriorityLevel) | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | dispatch(CallRunner callTask)Dispatches an RPC request asynchronously. | 
| int | getActiveReadRpcHandlerCount()Retrieves the number of active write rpc handler when use RWQueueRpcExecutor. | 
| int | getActiveRpcHandlerCount()Retrieves the number of active handler. | 
| int | getActiveScanRpcHandlerCount()Retrieves the number of active write rpc handler when use RWQueueRpcExecutor. | 
| int | getActiveWriteRpcHandlerCount()Retrieves the number of active write rpc handler when use RWQueueRpcExecutor. | 
| CallQueueInfo | getCallQueueInfo()Get call queue information | 
| int | getGeneralQueueLength()Retrieves length of the general queue for metrics. | 
| int | getMetaPriorityQueueLength()Retrieves length of the meta priority queue for metrics. | 
| long | getNumGeneralCallsDropped()If CoDel-based RPC executors are used, retrieves the number of Calls that were dropped
 from general queue because RPC executor is under high load; returns 0 otherwise. | 
| long | getNumLifoModeSwitches()If CoDel-based RPC executors are used, retrieves the number of Calls that were
 picked from the tail of the queue (indicating adaptive LIFO mode, when
 in the period of overloade we serve last requests first); returns 0 otherwise. | 
| int | getPriorityQueueLength()Retrieves length of the priority queue for metrics. | 
| int | getReadQueueLength()Retrieves length of the read queue for metrics when use RWQueueRpcExecutor. | 
| int | getReplicationQueueLength()Retrieves length of the replication queue for metrics. | 
| int | getScanQueueLength()Retrieves length of the scan queue for metrics when use RWQueueRpcExecutor. | 
| int | getWriteQueueLength()Retrieves length of the write queue for metrics when use RWQueueRpcExecutor. | 
| void | init(RpcScheduler.Context context)Does some quick initialization. | 
| void | onConfigurationChange(org.apache.hadoop.conf.Configuration conf)Resize call queues; | 
| void | start()Prepares for request serving. | 
| void | stop()Stops serving new requests. | 
private int port
private final PriorityFunction priority
private final RpcExecutor callExecutor
private final RpcExecutor priorityExecutor
private final RpcExecutor replicationExecutor
private final RpcExecutor metaTransitionExecutor
private final int highPriorityLevel
public SimpleRpcScheduler(org.apache.hadoop.conf.Configuration conf, int handlerCount, int priorityHandlerCount, int replicationHandlerCount, int metaTransitionHandler, PriorityFunction priority, Abortable server, int highPriorityLevel)
conf - handlerCount - the number of handler threads that will be used to process callspriorityHandlerCount - How many threads for priority handling.replicationHandlerCount - How many threads for replication handling.highPriorityLevel - priority - Function to extract request priority.public SimpleRpcScheduler(org.apache.hadoop.conf.Configuration conf, int handlerCount, int priorityHandlerCount, int replicationHandlerCount, PriorityFunction priority, int highPriorityLevel)
public void onConfigurationChange(org.apache.hadoop.conf.Configuration conf)
onConfigurationChange in interface ConfigurationObserverconf - new configurationpublic void init(RpcScheduler.Context context)
RpcSchedulerRpcScheduler.start(). This method is called before start.init in class RpcSchedulercontext - provides methods to retrieve runtime information frompublic void start()
RpcSchedulerstart in class RpcSchedulerpublic void stop()
RpcSchedulerstop in class RpcSchedulerpublic boolean dispatch(CallRunner callTask) throws InterruptedException
RpcSchedulerdispatch in class RpcSchedulercallTask - the request to be dispatchedInterruptedExceptionpublic int getMetaPriorityQueueLength()
RpcSchedulergetMetaPriorityQueueLength in class RpcSchedulerpublic int getGeneralQueueLength()
RpcSchedulergetGeneralQueueLength in class RpcSchedulerpublic int getPriorityQueueLength()
RpcSchedulergetPriorityQueueLength in class RpcSchedulerpublic int getReplicationQueueLength()
RpcSchedulergetReplicationQueueLength in class RpcSchedulerpublic int getActiveRpcHandlerCount()
RpcSchedulergetActiveRpcHandlerCount in class RpcSchedulerpublic long getNumGeneralCallsDropped()
RpcSchedulergetNumGeneralCallsDropped in class RpcSchedulerpublic long getNumLifoModeSwitches()
RpcSchedulergetNumLifoModeSwitches in class RpcSchedulerpublic int getWriteQueueLength()
RpcSchedulergetWriteQueueLength in class RpcSchedulerpublic int getReadQueueLength()
RpcSchedulergetReadQueueLength in class RpcSchedulerpublic int getScanQueueLength()
RpcSchedulergetScanQueueLength in class RpcSchedulerpublic int getActiveWriteRpcHandlerCount()
RpcSchedulergetActiveWriteRpcHandlerCount in class RpcSchedulerpublic int getActiveReadRpcHandlerCount()
RpcSchedulergetActiveReadRpcHandlerCount in class RpcSchedulerpublic int getActiveScanRpcHandlerCount()
RpcSchedulergetActiveScanRpcHandlerCount in class RpcSchedulerpublic CallQueueInfo getCallQueueInfo()
RpcSchedulergetCallQueueInfo in class RpcSchedulerCopyright © 2007–2019 The Apache Software Foundation. All rights reserved.