Package org.apache.hadoop.hbase.ipc
package org.apache.hadoop.hbase.ipc
Tools to help define network clients and servers.
This is the hadoop copied local so can fix bugs and make hbase-specific optimizations.
-
ClassDescriptionAbstractRpcClient<T extends RpcConnection>Provides the basics for a RpcClient implementation like configuration and Logging.Blocking rpc channel that goes via hbase rpc.Async rpc channel that goes via hbase rpc.Adaptive LIFO blocking queue utilizing CoDel algorithm to prevent queue overloading.An
RpcExecutor
that will balance requests evenly across all its queues, but still remains efficient with a single queue via an inlinable queue balancing mechanism.SimpleRpcCallback
implementation providing aFuture
-likeBlockingRpcCallback.get()
method, which will block util the instance'sBlockingRpcCallback.run(Object)
method has been called.Does RPC against a cluster.Thread that reads responses and notifies callers.We will expose the connection to upper layer before initialized, so we need to buffer the calls passed in and write them out once the connection is established.Chain of ByteBuffers.A call waiting for a value.Client side call cancelled.Exception indicating that the remote host making this IPC lost its IPC connection.Used to tell netty handler the call is cancelled, timeout...The request processing logic, which is usually executed in thread pools provided by anRpcScheduler
.Client-side call timeoutHelper class for building cell block.Thrown if a cellscanner but no codec to encode it with.This class holds the address and the user ticket, etc.Base interface which provides clients with an RPC connection to call coprocessor endpointService
s.Utilities for handling coprocessor rpc service calls.SimpleRpcCallback
implementation providing aFuture
-likeCoprocessorRpcUtils.BlockingRpcCallback.get()
method, which will block util the instance'sCoprocessorRpcUtils.BlockingRpcCallback.run(Object)
method has been called.Simple delegating controller for use with theRpcControllerFactory
to help override standard behavior of aHBaseRpcController
.Users of the hbase.region.server.rpc.scheduler.factory.class customization config can return an implementation which extends this class in order to minimize impact of breaking interface changes.Indicates that we're trying to connect to a already known as dead server.A class to manage a list of servers that failed recently.Indicate that the rpc server tells client to fallback to simple auth but client is disabled to do so.Balanced queue executor with a fastpath.RPC Executor that extendsRWQueueRpcExecutor
with fast-path feature, used inFastPathBalancedQueueRpcExecutor
.Thrown when server finds fatal issue w/ connection setup: e.g.A very simple RpcScheduler} that serves incoming requests in order.Optionally carries Cells across the proxy/service interface down into ipc.Get instances viaRpcControllerFactory
on client-side.An interface for calling out of RPC for error conditions.A pooled ByteBufAllocator that does not prefer direct buffers regardless of platform settings.Utility to help ipc'ing.A special RpcScheduler} only used for master.RPC Executor that uses different queues for reads and writes for meta.Implement SASL negotiation logic for rpc server.Netty client for the requests and responses.Helper class for passing config toNettyRpcClient
.RPC connection implementation based on netty.The netty rpc handler.Decoder for extracting frameAn RPC server with Netty4 implementation.Handler to enforce writability protections on our server channels:
- Responds to channel writability events, which are triggered when the total pending bytes for a channel passes configured high and low watermarks.Handle connection preamble.Decoder for rpc request.Encoder forRpcResponse
.Datastructure that holds all necessary to a method invocation and then afterward, carries the result.RpcConnection implementation for netty rpc server.Abstract class template for defining a pluggable blocking queue implementation to be used by the 'pluggable' call queue type in the RpcExecutor.Internal runtime error type to indicate the RpcExecutor failed to execute a `pluggable` call queue type.Used to decode preamble calls.Function to figure priority of incoming request.Annotation which decorates RPC methods to denote the relative priority among other RPCs in the same server.Interface for balancing requests across IPC queuesQueue balancer that just randomly selects a queue in the range [0, num queues).ARemoteException
with some extra information.Dynamic class loader to load filter/comparatorsInterface of all necessary to carry out a RPC method invocation on the server.Denotes a callback action that has to be executed at the end of an Rpc Call.Interface of all necessary to carry out a RPC service invocation on the server.Interface for RpcClient implementations so ConnectionManager can handle it.Factory to create aRpcClient
Base class for ipc connection.Constants to be used by RPC connection based utilities.Factory to create aHBaseRpcController
Runs the CallRunners passed here viaRpcExecutor.dispatch(CallRunner)
.Comparator used by the "normal callQueue" if DEADLINE_CALL_QUEUE_CONF_KEY is set to true.Thread to handle rpc call.An interface represent the response of an rpc call.An interface for RPC request scheduling algorithm.Exposes runtime information of aRpcServer
that aRpcScheduler
may need.An RPC server that hosts protobuf described Services.Datastructure for passing aBlockingService
and its associated class of protobuf service interface.Used to extract a tracingContext
from an instance ofTracingProtos.RPCTInfo
.RPC Executor that uses different queues for reads and writes.Will be thrown when server received a security preamble call for asking the server principal but security is not enabled for this server.ServerCall<T extends ServerRpcConnection>Datastructure that holds all necessary to a method invocation and then afterward, carries the result.Reads calls from a connection and queues them for handling.Used for server-side protobuf RPC service invocations.Throw this in RPC call if there are too many pending requests for one region serverThe default scheduler.Deprecated.Deprecated.Deprecated.Deprecated.