diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-02-20 15:42:00 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-02-20 15:42:00 +0000 |
| commit | e9f5602cdf5b100a348a2f95c620805ffab803b9 (patch) | |
| tree | 7f484ad10fd1e5c57d14daa4a40cba07f9821140 /qpid/java | |
| parent | de8928de2d9f72fd862059ab2aa5b921f95a0a30 (diff) | |
| download | qpid-python-e9f5602cdf5b100a348a2f95c620805ffab803b9.tar.gz | |
QPID-5570 : Client incorrectly acknowledges prefetched messages with client-ack
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1570234 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ReceivingLinkEndpoint.java | 36 |
1 files changed, 19 insertions, 17 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 8a5940658c..0407453160 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 @@ -370,29 +370,31 @@ public class ReceivingLinkEndpoint extends LinkEndpoint<ReceivingLinkListener> UnsignedInteger first = deliveryId; UnsignedInteger last = first; - while(iter.hasNext()) + if(!firstTag.equals(lastTag)) { - tag = iter.next(); - tagsToUpdate.add(tag); + while(iter.hasNext()) + { + tag = iter.next(); + tagsToUpdate.add(tag); - deliveryId = _unsettledIds.get(tag).getDeliveryId(); + deliveryId = _unsettledIds.get(tag).getDeliveryId(); - if(deliveryId.equals(last.add(UnsignedInteger.ONE))) - { - last = deliveryId; - } - else - { - ranges.put(first,last); - first = last = deliveryId; - } + if(deliveryId.equals(last.add(UnsignedInteger.ONE))) + { + last = deliveryId; + } + else + { + ranges.put(first,last); + first = last = deliveryId; + } - if(tag.equals(lastTag)) - { - break; + if(tag.equals(lastTag)) + { + break; + } } } - ranges.put(first,last); } |
