nova-compute do not hold connection for rpcs erver after reconnecting
Bug #1408830 reported by
QingchuanHao
This bug affects 1 person
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| oslo.messaging |
Fix Released
|
Undecided
|
Mehdi Abaakouk | ||
Bug Description
nova-compute service starts with as rpc server for queues compute, compute.host, compute_fanout_uuid ,normally. But in my environment, I found no consumers of compute queue, and netstat showed 4 connections. One is for reply queue, two maybe for publishing, last one for nothing without channel, as I found in the rabbitmq web management UI.
I can not reproduce the problem, but our test colleagues can drive me crazy.
| Changed in oslo.messaging: | |
| assignee: | nobody → Mehdi Abaakouk (sileht) |
| milestone: | none → next-liberty |
| Changed in oslo.messaging: | |
| status: | Triaged → In Progress |
| Changed in oslo.messaging: | |
| status: | Fix Committed → Fix Released |
To post a comment you must log in.
In kilo oslo.messaing, the reconnect is implemented in kombu, autoretry. Continous connection error will raise the exception and the error_callback will never be called, which results in a connection having no consumer. THe higher version Kombu fixed the problem by catching continous connection error.
interval_ start=1, interval_step=1, interval_max=1,
on_ revive= None):
got_ connection = 0
return fun(*args, **kwargs) connection_ errors as exc:
raise
..... .
def ensure(self, obj, fun, errback=None, max_retries=None,
def _ensured(*args, **kwargs):
for retries in count(0): # for infinity
try:
except recoverable_
if got_connection: