DBDeadlock: (OperationalError) (1213, 'Deadlock found when trying to get lock; try restarting transaction') 'DELETE FROM ipallocationpools WHERE ipallocationpools.id

Bug #1432065 reported by Matt Riedemann
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Critical
Salvatore Orlando

Bug Description

http://logs.openstack.org/78/163978/1/check/check-tempest-dsvm-neutron-full/792a4e4/logs/screen-q-svc.txt.gz?level=TRACE#_2015-03-13_16_07_36_406

2015-03-13 16:07:36.406 ERROR oslo_messaging.rpc.dispatcher [req-d42b66e6-5ee7-4e08-b59d-318aebfe92d7 None None] Exception during message handling: UPDATE statement on table 'ports' expected to update 1 row(s); 0 were matched.
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last):
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 142, in _dispatch_and_reply
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher executor_callback))
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 186, in _dispatch
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher executor_callback)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 130, in _do_dispatch
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher result = func(ctxt, **new_args)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/new/neutron/neutron/plugins/ml2/rpc.py", line 118, in get_devices_details_list
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher for device in kwargs.pop('devices', [])
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/new/neutron/neutron/plugins/ml2/rpc.py", line 95, in get_device_details
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher host)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/new/neutron/neutron/plugins/ml2/plugin.py", line 1255, in update_port_status
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher original_port['network_id'])
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/new/neutron/neutron/plugins/ml2/plugin.py", line 642, in get_network
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher result = super(Ml2Plugin, self).get_network(context, id, None)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/new/neutron/neutron/db/db_base_plugin_v2.py", line 915, in get_network
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher network = self._get_network(context, id)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/new/neutron/neutron/db/db_base_plugin_v2.py", line 87, in _get_network
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher network = self._get_by_id(context, models_v2.Network, id)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/new/neutron/neutron/db/common_db_mixin.py", line 130, in _get_by_id
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher return query.filter(model.id == id).one()
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2398, in one
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher ret = list(self)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2440, in __iter__
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher self.session._autoflush()
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1264, in _autoflush
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher self.flush()
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1985, in flush
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher self._flush(objects)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2103, in _flush
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher transaction.rollback(_capture_exception=True)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher compat.reraise(exc_type, exc_value, exc_tb)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2067, in _flush
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher flush_context.execute()
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher rec.execute(self)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 526, in execute
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher uow
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 60, in save_obj
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher mapper, table, update)
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 536, in _emit_update_statements
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher (table.description, len(update), rows))
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher StaleDataError: UPDATE statement on table 'ports' expected to update 1 row(s); 0 were matched.
2015-03-13 16:07:36.406 22946 TRACE oslo_messaging.rpc.dispatcher

Looks like this just started spiking in the last 24 hours:

http://logstash.openstack.org/#eyJzZWFyY2giOiJtZXNzYWdlOlwiU3RhbGVEYXRhRXJyb3I6IFVQREFURSBzdGF0ZW1lbnQgb24gdGFibGUgJ3BvcnRzJyBleHBlY3RlZCB0byB1cGRhdGUgMSByb3cocyk7IDAgd2VyZSBtYXRjaGVkLlwiIEFORCB0YWdzOlwic2NyZWVuLXEtc3ZjLnR4dFwiIiwiZmllbGRzIjpbXSwib2Zmc2V0IjowLCJ0aW1lZnJhbWUiOiI2MDQ4MDAiLCJncmFwaG1vZGUiOiJjb3VudCIsInRpbWUiOnsidXNlcl9pbnRlcnZhbCI6MH0sInN0YW1wIjoxNDI2Mjg0NjA3MDUwfQ==

Revision history for this message
Matt Riedemann (mriedem) wrote :

Not sure if it would be related but oslo.db 1.7.0 was released yesterday:

https://pypi.python.org/pypi/oslo.db/1.7.0

Revision history for this message
Matt Riedemann (mriedem) wrote :

Looking at things that merged recently, this looks suspect:

https://review.openstack.org/#/c/149261/

Changed in neutron:
importance: Undecided → Critical
status: New → Confirmed
Revision history for this message
Matt Riedemann (mriedem) wrote :
Revision history for this message
Matt Riedemann (mriedem) wrote :
summary: - test_ports fails with "StaleDataError: UPDATE statement on table 'ports'
- expected to update 1 row(s); 0 were matched."
+ DBDeadlock: (OperationalError) (1213, 'Deadlock found when trying to get
+ lock; try restarting transaction') 'DELETE FROM ipallocationpools WHERE
+ ipallocationpools.id
Revision history for this message
Matt Riedemann (mriedem) wrote :
Revision history for this message
Matt Riedemann (mriedem) wrote :
Matt Riedemann (mriedem)
Changed in neutron:
status: Confirmed → Fix Released
assignee: nobody → Salvatore Orlando (salvatore-orlando)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers