]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Ensure that qpid connection is closed (from oslo)
authorXavier Queralt <xqueralt@redhat.com>
Mon, 26 Aug 2013 14:11:34 +0000 (16:11 +0200)
committerXavier Queralt <xqueralt@redhat.com>
Mon, 26 Aug 2013 14:11:34 +0000 (16:11 +0200)
This is commit a9bc62814d in oslo-incubator

Fixes bug 1172922

When reestablishing a session and a connection already exists the
existing connection will be closed prior to opening the new one.

Change-Id: I9a25800fe4b56eba89d550e3461ce095bf902f0a

cinder/openstack/common/rpc/impl_qpid.py

index 24235b1f11fb2fc80f741489be4af1c321c422cf..8f52fb84f79e53dce2d9d288ba7448b3865a2083 100644 (file)
@@ -331,15 +331,16 @@ class Connection(object):
 
     def reconnect(self):
         """Handles reconnecting and re-establishing sessions and queues"""
-        if self.connection.opened():
-            try:
-                self.connection.close()
-            except qpid_exceptions.ConnectionError:
-                pass
-
         attempt = 0
         delay = 1
         while True:
+            # Close the session if necessary
+            if self.connection.opened():
+                try:
+                    self.connection.close()
+                except qpid_exceptions.ConnectionError:
+                    pass
+
             broker = self.brokers[attempt % len(self.brokers)]
             attempt += 1