yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #16459
[Bug 1330364] Re: Duplicate Qpid connection is created during Connection initialization
Fixed in oslo.messaging by I7618cf3506d857579dc37b338690d05179ba272d
oslo-incubator patch https://review.openstack.org/#/c/100177/
Note - this isn't nearly as bad as the report makes it sound. We simple
creating duplicate connection objects, but don't actually set up and
tear down extra sockets with the broker
** Also affects: oslo
Importance: Undecided
Status: New
** Also affects: oslo.messaging
Importance: Undecided
Status: New
** Changed in: oslo.messaging
Status: New => Fix Released
** Changed in: oslo.messaging
Importance: Undecided => Low
** Changed in: oslo.messaging
Assignee: (unassigned) => ChangBo Guo(gcb) (glongwave)
** Changed in: oslo
Importance: Undecided => Low
** Changed in: oslo
Status: New => Triaged
** Changed in: oslo
Status: Triaged => In Progress
** Changed in: oslo
Assignee: (unassigned) => zhu zhu (zhuzhubj)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1330364
Title:
Duplicate Qpid connection is created during Connection initialization
Status in OpenStack Neutron (virtual network service):
New
Status in Oslo - a Library of Common OpenStack Code:
In Progress
Status in Messaging API for OpenStack:
Fix Released
Bug description:
neutron was still adopting the oslo incubator code for rpc modules.
During the qpid connection setup from amqp get_connection_pool.
Duplicate connections will be created during __init__(class Connection
in impl_qpid.py). And after the first connection object is created,
this connection will never be used, and within the next step method
reconnect, it will create a new qpid connection object and open it.
Need to fix this issue for duplicate creation of qpid connection.
Impl_qpid.py
class Connection(object):
"""Connection object."""
pool = None
def __init__(self, conf, server_params=None):
if not qpid_messaging:
raise ImportError("Failed to import qpid.messaging")
self.session = None
self.consumers = {}
self.consumer_thread = None
self.proxy_callbacks = []
self.conf = conf
if server_params and 'hostname' in server_params:
# NOTE(russellb) This enables support for cast_to_server.
server_params['qpid_hosts'] = [
'%s:%d' % (server_params['hostname'],
server_params.get('port', 5672))
]
params = {
'qpid_hosts': self.conf.qpid_hosts,
'username': self.conf.qpid_username,
'password': self.conf.qpid_password,
}
params.update(server_params or {})
self.brokers = params['qpid_hosts']
self.username = params['username']
self.password = params['password']
brokers_count = len(self.brokers)
self.next_broker_indices = itertools.cycle(range(brokers_count))
self.connection_create(self.brokers[0])
self.reconnect()
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1330364/+subscriptions
References