← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1283987] [NEW] Query Deadlock when creating >200 servers at once in sqlalchemy

 

Public bug reported:

Query Deadlock when creating >200 servers at once in sqlalchemy.

--------

This bug occurred when I test this bug: 
https://bugs.launchpad.net/nova/+bug/1270725

The original info is logged here:
http://paste.openstack.org/show/61534/

--------------

After checking the error-log, we can notice that the deadlock function
is 'all()' in sqlalchemy framework.


Previously, we use '@retry_on_dead_lock' function to retry requests when deadlock occurs.

But it's only available for session deadlock(query/flush/execute). It
doesn't cover some 'Query' actions in sqlalchemy.


So, we need to add the same protction for 'all()' in sqlalchemy.

** Affects: nova
     Importance: Undecided
     Assignee: wingwj (wingwj)
         Status: New

** Affects: oslo
     Importance: Undecided
     Assignee: wingwj (wingwj)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => wingwj (wingwj)

** Also affects: oslo
   Importance: Undecided
       Status: New

** Changed in: oslo
     Assignee: (unassigned) => wingwj (wingwj)

-- 
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/1283987

Title:
  Query Deadlock when creating >200 servers at once in sqlalchemy

Status in OpenStack Compute (Nova):
  New
Status in Oslo - a Library of Common OpenStack Code:
  New

Bug description:
  Query Deadlock when creating >200 servers at once in sqlalchemy.

  --------

  This bug occurred when I test this bug: 
  https://bugs.launchpad.net/nova/+bug/1270725

  The original info is logged here:
  http://paste.openstack.org/show/61534/

  --------------

  After checking the error-log, we can notice that the deadlock function
  is 'all()' in sqlalchemy framework.

  
  Previously, we use '@retry_on_dead_lock' function to retry requests when deadlock occurs.

  But it's only available for session deadlock(query/flush/execute). It
  doesn't cover some 'Query' actions in sqlalchemy.

  
  So, we need to add the same protction for 'all()' in sqlalchemy.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1283987/+subscriptions


Follow ups

References