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 2013/12/10 15:12:07 UTC

[jira] [Commented] (QPID-5404) HA broker message duplication when deleting a queue with an alt-exchange

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

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

Commit 1549844 from [~aconway] in branch 'qpid/trunk'
[ https://svn.apache.org/r1549844 ]

QPID-5404: HA broker message duplication when deleting a queue with an alt-exchange

The old code ran auto-delete on the backup on disconnect.  This reroutes
messages onto the alt queue with incorrect replication IDs from the original
queue, and then replicates duplicate rerouted messages from the primary.  The
solution is to process auto deletes on the new primary and let them replicate to
the backups.

- Move all auto-delete logic into QueueReplicator
- Primary process auto-delete on QueueReplicator as part of promotion.

> HA broker message duplication when deleting a queue with an alt-exchange
> ------------------------------------------------------------------------
>
>                 Key: QPID-5404
>                 URL: https://issues.apache.org/jira/browse/QPID-5404
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Clustering
>    Affects Versions: 0.24
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>
> See also: https://bugzilla.redhat.com/show_bug.cgi?id=859119
> Description of problem:
> When deleting a queue with an alternate exchange, both the primary and the backup brokers will route messages to the alt-exchange when the queue is deleted.  This will cause the backups to potentially receive duplicate copies of the message if the alt-exchange is bound to a replicated queue (one set from the local route to the alt-exchange and another from the primary due to its route to the alt-exchange).  Suggest that the backup brokers should not route messages to the alt-exchange when a queue is deleted.  
> Additionally, for auto-delete queues with an alt-exchange, upon loss of a primary, the backup brokers should not immediately start the auto-delete process.  Instead, the backups should wait for the promotion of a new primary.  Upon selection of the new primary, the auto-delete process can start so that the new primary will route the messages to the alt-exchange and the backups will not route the messages to the alt-exchange.
> Version-Release number of selected component (if applicable):
> Qpid 0.18
> How reproducible:
> Backup needs to receive the QMF queue delete event prior to receiving the queue's deque replication events.
> Steps to reproduce:
> 1) Bind queue test0 to amq.fanout
> 2) Create queue test1 with an alt-exchange to amq.fanout
> 3) Send a message to test1
> 4) Delete queue test1
> Actual results:
> The queue test0 will have 1 message on the primary host but 2 messages on the backups
> Expected results:
> The queue test0 will have 1 message on all hosts



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

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