From 5fbd90ee2fd382b1c52827f960dff33f072a8d68 Mon Sep 17 00:00:00 2001 From: ReneSac Date: Fri, 22 Nov 2013 20:55:19 -0200 Subject: [PATCH 1/2] Fix the order of exceptions in Lock.aquire The error: Lock.acquire: Bad except clauses order (KazooException is an ancestor class of RetryFailedError) was reported by pylint. The RetryFailedError path would never be executed, leading to a wrong flag set in case of cancelation, for example. --- kazoo/recipe/lock.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kazoo/recipe/lock.py b/kazoo/recipe/lock.py index 980a5b3..7e91772 100644 --- a/kazoo/recipe/lock.py +++ b/kazoo/recipe/lock.py @@ -104,13 +104,14 @@ class Lock(object): retry.deadline = timeout self.is_acquired = retry(self._inner_acquire, blocking=blocking, timeout=timeout) + except RetryFailedError: + self._best_effort_cleanup() except KazooException: # if we did ultimately fail, attempt to clean up self._best_effort_cleanup() self.cancelled = False raise - except RetryFailedError: - self._best_effort_cleanup() + if not self.is_acquired: self._delete_node(self.node) From 817bfdc7d1b32431959058fc7aab2798a19f59f7 Mon Sep 17 00:00:00 2001 From: ReneSac Date: Fri, 22 Nov 2013 21:02:15 -0200 Subject: [PATCH 2/2] Remove extra line inserted in the previous commit. --- kazoo/recipe/lock.py | 1 - 1 file changed, 1 deletion(-) diff --git a/kazoo/recipe/lock.py b/kazoo/recipe/lock.py index 7e91772..313580b 100644 --- a/kazoo/recipe/lock.py +++ b/kazoo/recipe/lock.py @@ -112,7 +112,6 @@ class Lock(object): self.cancelled = False raise - if not self.is_acquired: self._delete_node(self.node)