Jelajahi Sumber

Revert commit 903015 because it was tagged with the wrong jira number HADOOP-6459.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@903468 13f79535-47bb-0310-9956-ffa450edef68
Hairong Kuang 15 tahun lalu
induk
melakukan
d6f4cf3dfe

+ 0 - 3
CHANGES.txt

@@ -1320,9 +1320,6 @@ Release 0.20.2 - Unreleased
     HADOOP-6315. Avoid incorrect use of BuiltInflater/BuiltInDeflater in
     GzipCodec. (Aaron Kimball via cdouglas)
 
-    HADOOP-6498. IPC client bug may cause rpc call hang. (Ruyue Ma and hairong
-    via hairong)
-
 Release 0.20.1 - 2009-09-01
 
   INCOMPATIBLE CHANGES

+ 1 - 2
src/java/org/apache/hadoop/ipc/Client.java

@@ -529,14 +529,13 @@ public class Client {
         if (LOG.isDebugEnabled())
           LOG.debug(getName() + " got value #" + id);
 
-        Call call = calls.get(id);
+        Call call = calls.remove(id);
 
         int state = in.readInt();     // read call status
         if (state == Status.SUCCESS.state) {
           Writable value = ReflectionUtils.newInstance(valueClass, conf);
           value.readFields(in);                 // read value
           call.setValue(value);
-          calls.remove(id);
         } else if (state == Status.ERROR.state) {
           call.setException(new RemoteException(WritableUtils.readString(in),
                                                 WritableUtils.readString(in)));

+ 3 - 39
src/test/core/org/apache/hadoop/ipc/TestIPC.java

@@ -26,7 +26,6 @@ import org.apache.hadoop.util.StringUtils;
 import org.apache.hadoop.net.NetUtils;
 
 import java.util.Random;
-import java.io.DataInput;
 import java.io.IOException;
 import java.net.InetSocketAddress;
 
@@ -89,7 +88,7 @@ public class TestIPC extends TestCase {
         try {
           LongWritable param = new LongWritable(RANDOM.nextLong());
           LongWritable value =
-            (LongWritable)client.call(param, server, null, null);
+            (LongWritable)client.call(param, server);
           if (!param.equals(value)) {
             LOG.fatal("Call failed!");
             failed = true;
@@ -122,7 +121,7 @@ public class TestIPC extends TestCase {
           Writable[] params = new Writable[addresses.length];
           for (int j = 0; j < addresses.length; j++)
             params[j] = new LongWritable(RANDOM.nextLong());
-          Writable[] values = client.call(params, addresses, null, null);
+          Writable[] values = client.call(params, addresses);
           for (int j = 0; j < addresses.length; j++) {
             if (!params[j].equals(values[j])) {
               LOG.fatal("Call failed!");
@@ -217,7 +216,7 @@ public class TestIPC extends TestCase {
     InetSocketAddress address = new InetSocketAddress("127.0.0.1", 10);
     try {
       client.call(new LongWritable(RANDOM.nextLong()),
-              address, null, null);
+              address);
       fail("Expected an exception to have been thrown");
     } catch (IOException e) {
       String message = e.getMessage();
@@ -232,41 +231,6 @@ public class TestIPC extends TestCase {
     }
   }
 
-  private static class LongErrorWritable extends LongWritable {
-    private final static String ERR_MSG = 
-      "Come across an exception while reading";
-    
-    LongErrorWritable() {}
-    
-    LongErrorWritable(long longValue) {
-      super(longValue);
-    }
-    
-    public void readFields(DataInput in) throws IOException {
-      super.readFields(in);
-      throw new IOException(ERR_MSG);
-    }
-  }
-  public void testErrorClient() throws Exception {
-    // start server
-    Server server = new TestServer(1, false);
-    InetSocketAddress addr = NetUtils.getConnectAddress(server);
-    server.start();
-
-    // start client
-    Client client = new Client(LongErrorWritable.class, conf);
-    try {
-      client.call(new LongErrorWritable(RANDOM.nextLong()),
-              addr, null, null);
-      fail("Expected an exception to have been thrown");
-    } catch (IOException e) {
-      // check error
-      Throwable cause = e.getCause();
-      assertTrue(cause instanceof IOException);
-      assertEquals(LongErrorWritable.ERR_MSG, cause.getMessage());
-    }
-  }
-
 
   public static void main(String[] args) throws Exception {