← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1290625] [NEW] keystone.contrib.revoke.backends.sql contains several glaring performance problems

 

Public bug reported:

* The id column is internal only, and yet, is varchar(64). This should
just be an auto incremented int.

* There are no indexes on anything.

* The comments claim that only DB2 has trouble with large deletes. This
is false. MySQL will hold gaps open on any indexes, including the
primary key, while deleting. This will effectively serialize access to
giant chunks of the table. If the ID were an auto-inc int, then this is
a non-issue because all writes will either be deletes or incrementing
the integer and thus not fall into the gaps. But then if we add indexes
where they should be, such as revoked_at, then that index will also have
gap locks. note that this is already acknowledged as this bug in tokens:
[ https://bugs.launchpad.net/keystone/+bug/1188378 ], which I believe
was just cargo-culted into this module.

** Affects: keystone
     Importance: Undecided
         Status: New

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

Title:
  keystone.contrib.revoke.backends.sql contains several glaring
  performance problems

Status in OpenStack Identity (Keystone):
  New

Bug description:
  * The id column is internal only, and yet, is varchar(64). This should
  just be an auto incremented int.

  * There are no indexes on anything.

  * The comments claim that only DB2 has trouble with large deletes.
  This is false. MySQL will hold gaps open on any indexes, including the
  primary key, while deleting. This will effectively serialize access to
  giant chunks of the table. If the ID were an auto-inc int, then this
  is a non-issue because all writes will either be deletes or
  incrementing the integer and thus not fall into the gaps. But then if
  we add indexes where they should be, such as revoked_at, then that
  index will also have gap locks. note that this is already acknowledged
  as this bug in tokens: [
  https://bugs.launchpad.net/keystone/+bug/1188378 ], which I believe
  was just cargo-culted into this module.

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


Follow ups

References