Public bug reported: Just in case, this is related to [1].
In [1] we found that we were deleting the reservations always for a specific resource and project, regardless of the date. The solution was to introduce a timeout (with reasonable value of 20 seconds) to filter the existing reservations. Any recent reservation, created by an ongoing request transaction, is keep in the DB. This bug shows another problem related to situations with very high concurrency. The deletion of the expired reservations cannot be executed at the same time by two or more concurrent transactions. In case this happens, only one transaction will succeed and the others will fail, triggering the DB retry and ending in a DB lock state. [1]https://bugs.launchpad.net/neutron/+bug/1940311 [2]https://github.com/openstack/neutron/blob/e99d9a9d0697a21ba7ec84465f415f60041f3767/neutron/db/quota/driver_nolock.py#L53-L58 ** Affects: neutron Importance: High Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez) Status: New ** Changed in: neutron Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez) ** Changed in: neutron Importance: Undecided => High -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1954662 Title: Quota driver "DbQuotaNoLockDriver" can lock when removing the expired reservations Status in neutron: New Bug description: Just in case, this is related to [1]. In [1] we found that we were deleting the reservations always for a specific resource and project, regardless of the date. The solution was to introduce a timeout (with reasonable value of 20 seconds) to filter the existing reservations. Any recent reservation, created by an ongoing request transaction, is keep in the DB. This bug shows another problem related to situations with very high concurrency. The deletion of the expired reservations cannot be executed at the same time by two or more concurrent transactions. In case this happens, only one transaction will succeed and the others will fail, triggering the DB retry and ending in a DB lock state. [1]https://bugs.launchpad.net/neutron/+bug/1940311 [2]https://github.com/openstack/neutron/blob/e99d9a9d0697a21ba7ec84465f415f60041f3767/neutron/db/quota/driver_nolock.py#L53-L58 To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1954662/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

