nova redeclares the `nova` named exchange zillion times without a real need
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned | ||
oslo.messaging |
Fix Released
|
Undecided
|
Mehdi Abaakouk |
Bug Description
The AMQP broker preserves the exchanges, they are replaced to all broker even in non HA mode.
A transient exchange can disappear ONLY when the user explicitly requests it's deletion or when the full rabbit cluster dies.
More efficient to declare exchanges only when it is really missing.
Application MUST redeclare the exchange when it was reported as Not Found.
Note.: The Channel exceptions causes channel termination, but not connection termination.
Application MAY try to redeclare the exchange on connection breakage, it can assume the messaging cluster dead.
Application SHOULD redeclare the exchange at application start up to verify the attributes (Before the first usage).
Application does not needs to redeclare the exchange in any other cases.
Now, significant amount of the AMQP request/response-es is Exchange.Declare -> Exchange.
Changed in oslo.messaging: | |
status: | New → Confirmed |
Changed in oslo.messaging: | |
milestone: | none → next-liberty |
Changed in oslo.messaging: | |
status: | Fix Committed → Fix Released |
Is this because of how oslo.messaging is implemented or how nova uses oslo.messaging?