You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2016/11/10 11:22:58 UTC

[jira] [Commented] (QPID-7505) [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

    [ https://issues.apache.org/jira/browse/QPID-7505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15653809#comment-15653809 ] 

ASF subversion and git services commented on QPID-7505:
-------------------------------------------------------

Commit 1769088 from orudyy@apache.org in branch 'java/trunk'
[ https://svn.apache.org/r1769088 ]

QPID-7505: Sync session after sending flow command to restore credits after credits reset in result of execution of message.flush as part of BaseicMessageConsumer_0_10#receive()

> [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: 0.18, 0.20, 0.22, 0.24, 0.26, 0.28, 0.30, 0.32, qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, 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 after message.flush



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org