Comment 6 for bug 1609766

Revision history for this message
Kirill Bespalov (k-besplv) wrote :

Do not forget that exchange declared with flag 'auto-delete'.

The bug appears then one of nodes in cluster is failed and kombu driver in the ensure() method call on_error callback - on_reconnection(new_channel) (see impl_rabbit:750) where is we redeclare all consumers. But this step may failed, because exchange is auto-delete, take a look on consumer declaration process:

1) exchange.declare (already exists, just metadata shared between nodes in cluster)
2) queue.declare (not exist, because master node of the queue failed)
3) so, due to long time that the auto-delete exchange had no binded queues it's just deleted at this step.
4) queue.bind - failed because exchange does not exists.