Melange uses sqlalchemy incorrectly making with_lockmode not work as expected
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Melange |
Fix Released
|
Critical
|
Johannes Erdfelt |
Bug Description
The code in melange/
As a result, the lock is dropped and a race condition exists between selecting and deleting the row, allowing two threads to possibly try to delete the same row. This can result in this exception:
Traceback (most recent call last):
File "/usr/lib/
**action_args)
File "/usr/lib/
return self.dispatch(
File "/usr/lib/
return method(*args, **kwargs)
File "/usr/lib/
**iface)
File "/usr/lib/
**kwargs)
File "/usr/lib/
MacAddressR
File "/usr/lib/
return range.allocate_
File "/usr/lib/
next_address = generator.
File "/usr/lib/
models.
File "/usr/lib/
delete(
File "/usr/lib/
db_
File "/usr/lib/
self.
File "/usr/lib/
flush_
File "/usr/lib/
rec.
File "/usr/lib/
uow
File "/usr/lib/
(c.rowcount, len(del_objects))
ConcurrentModif
Changed in melange: | |
assignee: | nobody → Johannes Erdfelt (johannes.erdfelt) |
status: | New → In Progress |
Changed in melange: | |
importance: | Undecided → Critical |
Fix proposed to branch: master /review. openstack. org/6886
Review: https:/