← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1282229] [NEW] Race Conditions in SQLAlchemy Select, Update, Flush Transactions

 

Public bug reported:

In cases where Keystone does a SQL query, update a field (or set of
fields) on the model object, flush/update/commit the transaction, there
is potentially a race condition. Since an explicit
.with_lockmode('update') is not called, it is possible for a second
(think apache WSGI) keystone process to also perform an update on the
same row (or set of rows) causing the potential for loss of data.

This mostly presents in the case of the 'Extra' fields on the SQL
models, but potentially could affect a broader base (all SQL drivers
need to be evaluated).

** Affects: keystone
     Importance: Medium
         Status: Triaged

** Changed in: keystone
    Milestone: None => icehouse-3

** Changed in: keystone
       Status: New => Triaged

** Changed in: keystone
   Importance: Undecided => Medium

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1282229

Title:
  Race Conditions in SQLAlchemy Select, Update, Flush Transactions

Status in OpenStack Identity (Keystone):
  Triaged

Bug description:
  In cases where Keystone does a SQL query, update a field (or set of
  fields) on the model object, flush/update/commit the transaction,
  there is potentially a race condition. Since an explicit
  .with_lockmode('update') is not called, it is possible for a second
  (think apache WSGI) keystone process to also perform an update on the
  same row (or set of rows) causing the potential for loss of data.

  This mostly presents in the case of the 'Extra' fields on the SQL
  models, but potentially could affect a broader base (all SQL drivers
  need to be evaluated).

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


Follow ups

References