public class BalancedQueueRpcExecutor extends RpcExecutor
RpcExecutor that will balance requests evenly across all its queues, but still remains
efficient with a single queue via an inlinable queue balancing mechanism. Defaults to FIFO but
you can pass an alternate queue class to use.RpcExecutor.Handler, RpcExecutor.QueueBalancerCALL_QUEUE_CODEL_DEFAULT_INTERVAL, CALL_QUEUE_CODEL_DEFAULT_LIFO_THRESHOLD, CALL_QUEUE_CODEL_DEFAULT_TARGET_DELAY, CALL_QUEUE_CODEL_INTERVAL, CALL_QUEUE_CODEL_LIFO_THRESHOLD, CALL_QUEUE_CODEL_TARGET_DELAY, CALL_QUEUE_HANDLER_FACTOR_CONF_KEY, CALL_QUEUE_TYPE_CODEL_CONF_VALUE, CALL_QUEUE_TYPE_CONF_DEFAULT, CALL_QUEUE_TYPE_CONF_KEY, CALL_QUEUE_TYPE_DEADLINE_CONF_VALUE, CALL_QUEUE_TYPE_FIFO_CONF_VALUE, currentQueueLimit, DEFAULT_CALL_QUEUE_SIZE_HARD_LIMIT, numCallQueues, QUEUE_MAX_CALL_DELAY_CONF_KEY, queues| Constructor and Description |
|---|
BalancedQueueRpcExecutor(java.lang.String name,
int handlerCount,
int maxQueueLength,
PriorityFunction priority,
Configuration conf,
Abortable abortable) |
BalancedQueueRpcExecutor(java.lang.String name,
int handlerCount,
java.lang.String callQueueType,
int maxQueueLength,
PriorityFunction priority,
Configuration conf,
Abortable abortable) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
dispatch(CallRunner callTask)
Add the request to the executor queue
|
computeNumCallQueues, getActiveHandlerCount, getActiveReadHandlerCount, getActiveScanHandlerCount, getActiveWriteHandlerCount, getBalancer, getCallQueueCountsSummary, getCallQueueSizeSummary, getHandler, getName, getNumGeneralCallsDropped, getNumLifoModeSwitches, getQueueLength, getQueues, getReadQueueLength, getScanQueueLength, getWriteQueueLength, initializeQueues, isCodelQueueType, isDeadlineQueueType, isFifoQueueType, onConfigurationChange, resizeQueues, start, startHandlers, startHandlers, stoppublic BalancedQueueRpcExecutor(java.lang.String name,
int handlerCount,
int maxQueueLength,
PriorityFunction priority,
Configuration conf,
Abortable abortable)
public BalancedQueueRpcExecutor(java.lang.String name,
int handlerCount,
java.lang.String callQueueType,
int maxQueueLength,
PriorityFunction priority,
Configuration conf,
Abortable abortable)
public boolean dispatch(CallRunner callTask) throws java.lang.InterruptedException
RpcExecutordispatch in class RpcExecutorjava.lang.InterruptedException