From ff2dcbc4087986ed24fb9006421eac611bc3186b Mon Sep 17 00:00:00 2001 From: Luke Lu Date: Tue, 11 Jun 2013 03:31:10 +0000 Subject: [PATCH] HADOOP-9630. [RPC v9] Remove IpcSerializationType. (Junping Du via llu) git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1491683 13f79535-47bb-0310-9956-ffa450edef68 --- .../hadoop-common/CHANGES.txt | 12 +++--- .../java/org/apache/hadoop/ipc/Client.java | 3 -- .../java/org/apache/hadoop/ipc/Server.java | 37 +------------------ 3 files changed, 8 insertions(+), 44 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index f1b4512a782..dc266e81d82 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -30,17 +30,19 @@ Release 2.1.0-beta - UNRELEASED HADOOP-8886. Remove KFS support. (eli) - HADOOP-9163 The rpc msg in ProtobufRpcEngine.proto should be moved out to + HADOOP-9163. [RPC v9] The rpc msg in ProtobufRpcEngine.proto should be moved out to avoid an extra copy (Sanjay Radia) - HADOOP-9151 Include RPC error info in RpcResponseHeader instead of sending + HADOOP-9151. [RPC v9] Include RPC error info in RpcResponseHeader instead of sending it separately (sanjay Radia) - HADOOP-9380 Add totalLength to rpc response (sanjay Radia) + HADOOP-9380. [RPC v9] Add totalLength to rpc response (sanjay Radia) - HADOOP-9425 Add error codes to rpc-response (sanjay Radia) + HADOOP-9425. [RPC v9] Add error codes to rpc-response (sanjay Radia) - HADOOP-9194. RPC support for QoS. (Junping Du via llu) + HADOOP-9194. [RPC v9] RPC support for QoS. (Junping Du via llu) + + HADOOP-9630. [RPC v9] Remove IpcSerializationType. (Junping Du via llu) NEW FEATURES diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java index 21ec16521f7..d5a41051872 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java @@ -748,8 +748,6 @@ private void handleConnectionFailure(int curRetries, IOException ioe * +----------------------------------+ * | Authmethod (1 byte) | * +----------------------------------+ - * | IpcSerializationType (1 byte) | - * +----------------------------------+ */ private void writeConnectionHeader(OutputStream outStream) throws IOException { @@ -759,7 +757,6 @@ private void writeConnectionHeader(OutputStream outStream) out.write(Server.CURRENT_VERSION); out.write(serviceClass); authMethod.write(out); - Server.IpcSerializationType.PROTOBUF.write(out); out.flush(); } diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java index 5bffbaf12b2..4080cd5bb09 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java @@ -161,22 +161,6 @@ boolean isTerse(Class t) { */ public static final ByteBuffer HEADER = ByteBuffer.wrap("hrpc".getBytes()); - /** - * Serialization type for ConnectionContext and RpcRequestHeader - */ - public enum IpcSerializationType { - // Add new serialization type to the end without affecting the enum order - PROTOBUF; - - void write(DataOutput out) throws IOException { - out.writeByte(this.ordinal()); - } - - static IpcSerializationType fromByte(byte b) { - return IpcSerializationType.values()[b]; - } - } - /** * If the user accidentally sends an HTTP GET to an IPC port, we detect this * and send back a nicer response. @@ -1319,7 +1303,7 @@ public int readAndProcess() throws IOException, InterruptedException { if (!connectionHeaderRead) { //Every connection is expected to send the header. if (connectionHeaderBuf == null) { - connectionHeaderBuf = ByteBuffer.allocate(4); + connectionHeaderBuf = ByteBuffer.allocate(3); } count = channelRead(channel, connectionHeaderBuf); if (count < 0 || connectionHeaderBuf.remaining() > 0) { @@ -1352,13 +1336,6 @@ public int readAndProcess() throws IOException, InterruptedException { return -1; } - IpcSerializationType serializationType = IpcSerializationType - .fromByte(connectionHeaderBuf.get(3)); - if (serializationType != IpcSerializationType.PROTOBUF) { - respondUnsupportedSerialization(serializationType); - return -1; - } - dataLengthBuffer.clear(); if (authMethod == null) { throw new IOException("Unable to read authentication method"); @@ -1551,18 +1528,6 @@ private void setupBadVersionResponse(int clientVersion) throws IOException { } } - private void respondUnsupportedSerialization(IpcSerializationType st) throws IOException { - String errMsg = "Server IPC version " + CURRENT_VERSION - + " do not support serilization " + st.toString(); - ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - - Call fakeCall = new Call(-1, null, this); - setupResponse(buffer, fakeCall, - RpcStatusProto.FATAL, RpcErrorCodeProto.FATAL_UNSUPPORTED_SERIALIZATION, - null, IpcException.class.getName(), errMsg); - responder.doRespond(fakeCall); - } - private void setupHttpRequestOnIpcPortResponse() throws IOException { Call fakeCall = new Call(0, null, this); fakeCall.setResponse(ByteBuffer.wrap(