summaryrefslogtreecommitdiff
path: root/qpid/java/common
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2009-01-21 14:19:20 +0000
committerRafael H. Schloming <rhs@apache.org>2009-01-21 14:19:20 +0000
commit19c49dee096d829c2e5cc38f42c358130a772e63 (patch)
tree89d8df90b3b584a8bf93e30cc3ae398175718e01 /qpid/java/common
parent9664d34900b53df734783c7d9fff5b8a2bfbc81f (diff)
downloadqpid-python-19c49dee096d829c2e5cc38f42c358130a772e63.tar.gz
QPID-1605: added an assertion to catch acknowledgments of message-ids outside the range permitted on a session; added code to pause failover until messages from old sessions have been cleared out of the dispatcher queue
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@736316 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
index 1a44ed8973..32bb9ca612 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
@@ -292,6 +292,13 @@ public class Session extends SessionInvoker
synchronized (processedLock)
{
log.debug("%s", processed);
+
+ if (ge(range.getUpper(), commandsIn))
+ {
+ throw new IllegalArgumentException
+ ("range exceeds max received command-id: " + range);
+ }
+
processed.add(range);
Range first = processed.getFirst();
int lower = first.getLower();