Class ProtobufRpcEngine2

java.lang.Object
org.apache.hadoop.ipc.ProtobufRpcEngine2
All Implemented Interfaces:
RpcEngine

@Evolving public class ProtobufRpcEngine2 extends Object implements RpcEngine
RPC Engine for for protobuf based RPCs.
  • Field Details

    • LOG

      public static final org.slf4j.Logger LOG
  • Constructor Details

    • ProtobufRpcEngine2

      public ProtobufRpcEngine2()
  • Method Details

    • getAsyncReturnMessage

      @Unstable public static AsyncGet<org.apache.hadoop.thirdparty.protobuf.Message,Exception> getAsyncReturnMessage()
    • getProxy

      public <T> ProtocolProxy<T> getProxy(Class<T> protocol, long clientVersion, InetSocketAddress addr, UserGroupInformation ticket, Configuration conf, SocketFactory factory, int rpcTimeout) throws IOException
      Throws:
      IOException
    • getProxy

      public <T> ProtocolProxy<T> getProxy(Class<T> protocol, long clientVersion, InetSocketAddress addr, UserGroupInformation ticket, Configuration conf, SocketFactory factory, int rpcTimeout, RetryPolicy connectionRetryPolicy) throws IOException
      Description copied from interface: RpcEngine
      Construct a client-side proxy object.
      Specified by:
      getProxy in interface RpcEngine
      Type Parameters:
      T - Generics Type T.
      Parameters:
      protocol - input protocol.
      clientVersion - input clientVersion.
      addr - input addr.
      ticket - input ticket.
      conf - input Configuration.
      factory - input factory.
      rpcTimeout - input rpcTimeout.
      connectionRetryPolicy - input connectionRetryPolicy.
      Returns:
      ProtocolProxy.
      Throws:
      IOException - raised on errors performing I/O.
    • getProxy

      public <T> ProtocolProxy<T> getProxy(Class<T> protocol, long clientVersion, Client.ConnectionId connId, Configuration conf, SocketFactory factory, AlignmentContext alignmentContext) throws IOException
      Description copied from interface: RpcEngine
      Construct a client-side proxy object with a ConnectionId.
      Specified by:
      getProxy in interface RpcEngine
      Type Parameters:
      T - Generics Type T.
      Parameters:
      protocol - input protocol.
      clientVersion - input clientVersion.
      connId - input ConnectionId.
      conf - input Configuration.
      factory - input factory.
      alignmentContext - Alignment context
      Returns:
      ProtocolProxy.
      Throws:
      IOException - raised on errors performing I/O.
    • getProxy

      public <T> ProtocolProxy<T> getProxy(Class<T> protocol, long clientVersion, InetSocketAddress addr, UserGroupInformation ticket, Configuration conf, SocketFactory factory, int rpcTimeout, RetryPolicy connectionRetryPolicy, AtomicBoolean fallbackToSimpleAuth, AlignmentContext alignmentContext) throws IOException
      Description copied from interface: RpcEngine
      Construct a client-side proxy object.
      Specified by:
      getProxy in interface RpcEngine
      Type Parameters:
      T - Generics Type T.
      Parameters:
      protocol - input protocol.
      clientVersion - input clientVersion.
      addr - input addr.
      ticket - input tocket.
      conf - input Configuration.
      factory - input factory.
      rpcTimeout - input rpcTimeout.
      connectionRetryPolicy - input connectionRetryPolicy.
      fallbackToSimpleAuth - input fallbackToSimpleAuth.
      alignmentContext - input alignmentContext.
      Returns:
      ProtocolProxy.
      Throws:
      IOException - raised on errors performing I/O.
    • getProtocolMetaInfoProxy

      public ProtocolProxy<ProtocolMetaInfoPB> getProtocolMetaInfoProxy(Client.ConnectionId connId, Configuration conf, SocketFactory factory) throws IOException
      Description copied from interface: RpcEngine
      Returns a proxy for ProtocolMetaInfoPB, which uses the given connection id.
      Specified by:
      getProtocolMetaInfoProxy in interface RpcEngine
      Parameters:
      connId - , ConnectionId to be used for the proxy.
      conf - , Configuration.
      factory - , Socket factory.
      Returns:
      Proxy object.
      Throws:
      IOException - raised on errors performing I/O.
    • getServer

      public RPC.Server getServer(Class<?> protocol, Object protocolImpl, String bindAddress, int port, int numHandlers, int numReaders, int queueSizePerHandler, boolean verbose, Configuration conf, SecretManager<? extends TokenIdentifier> secretManager, String portRangeConfig, AlignmentContext alignmentContext) throws IOException
      Description copied from interface: RpcEngine
      Construct a server for a protocol implementation instance.
      Specified by:
      getServer in interface RpcEngine
      Parameters:
      protocol - the class of protocol to use
      protocolImpl - the instance of protocol whose methods will be called
      bindAddress - the address to bind on to listen for connection
      port - the port to listen for connections on
      numHandlers - the number of method handler threads to run
      numReaders - the number of reader threads to run
      queueSizePerHandler - the size of the queue per hander thread
      verbose - whether each call should be logged
      conf - the configuration to use
      secretManager - The secret manager to use to validate incoming requests.
      portRangeConfig - A config parameter that can be used to restrict the range of ports used when port is 0 (an ephemeral port)
      alignmentContext - provides server state info on client responses
      Returns:
      The Server instance
      Throws:
      IOException - on any error
    • clearClientCache

      @VisibleForTesting public static void clearClientCache()