summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-09-06 16:44:24 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-09-06 16:44:24 +0000
commitf2dd65475a2d6244a5fb8ebfb618bb608710ace7 (patch)
tree1b7b6559e4d153d0acb079edd186b07c21a6a412
parent076287fbd5b99074d37b3ac5d8bf192c3fc1ff91 (diff)
downloadqpid-python-f2dd65475a2d6244a5fb8ebfb618bb608710ace7.tar.gz
QPID-6077 : [Java AMQP 1.0] memory leak in receiver where sender settles first
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1622886 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ReceivingLinkEndpoint.java23
1 files changed, 18 insertions, 5 deletions
diff --git a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ReceivingLinkEndpoint.java b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ReceivingLinkEndpoint.java
index 0407453160..a23aa77316 100644
--- a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ReceivingLinkEndpoint.java
+++ b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ReceivingLinkEndpoint.java
@@ -21,12 +21,23 @@
package org.apache.qpid.amqp_1_0.transport;
-import org.apache.qpid.amqp_1_0.type.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import org.apache.qpid.amqp_1_0.type.Binary;
+import org.apache.qpid.amqp_1_0.type.DeliveryState;
+import org.apache.qpid.amqp_1_0.type.Outcome;
+import org.apache.qpid.amqp_1_0.type.UnsignedInteger;
import org.apache.qpid.amqp_1_0.type.transaction.TransactionalState;
-import org.apache.qpid.amqp_1_0.type.transport.*;
-
-
-import java.util.*;
+import org.apache.qpid.amqp_1_0.type.transport.Attach;
+import org.apache.qpid.amqp_1_0.type.transport.Flow;
+import org.apache.qpid.amqp_1_0.type.transport.Role;
+import org.apache.qpid.amqp_1_0.type.transport.Transfer;
public class ReceivingLinkEndpoint extends LinkEndpoint<ReceivingLinkListener>
{
@@ -428,6 +439,8 @@ public class ReceivingLinkEndpoint extends LinkEndpoint<ReceivingLinkListener>
public void settle(Binary deliveryTag)
{
super.settle(deliveryTag);
+ _unsettledIds.remove(deliveryTag);
+ _unsettledMap.remove(deliveryTag);
if(_creditWindow)
{
sendFlowConditional();