Author: kwall
Date: Thu Jan 5 13:31:27 2012
New Revision: 1227582
URL: http://svn.apache.org/viewvc?rev=1227582&view=rev
Log:
QPID-3704: OutOfOrderQueue#checkSubscriptionsNotAheadOfDelivery cannot consider
_lastSeenEntry when determing if _releasedEntry should be retarded
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java?rev=1227582&r1=1227581&r2=1227582&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java
(original)
+++
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java
Thu Jan 5 13:31:27 2012
@@ -1,12 +1,14 @@
package org.apache.qpid.server.queue;
import java.util.Map;
+
import org.apache.qpid.server.subscription.Subscription;
import org.apache.qpid.server.subscription.SubscriptionList;
import org.apache.qpid.server.virtualhost.VirtualHost;
public abstract class OutOfOrderQueue extends SimpleAMQQueue
{
+
protected OutOfOrderQueue(String name, boolean durable, String owner,
boolean autoDelete, boolean exclusive,
VirtualHost virtualHost,
QueueEntryListFactory entryListFactory,
Map<String, Object> arguments)
@@ -27,11 +29,8 @@ public abstract class OutOfOrderQueue ex
QueueContext context = (QueueContext)
subscription.getQueueContext();
if(context != null)
{
- QueueEntry subnode = context._lastSeenEntry;
QueueEntry released = context._releasedEntry;
-
- while(subnode != null && entry.compareTo(subnode) < 0 &&
!entry.isAcquired()
- && (released == null || released.compareTo(entry)
> 0))
+ while(!entry.isAcquired() && (released == null ||
released.compareTo(entry) > 0))
{
if(QueueContext._releasedUpdater.compareAndSet(context,released,entry))
{
@@ -39,14 +38,11 @@ public abstract class OutOfOrderQueue ex
}
else
{
- subnode = context._lastSeenEntry;
released = context._releasedEntry;
}
-
}
}
}
-
}
}
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]