HADOOP-7931. o.a.h.ipc.WritableRpcEngine should have a way to force initialization. Contributed by Aaron T. Myers
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1215358 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9b7617a909
commit
059290ce3a
@ -141,6 +141,9 @@ Trunk (unreleased changes)
|
|||||||
|
|
||||||
HADOOP-7892. IPC logs too verbose after "RpcKind" introduction (todd)
|
HADOOP-7892. IPC logs too verbose after "RpcKind" introduction (todd)
|
||||||
|
|
||||||
|
HADOOP-7931. o.a.h.ipc.WritableRpcEngine should have a way to force
|
||||||
|
initialization (atm)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HADOOP-7761. Improve the performance of raw comparisons. (todd)
|
HADOOP-7761. Improve the performance of raw comparisons. (todd)
|
||||||
|
@ -48,18 +48,39 @@
|
|||||||
public class WritableRpcEngine implements RpcEngine {
|
public class WritableRpcEngine implements RpcEngine {
|
||||||
private static final Log LOG = LogFactory.getLog(RPC.class);
|
private static final Log LOG = LogFactory.getLog(RPC.class);
|
||||||
|
|
||||||
static { // Register the rpcRequest deserializer for WritableRpcEngine
|
|
||||||
org.apache.hadoop.ipc.Server.registerProtocolEngine(RpcKind.RPC_WRITABLE,
|
|
||||||
Invocation.class, new Server.WritableRpcInvoker());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//writableRpcVersion should be updated if there is a change
|
//writableRpcVersion should be updated if there is a change
|
||||||
//in format of the rpc messages.
|
//in format of the rpc messages.
|
||||||
|
|
||||||
// 2L - added declared class to Invocation
|
// 2L - added declared class to Invocation
|
||||||
public static final long writableRpcVersion = 2L;
|
public static final long writableRpcVersion = 2L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether or not this class has been initialized.
|
||||||
|
*/
|
||||||
|
private static boolean isInitialized = false;
|
||||||
|
|
||||||
|
static {
|
||||||
|
ensureInitialized();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize this class if it isn't already.
|
||||||
|
*/
|
||||||
|
public static synchronized void ensureInitialized() {
|
||||||
|
if (!isInitialized) {
|
||||||
|
initialize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the rpcRequest deserializer for WritableRpcEngine
|
||||||
|
*/
|
||||||
|
private static synchronized void initialize() {
|
||||||
|
org.apache.hadoop.ipc.Server.registerProtocolEngine(RpcKind.RPC_WRITABLE,
|
||||||
|
Invocation.class, new Server.WritableRpcInvoker());
|
||||||
|
isInitialized = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/** A method invocation, including the method name and its parameters.*/
|
/** A method invocation, including the method name and its parameters.*/
|
||||||
private static class Invocation implements Writable, Configurable {
|
private static class Invocation implements Writable, Configurable {
|
||||||
|
Loading…
Reference in New Issue
Block a user