]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Ensure that session is rolled back on bulk creates
authorarmando-migliaccio <armamig@gmail.com>
Thu, 13 Feb 2014 19:36:34 +0000 (11:36 -0800)
committerarmando-migliaccio <armamig@gmail.com>
Thu, 13 Feb 2014 22:29:29 +0000 (14:29 -0800)
During bulk creates, the session is began explicitely;
ensure that it gets rolled back before re-raising in
order to avoid triggering InvalidRequestError
exceptions when the session is reused.

Partial-bug: 1244757

Change-Id: I797faeec2ca5374620db905599ab6e6f04fdcabd

neutron/db/db_base_plugin_v2.py

index f96edf9b0785fc36c73289ec8b557af9731d7dd5..d333104071ece5184daa5c44438cc37e273f7112 100644 (file)
@@ -910,11 +910,11 @@ class NeutronDbPluginV2(neutron_plugin_base_v2.NeutronPluginBaseV2,
                 objects.append(obj_creator(context, item))
             context.session.commit()
         except Exception:
+            context.session.rollback()
             with excutils.save_and_reraise_exception():
                 LOG.error(_("An exception occurred while creating "
                             "the %(resource)s:%(item)s"),
                           {'resource': resource, 'item': item})
-                context.session.rollback()
         return objects
 
     def create_network_bulk(self, context, networks):