summaryrefslogtreecommitdiff
path: root/java/broker/src/main
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2008-09-18 16:12:46 +0000
committerAidan Skinner <aidan@apache.org>2008-09-18 16:12:46 +0000
commit120d4bb0ab925450e5f7072ab8284b5b2abd8495 (patch)
tree4bf080690dfc5f79147d6554a8cb48ad72c59f53 /java/broker/src/main
parente2b079386b19c34a26bb4a7c67bd002ebb9bdc94 (diff)
downloadqpid-python-120d4bb0ab925450e5f7072ab8284b5b2abd8495.tar.gz
QPID-1286: make sure priority queues don't mess with deleted subscriptions
AMQPriorityQueue: don't advance deleted subscriptions AMQPriorityQueueTest: Add test class for priority queues SimpleAMQQueueTest: Add more tests PriorityTest: Check for more message orders git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@696686 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/main')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java
index e14ed0f41d..d7aef34a10 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java
@@ -52,8 +52,12 @@ public class AMQPriorityQueue extends SimpleAMQQueue
while(subIter.advance() && !entry.isAcquired())
{
final Subscription subscription = subIter.getNode().getSubscription();
+ if (subIter.getNode().isDeleted())
+ {
+ continue;
+ }
QueueEntry subnode = subscription.getLastSeenEntry();
- while((entry.compareTo(subnode) < 0) && !entry.isAcquired())
+ while(entry.compareTo(subnode) < 0 && !entry.isAcquired())
{
if(subscription.setLastSeenEntry(subnode,entry))
{