We try to reconnect to fanout (exclusive) queues
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 |
Changed in oslo: | |
milestone: | none → havana-2 |
status: | Fix Committed → Fix Released |
Changed in oslo: | |
milestone: | havana-2 → 2013.2 |
Fix proposed to branch: master /review. openstack. org/31718
Review: https:/