summaryrefslogtreecommitdiff
path: root/qpid/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
commit2354c1c85cb237389cf5e8d7984237497a03ce8a (patch)
tree18e9034bec0a692393e95f82cdc8d955d57488fa /qpid/java/common
parentf40cebd498651150e803a702197e67b1a6a38a03 (diff)
downloadqpid-python-2354c1c85cb237389cf5e8d7984237497a03ce8a.tar.gz
fixed computation of ranged acks, fix needed for failing RecoverTest
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@620584 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java
index 08adb99c47..9f0af7cfa1 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java
+++ b/qpid/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()