yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #34138
[Bug 1440493] Re: Crash with python-memcached==1.5.4
** Changed in: keystone
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1440493
Title:
Crash with python-memcached==1.5.4
Status in OpenStack Identity (Keystone):
Fix Released
Status in Keystone kilo series:
Fix Released
Status in OpenStack Identity (Keystone) Middleware:
New
Bug description:
There's some magic going on at line:
https://github.com/openstack/keystone/blob/2014.2.2/keystone/common/cache/_memcache_pool.py#L46
This magic is broken due to the fact that python-memcached added a super(...) initalization at
https://github.com/linsomniac/python-memcached/blob/master/memcache.py#L218
https://github.com/linsomniac/python-memcached/commit/45403325e0249ff0f61d6ae449a7daeeb7e852e5
Due to this change, keystone can no longer work with the latest
python-memcached version:
Traceback (most recent call last):
File ""keystone/common/wsgi.py", line 223, in __call__
result = method(context, **params)
File ""keystone/identity/controllers.py", line 76, in create_user
self.assignment_api.get_project(default_project_id)
File ""dogpile/cache/region.py", line 1040, in decorate
should_cache_fn)
File ""dogpile/cache/region.py", line 651, in get_or_create
async_creator) as value:
File ""dogpile/core/dogpile.py", line 158, in __enter__
return self._enter()
File ""dogpile/core/dogpile.py", line 91, in _enter
value = value_fn()
File ""dogpile/cache/region.py", line 604, in get_value
value = self.backend.get(key)
File ""dogpile/cache/backends/memcached.py", line 149, in get
value = self.client.get(key)
File ""keystone/common/cache/backends/memcache_pool.py", line 35, in _run_method
with self.client_pool.acquire() as client:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File ""keystone/common/cache/_memcache_pool.py", line 97, in acquire
conn = self.get(timeout=self._connection_get_timeout)
File ""eventlet/queue.py", line 293, in get
return self._get()
File ""keystone/common/cache/_memcache_pool.py", line 155, in _get
conn = ConnectionPool._get(self)
File ""keystone/common/cache/_memcache_pool.py", line 120, in _get
conn = self._create_connection()
File ""keystone/common/cache/_memcache_pool.py", line 149, in _create_connection
return _MemcacheClient(self.urls, **self._arguments)
File ""memcache.py", line 228, in __init__
super(Client, self).__init__()
TypeError: super(type, obj): obj must be an instance or subtype of type
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1440493/+subscriptions
References