Explorar o código

HADOOP-8986. Server$Call object is never released after it is sent (bobby)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1403745 13f79535-47bb-0310-9956-ffa450edef68
Robert Joseph Evans %!s(int64=12) %!d(string=hai) anos
pai
achega
12eb3b8abc

+ 2 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -1106,6 +1106,8 @@ Release 0.23.5 - UNRELEASED
     HADOOP-8962. RawLocalFileSystem.listStatus fails when a child filename
     contains a colon (jlowe via bobby)
 
+    HADOOP-8986. Server$Call object is never released after it is sent (bobby)
+
 Release 0.23.4 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 2 - 0
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java

@@ -974,6 +974,8 @@ public abstract class Server {
             return true;
           }
           if (!call.rpcResponse.hasRemaining()) {
+            //Clear out the response buffer so it can be collected
+            call.rpcResponse = null;
             call.connection.decRpcCount();
             if (numElements == 1) {    // last call fully processes.
               done = true;             // no more data for this channel.