Some DB operations aren't handling errors like Dead Locks correctly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
networking-odl |
Fix Released
|
Critical
|
Michel Peterson |
Bug Description
Looking at a specific log searching for ERROR [1], I can see that the DBDeadlocks are propagating up needlessly and I think it is and should be our responsibility to retry before asking Neutron to trigger a rollback.
We are getting hit by very natural deadlocks because we have the journal and the maintenance working at the same time. That's not the problem, however we really need to retry this deadlocks without triggering a rollback. I think we should add `is_retriable` [2] to the decorator, as that's what we want. That way we will do our best to allow the operation to succeed.
As you can see in the deadlock, it is ultimately leading to an ERROR in Neutron. We really don't want that.
Also, if we don't do this, we are triggering this bug/1590298 [3] (you can see it in the same log), which the `is_retriable` from `neutron_lib` is aware and handles flawlessly.
[1]: http://
[2]: https:/
[3]: https:/
Changed in networking-odl: | |
assignee: | nobody → Michel Peterson (mpeterson) |
summary: |
- Some DB operations aren't handling things like Dead Locks correctly + Some DB operations aren't handling errors like Dead Locks correctly |
Changed in networking-odl: | |
importance: | Undecided → Critical |
Attaching log that is linked in order to not lose it when it's deleted from the CIs machines.