DBDeadlock occurs when multiple neutron server starts at the same time
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
High
|
Kahou Lei |
Bug Description
I have multiple controllers and each controllers are running neutron-server. When I start the neutron-server, some of the controllers occasionally crash with DBDeadlock exceptions:
2016-08-27 00:32:11.937 193309 CRITICAL neutron [-] DBDeadlock: (_mysql_
2016-08-27 00:32:11.937 193309 ERROR neutron Traceback (most recent call last):
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/bin/
2016-08-27 00:32:11.937 193309 ERROR neutron sys.exit(
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron wsgi_eventlet.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron server.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron server_func()
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron neutron_api = service.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron LOG.exception(
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron six.reraise(
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron service.start()
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron self.wsgi_app = _run_wsgi(
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron app = config.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron app = deploy.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return loadobj(APP, uri, name=name, **kw)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return context.create()
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return self.object_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron **context.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron val = callable(*args, **kw)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron app = loader.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron name=name, global_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return self.object_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron **context.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron val = callable(*args, **kw)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron app = loader.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron name=name, global_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return self.object_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return fix_call(
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron val = callable(*args, **kw)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return cls(**local_config)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron plugin = manager.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return weakref.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron cls._create_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return f(*args, **kwargs)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron cls._instance = cls()
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron plugin_provider)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return plugin_class()
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron return f(*args, **kwargs)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron self.type_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron driver.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron self._sync_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib/
2016-08-27 00:32:11.937 193309 ERROR neutron session.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron self.rollback()
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron compat.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron self.commit()
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron self._prepare_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron self.session.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron self._flush(
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron transaction.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron compat.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron flush_context.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron rec.execute(self)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron uow
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron mapper, table, insert)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron execute(statement, multiparams)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron return meth(self, multiparams, params)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron return connection.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron compiled_sql, distilled_params
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron context)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron util.raise_
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron reraise(
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron context)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron rowcount = cursor.
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron r = r + self.execute(query, a)
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron self.errorhandl
2016-08-27 00:32:11.937 193309 ERROR neutron File "/usr/lib64/
2016-08-27 00:32:11.937 193309 ERROR neutron raise errorclass, errorvalue
2016-08-27 00:32:11.937 193309 ERROR neutron DBDeadlock: (_mysql_
The problem occurs more oftern under this following situation:
1. network_vlan_ranges is large (My condition is from 1 to 4095)
2. slow controller
Changed in neutron: | |
assignee: | nobody → Kahou Lei (kahou82) |
Fix proposed to branch: master /review. openstack. org/361534
Review: https:/