You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2008/05/08 18:01:43 UTC

[jira] Updated: (AMQ-1714) messages get dispatched to a removed consumer, locked and remain unavailable - appear as missing

     [ https://issues.apache.org/activemq/browse/AMQ-1714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully updated AMQ-1714:
----------------------------

    Attachment: amq1714.patch

this patch provides a test case that shows the problem and a fix that adds additional synchronisation to the queue dispatch method.
removing a subscription needs to be synchronized with the use of subscriptions. This seems to be the intended use of dispatchLock but up till now dispatch() does not lock dispatchLock.

> messages get dispatched to a removed consumer, locked and remain unavailable - appear as missing
> ------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-1714
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1714
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>            Reporter: Gary Tully
>         Attachments: amq1714.patch
>
>
> with failover transport. multiple non persistent producers and consumers on a single queue  and transport disconnects, it is possible for a messages to get dispatched to a removed subscription or consumer. These messages are locked and hence cannot get dispatched to new consumers when the network ins reconnected. From a consumer perspective it looks like there are missing messages.
> The problem occurs is messages are being dispatched while subscription removal occurring. The list of consumers is modified, inflight messages are removed from the subscription, unlocked and re dispatched. However, dispatch of messages is not synchronised with this removal and it is possible to dispatch to a removed consumer. Any such messages will be locked and never re dispatched.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.