reply_q not re-created

Bug #1466007 reported by Flavio Percoco
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo.messaging
New
High
Unassigned

Bug Description

oslo.messaging doesn't re-declare the "reply_q" exchange when reconnects happen.

It's possible to see this from these 2 links[0][1]. The former shows the `on_reconnection` code and the later shows the method that returns the `reply_q` where replies should be sent. The on_reconnection function calls the `declare` method on the consumer but the `Consumer`'s `declare` method does not re-create the exchange instance[2].

[0] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L660-L670
[1] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/amqpdriver.py#L287-L302
[2] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L205-L209

A way to reproduce this bug is to have a ReplyWaiter instanciated and restart rabbitmq. Consumer's declares will be called but, in the case of non durable exchanges, the exchange won't be re-created.

Changed in oslo.messaging:
assignee: nobody → Flavio Percoco (flaper87)
importance: Undecided → High
Changed in oslo.messaging:
assignee: Flavio Percoco (flaper87) → nobody
Revision history for this message
Mehdi Abaakouk (sileht) wrote :

After investigation, this is the well known bug about certain connections that doesn't detect the disconnection.

This is fixed by enabling heartbeat or set low values to the system tcp_keepalives*.

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.