org.apache.hadoop.hbase.ipc
Class HBaseRPC

java.lang.Object
  extended by org.apache.hadoop.hbase.ipc.HBaseRPC

public class HBaseRPC
extends Object

A simple RPC mechanism. This is a local hbase copy of the hadoop RPC so we can do things like address HADOOP-414 for hbase-only and try other hbase-specific optimizations like using our own version of ObjectWritable. Class has been renamed to avoid confusing it w/ hadoop versions.

A protocol is a Java interface. All parameters and return types must be one of:

All methods in the protocol should throw only IOException. No field data of the protocol instance is transmitted.


Nested Class Summary
static class HBaseRPC.Server
          An RPC Server.
static class HBaseRPC.VersionMismatch
          A version mismatch for the RPC protocol.
 
Method Summary
static Object[] call(Method method, Object[][] params, InetSocketAddress[] addrs, org.apache.hadoop.conf.Configuration conf)
          Expert: Make multiple, parallel calls to a set of servers.
static org.apache.hadoop.ipc.VersionedProtocol getProxy(Class<?> protocol, long clientVersion, InetSocketAddress addr, org.apache.hadoop.conf.Configuration conf)
          Construct a client-side proxy object with the default SocketFactory
static org.apache.hadoop.ipc.VersionedProtocol getProxy(Class<?> protocol, long clientVersion, InetSocketAddress addr, org.apache.hadoop.conf.Configuration conf, SocketFactory factory)
          Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.
static org.apache.hadoop.ipc.VersionedProtocol getProxy(Class<?> protocol, long clientVersion, InetSocketAddress addr, org.apache.hadoop.security.UserGroupInformation ticket, org.apache.hadoop.conf.Configuration conf, SocketFactory factory)
          Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.
static HBaseRPC.Server getServer(Object instance, String bindAddress, int port, org.apache.hadoop.conf.Configuration conf)
          Construct a server for a protocol implementation instance listening on a port and address.
static HBaseRPC.Server getServer(Object instance, String bindAddress, int port, int numHandlers, boolean verbose, org.apache.hadoop.conf.Configuration conf)
          Construct a server for a protocol implementation instance listening on a port and address.
static void stopProxy(org.apache.hadoop.ipc.VersionedProtocol proxy)
          Stop this proxy and release its invoker's resource
static org.apache.hadoop.ipc.VersionedProtocol waitForProxy(Class protocol, long clientVersion, InetSocketAddress addr, org.apache.hadoop.conf.Configuration conf, int maxAttempts)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

waitForProxy

public static org.apache.hadoop.ipc.VersionedProtocol waitForProxy(Class protocol,
                                                                   long clientVersion,
                                                                   InetSocketAddress addr,
                                                                   org.apache.hadoop.conf.Configuration conf,
                                                                   int maxAttempts)
                                                            throws IOException
Parameters:
protocol -
clientVersion -
addr -
conf -
maxAttempts -
Returns:
proxy
Throws:
IOException

getProxy

public static org.apache.hadoop.ipc.VersionedProtocol getProxy(Class<?> protocol,
                                                               long clientVersion,
                                                               InetSocketAddress addr,
                                                               org.apache.hadoop.conf.Configuration conf,
                                                               SocketFactory factory)
                                                        throws IOException
Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.

Parameters:
protocol -
clientVersion -
addr -
conf -
factory -
Returns:
proxy
Throws:
IOException

getProxy

public static org.apache.hadoop.ipc.VersionedProtocol getProxy(Class<?> protocol,
                                                               long clientVersion,
                                                               InetSocketAddress addr,
                                                               org.apache.hadoop.security.UserGroupInformation ticket,
                                                               org.apache.hadoop.conf.Configuration conf,
                                                               SocketFactory factory)
                                                        throws IOException
Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.

Parameters:
protocol -
clientVersion -
addr -
ticket -
conf -
factory -
Returns:
proxy
Throws:
IOException

getProxy

public static org.apache.hadoop.ipc.VersionedProtocol getProxy(Class<?> protocol,
                                                               long clientVersion,
                                                               InetSocketAddress addr,
                                                               org.apache.hadoop.conf.Configuration conf)
                                                        throws IOException
Construct a client-side proxy object with the default SocketFactory

Parameters:
protocol -
clientVersion -
addr -
conf -
Returns:
a proxy instance
Throws:
IOException

stopProxy

public static void stopProxy(org.apache.hadoop.ipc.VersionedProtocol proxy)
Stop this proxy and release its invoker's resource

Parameters:
proxy - the proxy to be stopped

call

public static Object[] call(Method method,
                            Object[][] params,
                            InetSocketAddress[] addrs,
                            org.apache.hadoop.conf.Configuration conf)
                     throws IOException
Expert: Make multiple, parallel calls to a set of servers.

Parameters:
method -
params -
addrs -
conf -
Returns:
values
Throws:
IOException

getServer

public static HBaseRPC.Server getServer(Object instance,
                                        String bindAddress,
                                        int port,
                                        org.apache.hadoop.conf.Configuration conf)
                                 throws IOException
Construct a server for a protocol implementation instance listening on a port and address.

Parameters:
instance -
bindAddress -
port -
conf -
Returns:
Server
Throws:
IOException

getServer

public static HBaseRPC.Server getServer(Object instance,
                                        String bindAddress,
                                        int port,
                                        int numHandlers,
                                        boolean verbose,
                                        org.apache.hadoop.conf.Configuration conf)
                                 throws IOException
Construct a server for a protocol implementation instance listening on a port and address.

Parameters:
instance -
bindAddress -
port -
numHandlers -
verbose -
conf -
Returns:
Server
Throws:
IOException


Copyright © 2008 The Apache Software Foundation