Lock wait timeout updating floatingips

Bug #1342166 reported by Eugene Nikanorov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Eugene Nikanorov

Bug Description

Traceback:

ERROR neutron.api.v2.resource [req-64dccdfe-083d-437b-8d9c-f6709d77de6c None] update failed
TRACE neutron.api.v2.resource Traceback (most recent call last):
TRACE neutron.api.v2.resource File "/opt/stack/new/neutron/neutron/api/v2/resource.py", line 87, in resource
TRACE neutron.api.v2.resource result = method(request=request, **args)
TRACE neutron.api.v2.resource File "/opt/stack/new/neutron/neutron/api/v2/base.py", line 529, in update
TRACE neutron.api.v2.resource obj = obj_updater(request.context, id, **kwargs)
TRACE neutron.api.v2.resource File "/opt/stack/new/neutron/neutron/db/l3_db.py", line 792, in update_floatingip
TRACE neutron.api.v2.resource context.elevated(), fip_port_id))
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 447, in __exit__
TRACE neutron.api.v2.resource self.rollback()
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 58, in __exit__
TRACE neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 444, in __exit__
TRACE neutron.api.v2.resource self.commit()
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 354, in commit
TRACE neutron.api.v2.resource self._prepare_impl()
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 334, in _prepare_impl
TRACE neutron.api.v2.resource self.session.flush()
TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/session.py", line 453, in _wrap
TRACE neutron.api.v2.resource return f(self, *args, **kwargs)
TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/session.py", line 737, in flush
TRACE neutron.api.v2.resource return super(Session, self).flush(*args, **kwargs)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1818, in flush
TRACE neutron.api.v2.resource self._flush(objects)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1936, in _flush
TRACE neutron.api.v2.resource transaction.rollback(_capture_exception=True)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 58, in __exit__
TRACE neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1900, in _flush
TRACE neutron.api.v2.resource flush_context.execute()
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute
TRACE neutron.api.v2.resource rec.execute(self)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 525, in execute
TRACE neutron.api.v2.resource uow
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 59, in save_obj
TRACE neutron.api.v2.resource mapper, table, update)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 495, in _emit_update_statements
TRACE neutron.api.v2.resource execute(statement, params)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 662, in execute
TRACE neutron.api.v2.resource params)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 761, in _execute_clauseelement
TRACE neutron.api.v2.resource compiled_sql, distilled_params
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 874, in _execute_context
TRACE neutron.api.v2.resource context)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1024, in _handle_dbapi_exception
TRACE neutron.api.v2.resource exc_info
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 196, in raise_from_cause
TRACE neutron.api.v2.resource reraise(type(exception), exception, tb=exc_tb)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 867, in _execute_context
TRACE neutron.api.v2.resource context)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 324, in do_execute
TRACE neutron.api.v2.resource cursor.execute(statement, parameters)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
TRACE neutron.api.v2.resource self.errorhandler(self, exc, value)
TRACE neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
TRACE neutron.api.v2.resource raise errorclass, errorvalue
TRACE neutron.api.v2.resource OperationalError: (OperationalError) (1205, 'Lock wait timeout exceeded; try restarting transaction') 'UPDATE floatingips SET fixed_port_id=%s, fixed_ip_address=%s, last_known_router_id=%s WHERE floatingips.id = %s' ('a477ab94-f6e5-4f43-865a-c5e3ba1c43c5', '10.100.0.3', '4c17500b-b0aa-4dff-bf15-89e1dad4f2ea', '2db4727b-5419-4f06-92e3-1cedd4fe7345')

http://logs.openstack.org/93/98593/7/check/check-tempest-dsvm-neutron-full/9480e23/logs/screen-q-svc.txt.gz?level=TRACE#_2014-07-15_07_05_33_290

Changed in neutron:
assignee: nobody → Eugene Nikanorov (enikanorov)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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

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

Reviewed: https://review.openstack.org/108197
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2f7a2ae72b4b6584976f45b0cd4c9fe567db4926
Submitter: Jenkins
Branch: master

commit 2f7a2ae72b4b6584976f45b0cd4c9fe567db4926
Author: Eugene Nikanorov <email address hidden>
Date: Sat Jul 19 17:08:53 2014 +0400

    Move plugin.delete_port call out of transaction

    This might fix a few cases of lock wait timeouts.

    Change-Id: Iaa656a8582b2ff3ec55709bbe47b1ac9f5fc2a99
    Closes-Bug: #1342166

Changed in neutron:
status: In Progress → Fix Committed
Changed in neutron:
milestone: none → juno-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: juno-2 → 2014.2
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.