You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/12/15 14:22:35 UTC
svn commit: r1774469 -
/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
Author: kwall
Date: Thu Dec 15 14:22:35 2016
New Revision: 1774469
URL: http://svn.apache.org/viewvc?rev=1774469&view=rev
Log:
QPID-7591: [Java Broker] Ensure that message reference is held for browsers until the consumer target sends the message
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1774469&r1=1774468&r2=1774469&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Thu Dec 15 14:22:35 2016
@@ -1960,28 +1960,18 @@ public abstract class AbstractQueue<X ex
if (sub.allocateCredit(node))
{
MessageReference messageReference = null;
- try
+ if ((sub.acquires() && !assign(sub, node))
+ || (!sub.acquires() && (messageReference = node.newMessageReference()) == null))
{
+ // restore credit here that would have been taken away by allocateCredit since we didn't manage
+ // to acquire the entry for this consumer
+ sub.restoreCredit(node);
- if ((sub.acquires() && !assign(sub, node))
- || (!sub.acquires() && (messageReference = node.newMessageReference()) == null))
- {
- // restore credit here that would have been taken away by wouldSuspend since we didn't manage
- // to acquire the entry for this consumer
- sub.restoreCredit(node);
- }
- else
- {
- setLastSeenEntry(sub, node);
- messageContainer = new MessageContainer(node, messageReference, false);
- }
}
- finally
+ else
{
- if (messageReference != null)
- {
- messageReference.release();
- }
+ setLastSeenEntry(sub, node);
+ messageContainer = new MessageContainer(node, messageReference, false);
}
}
else
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org