id_mapping_api was designed to make a query per entity to fetch
public ids. This lead to a very poor performance when there were many
entries in LDAP. For example, for 15k entries 15k MySQL queries were
required. For the first run 15k INSERTs were required, which makes
things even worse.
Change this behavior to fetch related mappings from MySQL as a list and
perform the necessary join in-memory.
bp ldap-preprocessing
Partial-Bug: 1582585
Change-Id: I2c266e91f2f05be760f8a3eea3738868243cc9c6
Reviewed: https:/ /review. openstack. org/339294 /git.openstack. org/cgit/ openstack/ keystone/ commit/ ?id=f534f36246f d0b41bcdc2a6643 69507f9e299266
Committed: https:/
Submitter: Jenkins
Branch: master
commit f534f36246fd0b4 1bcdc2a66436950 7f9e299266
Author: Boris Bobrov <email address hidden>
Date: Fri Jul 8 02:49:03 2016 +0300
Faster id mapping lookup
id_mapping_api was designed to make a query per entity to fetch
public ids. This lead to a very poor performance when there were many
entries in LDAP. For example, for 15k entries 15k MySQL queries were
required. For the first run 15k INSERTs were required, which makes
things even worse.
Change this behavior to fetch related mappings from MySQL as a list and
perform the necessary join in-memory.
bp ldap-preprocessing e760f8a3eea3738 868243cc9c6
Partial-Bug: 1582585
Change-Id: I2c266e91f2f05b