summaryrefslogtreecommitdiff
path: root/java/common
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-02-11 19:21:01 +0000
committerRafael H. Schloming <rhs@apache.org>2008-02-11 19:21:01 +0000
commite8050421ca455801d511134ad520d5be779107e8 (patch)
tree79a2b606be9f14f257a21fffdc4d6a4bfa89a698 /java/common
parentf6a10de289fe5e0f6790c362d9726d6b31c21ca0 (diff)
downloadqpid-python-e8050421ca455801d511134ad520d5be779107e8.tar.gz
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
Diffstat (limited to 'java/common')
-rw-r--r--java/common/src/main/java/org/apache/qpidity/transport/Session.java11
1 files changed, 6 insertions, 5 deletions
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()