← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Reviewed:  https://review.openstack.org/290841
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=34db9c0e538137eb4622a539de46a8a515e25e9f
Submitter: Jenkins
Branch:    master

commit 34db9c0e538137eb4622a539de46a8a515e25e9f
Author: Ronald De Rose <ronald.de.rose@xxxxxxxxx>
Date:   Wed Mar 9 20:38:45 2016 +0000

    Add auto-increment int primary key to revoke.backends.sql
    
    Modified the revocation_event id column to be an auto-incremented
    integer.  The id column was a varchar(64), however it is only used
    internally and an integer column will help with large deletes.
    
    Change-Id: Ibbac98ec50583579ca8fcb8f928d4882f571b07c
    Closes-Bug: 1290625


** Changed in: keystone
       Status: In Progress => Fix Released

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

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

Status in OpenStack Identity (keystone):
  Fix Released

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


References