reservation_commit can lead to deadlock
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Unassigned | ||
Havana |
Fix Released
|
High
|
Yaguang Tang |
Bug Description
reservation_commit can deadlock under load:
2014-01-29 18:51:00.470 ERROR nova.quota [req-659db2df-
2014-01-29 18:51:00.470 4380 TRACE nova.quota Traceback (most recent call last):
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota self._driver.
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota db.reservation_
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota project_
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota return f(*args, **kwargs)
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota for reservation in reservation_
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota return list(self)
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota return self._execute_
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota result = conn.execute(
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota params)
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota compiled_sql, distilled_params
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota context)
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota context)
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota cursor.
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota self.errorhandl
2014-01-29 18:51:00.470 4380 TRACE nova.quota File "/usr/lib/
2014-01-29 18:51:00.470 4380 TRACE nova.quota raise errorclass, errorvalue
2014-01-29 18:51:00.470 4380 TRACE nova.quota OperationalError: (OperationalError) (1213, 'Deadlock found when trying to get lock; try restarting transaction') 'SELECT reservations.
This can be fixed with our @_retry_on_deadlock wrapper
Changed in nova: | |
importance: | Undecided → High |
status: | New → Triaged |
tags: | added: havana-backport-potential |
tags: | removed: havana-backport-potential |
Changed in nova: | |
milestone: | none → icehouse-3 |
Changed in nova: | |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | icehouse-3 → 2014.1 |
https:/ /review. openstack. org/#/c/ 70027/