We try to reconnect to fanout (exclusive) queues

Bug #1180166 reported by Michael H Wilson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo-incubator
Fix Released
Undecided
Michael H Wilson

Bug Description

According the the AMQP spec an exclusive queue should only ever be usable by a single client. In the qpid amqp impl we try to reconnect to our exclusive fanout queues when connection drops. This works most of the the time because the server auto-delete's the queue quickly enough that by the time you reconnect you are able to create a "new" queue with the same name as the old one. However, in busy environments where the broker isn't able to delete the queue quickly enough you will run into errors about not being able to bind to an exclusive queue.

The solution is fairly simple, we need to override the reconnect method in the FanoutConsumer class and use a new name instead of re-useing the old one.

The other option would be to ditch the old consumers on reconnect and create new ones, but I think the latter is cleaner.

summary: - qpid fanout queue reconnect breaks on busy qpid servers
+ qpid fanout queue reconnect race condition
summary: - qpid fanout queue reconnect race condition
+ Trying to reconnect to an exclusive queue doesn't work
description: updated
description: updated
description: updated
summary: - Trying to reconnect to an exclusive queue doesn't work
+ We try to reconnect to fanout (exclusive) queues
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to oslo-incubator (master)

Fix proposed to branch: master
Review: https://review.openstack.org/31718

Changed in oslo:
assignee: nobody → Michael H Wilson (geekinutah)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to oslo-incubator (master)

Reviewed: https://review.openstack.org/31718
Committed: http://github.com/openstack/oslo-incubator/commit/719eba4cae7f2bc11753b17c65c7597b8d6ed72d
Submitter: Jenkins
Branch: master

commit 719eba4cae7f2bc11753b17c65c7597b8d6ed72d
Author: Michael Wilson <email address hidden>
Date: Thu May 23 10:27:08 2013 -0600

    Don't reconnect to exclusive fanout consumers.

    See bug #1180166, basically we shouldn't be trying to reconnect to
    exclusive queues.

    Fixes: bug #1180166
    Change-Id: I71ac5a150ea8c4d97a34404cb821ce8e8dfa152d

Changed in oslo:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in oslo:
milestone: none → havana-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in oslo:
milestone: havana-2 → 2013.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.