From c257294905dfde27e092b84d07ea8b394a7be132 Mon Sep 17 00:00:00 2001 From: armando-migliaccio Date: Thu, 13 Feb 2014 11:36:34 -0800 Subject: [PATCH] Ensure that session is rolled back on bulk creates 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neutron/db/db_base_plugin_v2.py b/neutron/db/db_base_plugin_v2.py index d6adceef3..503994bf8 100644 --- a/neutron/db/db_base_plugin_v2.py +++ b/neutron/db/db_base_plugin_v2.py @@ -902,11 +902,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): -- 2.45.2