** Changed in: nova/havana Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1308715
Title: Deadlock on quota_usages Status in OpenStack Compute (Nova): Fix Released Status in OpenStack Compute (nova) havana series: Fix Released Status in OpenStack Compute (nova) icehouse series: Fix Released Bug description: We are getting deadlocks for concurrent quota reservations that we did not see in grizzly: see https://bugs.launchpad.net/nova/+bug/1283987 The deadlock handling needs to be fixed as per above, but we shouldn't be deadlocking, here. It seems this is due to bad indexes in the database: mysql> show index from quota_usages; +--------------+------------+---------------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +--------------+------------+---------------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | quota_usages | 0 | PRIMARY | 1 | id | A | 8 | NULL | NULL | | BTREE | | | | quota_usages | 1 | ix_quota_usages_project_id | 1 | project_id | A | 8 | NULL | NULL | YES | BTREE | | | | quota_usages | 1 | ix_quota_usages_user_id_deleted | 1 | user_id | A | 8 | NULL | NULL | YES | BTREE | | | | quota_usages | 1 | ix_quota_usages_user_id_deleted | 2 | deleted | A | 8 | NULL | NULL | YES | BTREE | | | +--------------+------------+---------------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 4 rows in set (0.01 sec) mysql> explain select * from quota_usages where project_id='foo' and user_id='bar' and deleted=0; +----+-------------+--------------+------+------------------------------------------------------------+----------------------------+---------+-------+------+------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------------+------+------------------------------------------------------------+----------------------------+---------+-------+------+------------------------------------+ | 1 | SIMPLE | quota_usages | ref | ix_quota_usages_project_id,ix_quota_usages_user_id_deleted | ix_quota_usages_project_id | 768 | const | 1 | Using index condition; Using where | +----+-------------+--------------+------+------------------------------------------------------------+----------------------------+---------+-------+------+------------------------------------+ 1 row in set (0.00 sec) We should have an index on project_id/deleted and project_id/user_id/deleted instead of the current values. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1308715/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp