Alex Rudyy created QPID-7505:
--------------------------------
Summary: [Java Client,0-10] The consumer credits might not be
restored by the time when MessageConsumer#receive() returns in situations when
there is no message prefetched locally and consumer is sending
message.flush/flow as part of receive() to force delivery
Key: QPID-7505
URL: https://issues.apache.org/jira/browse/QPID-7505
Project: Qpid
Issue Type: Bug
Components: Java Client
Affects Versions: qpid-java-6.0.5, qpid-java-6.0.4, qpid-java-6.0.3,
qpid-java-6.0.2, qpid-java-6.0.1, qpid-java-6.0, 0.32, 0.30, 0.28, 0.26, 0.24,
0.22, 0.20, 0.18, qpid-java-6.1
Reporter: Alex Rudyy
Fix For: qpid-java-6.0.2
As part of changes made for QPID-1642 the functionality of
BasicMessageConsumer_0_10#receive(long) was changed to force message delivery
by sending message.flush when there is no message present locally in a consumer
queue. The message.flush is followed by the message.flow to restore the credit
as message.flush forces the sender to exhaust his credit supply making it zero
when message.flush command completes. However, no sync is sent after sending
message flow. As result, in some cases the credit is not restored promptly
impacting various messaging scenarios when message is published immediately
after receive() is called but the published message is delivered to another
consumer because credits are not restored on the consumer without messages
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]