From e8050421ca455801d511134ad520d5be779107e8 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Mon, 11 Feb 2008 19:21:01 +0000 Subject: fixed computation of ranged acks, fix needed for failing RecoverTest git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@620584 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpidity/transport/Session.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'java/common') diff --git a/java/common/src/main/java/org/apache/qpidity/transport/Session.java b/java/common/src/main/java/org/apache/qpidity/transport/Session.java index 08adb99c47..9f0af7cfa1 100644 --- a/java/common/src/main/java/org/apache/qpidity/transport/Session.java +++ b/java/common/src/main/java/org/apache/qpidity/transport/Session.java @@ -63,6 +63,7 @@ public class Session extends Invoker private long commandsIn = 0; // completed incoming commands private final RangeSet processed = new RangeSet(); + private long processedMark = -1; private Range syncPoint = null; // outgoing command count @@ -132,25 +133,25 @@ public class Session extends Invoker public void flushProcessed() { - long mark = -1; boolean first = true; RangeSet rest = new RangeSet(); synchronized (processed) { for (Range r: processed) { - if (first) + if (first && r.includes(processedMark)) { - first = false; - mark = r.getUpper(); + processedMark = r.getUpper(); } else { rest.add(r); } + + first = false; } } - executionComplete(mark, rest); + executionComplete(processedMark, rest); } void syncPoint() -- cgit v1.2.1