Bugfix: two calls has_lock and update_lock are not atomic

Having a lock a few moments ago, doesn't mean that you will be able to
update it.
This commit is contained in:
Alexander Kukushkin
2015-05-08 16:21:09 +02:00
parent 810808a68a
commit 72010f68cc
+1 -3
View File
@@ -59,9 +59,7 @@ class Ha:
self.state_handler.follow_the_leader(self.fetch_current_leader())
return "following a different leader because i am not the healthiest node"
else:
if self.has_lock():
self.update_lock()
if self.has_lock() and self.update_lock()
if not self.state_handler.is_leader():
self.state_handler.promote()
return "promoted self to leader because i had the session lock"