diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-04-06 19:42:51 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-04-06 19:42:51 +0000 |
commit | 579aad0c4162296288393fe28abdb6b2784d6e50 (patch) | |
tree | 775c213d75174fc6069ed4da7a508fb168d83c09 | |
parent | 0c7535b233f14fb6788c79b739d7d3b737191904 (diff) | |
parent | e3cfba873bf02c4d26e2e1a275b9412b7eb54fa0 (diff) | |
download | keystone-579aad0c4162296288393fe28abdb6b2784d6e50.tar.gz |
Merge "Speed up memcache lock" into stable/juno
-rw-r--r-- | keystone/common/kvs/backends/memcached.py | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/keystone/common/kvs/backends/memcached.py b/keystone/common/kvs/backends/memcached.py index 0d8eeb8b5..463243db8 100644 --- a/keystone/common/kvs/backends/memcached.py +++ b/keystone/common/kvs/backends/memcached.py @@ -57,20 +57,16 @@ class MemcachedLock(object): def acquire(self, wait=True): client = self.client_fn() - i = 0 - while True: + for i in range(self.max_lock_attempts): if client.add(self.key, 1, self.lock_timeout): return True elif not wait: return False else: - sleep_time = (((i + 1) * random.random()) + 2 ** i) / 2.5 + sleep_time = random.random() time.sleep(sleep_time) - if i <= self.max_lock_attempts: - i += 1 - else: - raise exception.UnexpectedError( - _('Maximum lock attempts on %s occurred.') % self.key) + raise exception.UnexpectedError( + _('Maximum lock attempts on %s occurred.') % self.key) def release(self): client = self.client_fn() |