keystone/keystone
Morgan Fainberg c22f2edeb7 Limit calls to memcache backend as user token index increases in size
This eliminates the need to do a get on each token in the user's index
on token issuance. This change will change the maximum number of tokens
that can be outstanding for a given user. This change is two-fold, first
instead of using JSON to store the token IDs, the python list structure
is being stored in memcached; second the expiry for the token is also
stored in the list. The net result is that fewer tokens can be stored
in the user's token index list due to an increase in data being stored
per token in the index page.

The new logic will attempt to upgrade the old json-style lists to
the new format of [(token_id, expiry), ...] stored as a native
python object in the memcache backend. This conversion will keep
any outstanding tokens in the list from (<time_of_conversion> +
<configured expiration of tokens>). This is done to ensure that
tokens can still be invalidated by operations that invalidate
tokens based upon user/project/trust/etc changes without causing
potential lockups in keystone trying to retrieve all of the
actual token expiration times from memcache.

Closes-bug: #1251123
Change-Id: Ida39b4699ed6c568609a5121573fc3be5c4ab2f4
2014-02-11 15:01:09 -08:00
..
assignment Fix remove role assignment adds role using LDAP assignment 2013-10-22 10:27:05 -05:00
auth Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
catalog Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
common list_revoked_tokens sql speedup for havana 2014-01-30 13:29:59 +01:00
contrib Fix issues handling trust tokens via ec2tokens API 2013-12-11 13:53:43 +00:00
credential Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
identity Merge "Add user to project if project ID is changed" 2013-09-24 23:29:07 +00:00
locale Imported Translations from Transifex 2013-10-01 06:13:30 +00:00
middleware Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
openstack Merge "Sync log_handler module from Oslo" into stable/havana 2014-02-01 03:20:49 +00:00
policy sync oslo policy 2013-09-25 11:33:35 -07:00
tests Limit calls to memcache backend as user token index increases in size 2014-02-11 15:01:09 -08:00
token Limit calls to memcache backend as user token index increases in size 2014-02-11 15:01:09 -08:00
trust Remove roles from OS-TRUST list responses 2014-01-28 10:22:18 +10:00
__init__.py Revert "Disable eventlet monkey-patching of DNS" 2013-05-10 10:24:48 -04:00
clean.py Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
cli.py Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
config.py Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
controllers.py Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
exception.py Try decoding string to UTF-8 on error message fail 2014-01-16 20:58:09 -08:00
notifications.py Implement decorator-based notifications for users 2013-08-29 15:06:19 -05:00
routers.py Changed header from LLC to Foundation based on trademark policies 2013-09-05 15:03:32 -05:00
service.py oauth using optional dependencies 2013-09-16 20:22:36 -04:00