Author: rhs
Date: Mon Feb 11 11:21:01 2008
New Revision: 620584

URL: http://svn.apache.org/viewvc?rev=620584&view=rev
Log:
fixed computation of ranged acks, fix needed for failing RecoverTest

Modified:
    
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java

Modified: 
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java?rev=620584&r1=620583&r2=620584&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java
 Mon Feb 11 11:21:01 2008
@@ -63,6 +63,7 @@
     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 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()


Reply via email to