You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2008/02/11 20:21:03 UTC

svn commit: r620584 - /incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java

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()