Database session needs to rollback when inserting the same data into projects table

Bug #1727667 reported by Jeremy Liu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Barbican
Fix Released
Undecided
Jeremy Liu

Bug Description

DB race condition error, but not properly handled when inserting duplicate data

see gate logs below:

Oct 26 06:26:03.919880 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories [req-ac672581-e389-46d9-9231-601345f4ce62 1b6cf9e670f3444991ecf0e4cb521268 - - default default] Problem saving entity for create: DBDuplicateEntry: (pymysql.err.IntegrityError) (1062, u"Duplicate entry 'a83b8abbe92b4d24ae138c72899a5bb2' for key 'uc_projects_external_ids'") [SQL: u'INSERT INTO projects (id, created_at, updated_at, deleted_at, deleted, status, external_id) VALUES (%(id)s, %(created_at)s, %(updated_at)s, %(deleted_at)s, %(deleted)s, %(status)s, %(external_id)s)'] [parameters: {'status': 'ACTIVE', 'deleted': 0, 'created_at': datetime.datetime(2017, 10, 26, 6, 26, 3, 844609), 'updated_at': datetime.datetime(2017, 10, 26, 6, 26, 3, 844609), 'deleted_at': None, 'external_id': u'a83b8abbe92b4d24ae138c72899a5bb2', 'id': '4a034347-5a64-49d1-8fa5-52abefee6d33'}]
Oct 26 06:26:03.920494 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories Traceback (most recent call last):
Oct 26 06:26:03.920611 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/opt/stack/new/barbican/barbican/model/repositories.py", line 407, in create_from
Oct 26 06:26:03.920729 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories entity.save(session=session)
Oct 26 06:26:03.920854 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/opt/stack/new/barbican/barbican/model/models.py", line 119, in save
Oct 26 06:26:03.920969 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories session.flush()
Oct 26 06:26:03.921078 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2177, in flush
Oct 26 06:26:03.921191 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories self._flush(objects)
Oct 26 06:26:03.921305 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2297, in _flush
Oct 26 06:26:03.921414 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories transaction.rollback(_capture_exception=True)
Oct 26 06:26:03.921537 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
Oct 26 06:26:03.921655 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories compat.reraise(exc_type, exc_value, exc_tb)
Oct 26 06:26:03.921768 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2261, in _flush
Oct 26 06:26:03.921889 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories flush_context.execute()
Oct 26 06:26:03.922009 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 389, in execute
Oct 26 06:26:03.922129 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories rec.execute(self)
Oct 26 06:26:03.922249 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 548, in execute
Oct 26 06:26:03.922372 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories uow
Oct 26 06:26:03.922493 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 181, in save_obj
Oct 26 06:26:03.922612 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories mapper, table, insert)
Oct 26 06:26:03.922726 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 835, in _emit_insert_statements
Oct 26 06:26:03.922835 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories execute(statement, params)
Oct 26 06:26:03.922947 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 945, in execute
Oct 26 06:26:03.923059 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories return meth(self, multiparams, params)
Oct 26 06:26:03.923176 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
Oct 26 06:26:03.923299 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories return connection._execute_clauseelement(self, multiparams, params)
Oct 26 06:26:03.923417 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
Oct 26 06:26:03.923525 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories compiled_sql, distilled_params
Oct 26 06:26:03.923634 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
Oct 26 06:26:03.923746 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories context)
Oct 26 06:26:03.924152 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1398, in _handle_dbapi_exception
Oct 26 06:26:03.924311 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories util.raise_from_cause(newraise, exc_info)
Oct 26 06:26:03.924462 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
Oct 26 06:26:03.924755 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories reraise(type(exception), exception, tb=exc_tb, cause=cause)
Oct 26 06:26:03.924905 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
Oct 26 06:26:03.925058 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories context)
Oct 26 06:26:03.925203 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 470, in do_execute
Oct 26 06:26:03.925354 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories cursor.execute(statement, parameters)
Oct 26 06:26:03.925501 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 166, in execute
Oct 26 06:26:03.925646 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories result = self._query(query)
Oct 26 06:26:03.925801 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 322, in _query
Oct 26 06:26:03.925952 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories conn.query(q)
Oct 26 06:26:03.926100 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 856, in query
Oct 26 06:26:03.926251 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories self._affected_rows = self._read_query_result(unbuffered=unbuffered)
Oct 26 06:26:03.926395 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1057, in _read_query_result
Oct 26 06:26:03.926542 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories result.read()
Oct 26 06:26:03.926690 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1340, in read
Oct 26 06:26:03.926841 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories first_packet = self.connection._read_packet()
Oct 26 06:26:03.927034 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1014, in _read_packet
Oct 26 06:26:03.927179 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories packet.check_error()
Oct 26 06:26:03.927328 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 393, in check_error
Oct 26 06:26:03.927479 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories err.raise_mysql_exception(self._data)
Oct 26 06:26:03.927625 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 107, in raise_mysql_exception
Oct 26 06:26:03.927806 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories raise errorclass(errno, errval)
Oct 26 06:26:03.927991 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories DBDuplicateEntry: (pymysql.err.IntegrityError) (1062, u"Duplicate entry 'a83b8abbe92b4d24ae138c72899a5bb2' for key 'uc_projects_external_ids'") [SQL: u'INSERT INTO projects (id, created_at, updated_at, deleted_at, deleted, status, external_id) VALUES (%(id)s, %(created_at)s, %(updated_at)s, %(deleted_at)s, %(deleted)s, %(status)s, %(external_id)s)'] [parameters: {'status': 'ACTIVE', 'deleted': 0, 'created_at': datetime.datetime(2017, 10, 26, 6, 26, 3, 844609), 'updated_at': datetime.datetime(2017, 10, 26, 6, 26, 3, 844609), 'deleted_at': None, 'external_id': u'a83b8abbe92b4d24ae138c72899a5bb2', 'id': '4a034347-5a64-49d1-8fa5-52abefee6d33'}]
Oct 26 06:26:03.928542 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.889 3719 ERROR barbican.model.repositories
Oct 26 06:26:03.928698 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.919 3719 DEBUG barbican.model.repositories [req-ac672581-e389-46d9-9231-601345f4ce62 1b6cf9e670f3444991ecf0e4cb521268 - - default default] Getting session... get_session /opt/stack/new/barbican/barbican/model/repositories.py:353
Oct 26 06:26:03.928855 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.923 3718 DEBUG barbican.api.controllers.secrets [req-307b2d2e-33e1-4fed-9c7d-ec9869201bd1 1b6cf9e670f3444991ecf0e4cb521268 - - default default] === Creating SecretController === __init__ /opt/stack/new/barbican/barbican/api/controllers/secrets.py:77
Oct 26 06:26:03.929012 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers [req-ac672581-e389-46d9-9231-601345f4ce62 1b6cf9e670f3444991ecf0e4cb521268 - - default default] Secret creation failure seen - please contact site administrator.: InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.IntegrityError) (1062, u"Duplicate entry 'a83b8abbe92b4d24ae138c72899a5bb2' for key 'uc_projects_external_ids'") [SQL: u'INSERT INTO projects (id, created_at, updated_at, deleted_at, deleted, status, external_id) VALUES (%(id)s, %(created_at)s, %(updated_at)s, %(deleted_at)s, %(deleted)s, %(status)s, %(external_id)s)'] [parameters: {'status': 'ACTIVE', 'deleted': 0, 'created_at': datetime.datetime(2017, 10, 26, 6, 26, 3, 844609), 'updated_at': datetime.datetime(2017, 10, 26, 6, 26, 3, 844609), 'deleted_at': None, 'external_id': u'a83b8abbe92b4d24ae138c72899a5bb2', 'id': '4a034347-5a64-49d1-8fa5-52abefee6d33'}]
Oct 26 06:26:03.929437 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers Traceback (most recent call last):
Oct 26 06:26:03.929671 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/opt/stack/new/barbican/barbican/api/controllers/__init__.py", line 103, in handler
Oct 26 06:26:03.929828 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers return fn(inst, *args, **kwargs)
Oct 26 06:26:03.929978 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/opt/stack/new/barbican/barbican/api/controllers/__init__.py", line 89, in enforcer
Oct 26 06:26:03.930127 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers return fn(inst, *args, **kwargs)
Oct 26 06:26:03.930271 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/opt/stack/new/barbican/barbican/api/controllers/__init__.py", line 151, in content_types_enforcer
Oct 26 06:26:03.930418 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers return fn(inst, *args, **kwargs)
Oct 26 06:26:03.930606 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/opt/stack/new/barbican/barbican/api/controllers/secrets.py", line 421, in on_post
Oct 26 06:26:03.930806 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers project = res.get_or_create_project(external_project_id)
Oct 26 06:26:03.930997 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/opt/stack/new/barbican/barbican/common/resources.py", line 56, in get_or_create_project
Oct 26 06:26:03.931150 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers suppress_exception=False)
Oct 26 06:26:03.931290 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/opt/stack/new/barbican/barbican/model/repositories.py", line 592, in find_by_external_project_id
Oct 26 06:26:03.931430 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers entity = query.one()
Oct 26 06:26:03.931598 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2814, in one
Oct 26 06:26:03.931760 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers ret = self.one_or_none()
Oct 26 06:26:03.931941 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2784, in one_or_none
Oct 26 06:26:03.932101 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers ret = list(self)
Oct 26 06:26:03.932247 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2855, in __iter__
Oct 26 06:26:03.932403 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers return self._execute_and_instances(context)
Oct 26 06:26:03.932551 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2876, in _execute_and_instances
Oct 26 06:26:03.932700 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers close_with_result=True)
Oct 26 06:26:03.932851 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2885, in _get_bind_args
Oct 26 06:26:03.932999 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers **kw
Oct 26 06:26:03.933151 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2867, in _connection_from_session
Oct 26 06:26:03.933300 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers conn = self.session.connection(**kw)
Oct 26 06:26:03.933451 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 998, in connection
Oct 26 06:26:03.933594 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers execution_options=execution_options)
Oct 26 06:26:03.933794 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1003, in _connection_for_bind
Oct 26 06:26:03.933966 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers engine, execution_options)
Oct 26 06:26:03.934379 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 382, in _connection_for_bind
Oct 26 06:26:03.934626 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers self._assert_active()
Oct 26 06:26:03.935047 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 276, in _assert_active
Oct 26 06:26:03.935305 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers % self._rollback_exception
Oct 26 06:26:03.935869 ubuntu-xenial-inap-mtl01-0000475790 <email address hidden>[3716]: 2017-10-26 06:26:03.921 3719 ERROR barbican.api.controllers InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.IntegrityError) (1062, u"Duplicate entry 'a83b8abbe92b4d24ae138c72899a5bb2' for key 'uc_projects_external_ids'") [SQL: u'INSERT INTO projects (id, created_at, updated_at, deleted_at, deleted, status, external_id) VALUES (%(id)s, %(created_at)s, %(updated_at)s, %(deleted_at)s, %(deleted)s, %(status)s, %(external_id)s)'] [parameters: {'status': 'ACTIVE', 'deleted': 0, 'created_at': datetime.datetime(2017, 10, 26, 6, 26, 3, 844609), 'updated_at': datetime.datetime(2017, 10, 26, 6, 26, 3, 844609), 'deleted_at': None, 'external_id': u'a83b8abbe92b4d24ae138c72899a5bb2', 'id': '4a034347-5a64-49d1-8fa5-52abefee6d33'}]

Jeremy Liu (liujiong)
Changed in barbican:
assignee: nobody → Jeremy Liu (liujiong)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to barbican (master)

Fix proposed to branch: master
Review: https://review.openstack.org/515339

Changed in barbican:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to barbican (master)

Reviewed: https://review.openstack.org/515339
Committed: https://git.openstack.org/cgit/openstack/barbican/commit/?id=3bea711f15331d4e8d1455f8c4b02ed53e7568d0
Submitter: Zuul
Branch: master

commit 3bea711f15331d4e8d1455f8c4b02ed53e7568d0
Author: Jeremy Liu <email address hidden>
Date: Thu Oct 26 17:43:44 2017 +0800

    Database session need to rollback after duplication

    When a session is first used for accessing database but fails, it
    need to rollback before being used again.

    Change-Id: I82065e4add3a9a5d0906734bb124617658491c31
    Closes-bug: #1727667

Changed in barbican:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/barbican 6.0.0.0b2

This issue was fixed in the openstack/barbican 6.0.0.0b2 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.