From 234f64d608266f43d8856ff98c89ceba6699d752 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Wed, 9 Apr 2014 11:32:44 -0400 Subject: [PATCH] Update ensure()/reconnect() to catch MessagingError The error handling code that gets connections reset if necessary caught ConnectionError. It really needs to catch MessagingError, which ConnectionError inherits from. There are other types of MessagingErrors that may occur, such as InternalError, and they need to cause the connection to reset, as well. This fix has already been merged into oslo.messaging. Closes-bug: #1303890 Change-Id: Ic5082b74a362ded8b35cbc75cf178fe6e0db62d0 --- openstack/common/rpc/impl_qpid.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openstack/common/rpc/impl_qpid.py b/openstack/common/rpc/impl_qpid.py index cb0c6c0e9..dc47661de 100644 --- a/openstack/common/rpc/impl_qpid.py +++ b/openstack/common/rpc/impl_qpid.py @@ -504,7 +504,7 @@ class Connection(object): if self.connection.opened(): try: self.connection.close() - except qpid_exceptions.ConnectionError: + except qpid_exceptions.MessagingError: pass broker = self.brokers[next(self.next_broker_indices)] @@ -512,7 +512,7 @@ class Connection(object): try: self.connection_create(broker) self.connection.open() - except qpid_exceptions.ConnectionError as e: + except qpid_exceptions.MessagingError as e: msg_dict = dict(e=e, delay=delay) msg = _LE("Unable to connect to AMQP server: %(e)s. " "Sleeping %(delay)s seconds") % msg_dict @@ -540,7 +540,7 @@ class Connection(object): try: return method(*args, **kwargs) except (qpid_exceptions.Empty, - qpid_exceptions.ConnectionError) as e: + qpid_exceptions.MessagingError) as e: if error_callback: error_callback(e) self.reconnect()