From 58ff90ab8f48cd6ff3301811343a4b3bab569955 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Wed, 21 Jan 2009 14:19:20 +0000 Subject: 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/qpid@736316 13f79535-47bb-0310-9956-ffa450edef68 --- java/common/src/main/java/org/apache/qpid/transport/Session.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'java/common') diff --git a/java/common/src/main/java/org/apache/qpid/transport/Session.java b/java/common/src/main/java/org/apache/qpid/transport/Session.java index 1a44ed8973..32bb9ca612 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/Session.java +++ b/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(); -- cgit v1.2.1