Author: kwall
Date: Tue Nov 17 17:58:11 2015
New Revision: 1714839
URL: http://svn.apache.org/viewvc?rev=1714839&view=rev
Log:
QPID-6844 : Ensure that the AMQP 1.0 consumer target takes credit only if it
did not suspend
Modified:
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java
Modified:
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java?rev=1714839&r1=1714838&r2=1714839&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java
Tue Nov 17 17:58:11 2015
@@ -291,12 +291,17 @@ class ConsumerTarget_1_0 extends Abstrac
ProtocolEngine protocolEngine =
getSession().getConnection().getAmqpConnection();
final boolean hasCredit = _link.isAttached() &&
getEndpoint().hasCreditToSend() &&
!protocolEngine.isTransportBlockedForWriting();
- if(!hasCredit && getState() == State.ACTIVE)
+ if (!hasCredit && getState() == State.ACTIVE)
{
suspend();
}
- SendingLinkEndpoint linkEndpoint = _link.getEndpoint();
-
linkEndpoint.setLinkCredit(linkEndpoint.getLinkCredit().subtract(UnsignedInteger.ONE));
+
+ if (hasCredit)
+ {
+ SendingLinkEndpoint linkEndpoint = _link.getEndpoint();
+
linkEndpoint.setLinkCredit(linkEndpoint.getLinkCredit().subtract(UnsignedInteger.ONE));
+ }
+
return hasCredit;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]