4 Commits

Author SHA1 Message Date
Anthony Romano
887db5a3db *: fix go tool vet -all -shadow errors 2017-06-03 21:32:36 -07:00
fanmin shi
87d99fe038 etcd-runner: remove mutex on validate() and release() in global.go
election runner can deadlock in atomic release().

suppose election runner has two clients A and B.
if A is a leader and B is a follower, B obtains lock
for release() and waits for A to close(nextc) which signal
next round is ready. However, A can only close(nextc) if it
obtains lock for release(); hence deadlock.

this pr removes atomicity of validate() and release() in global.go
and gives the responsibility of locking to each runner.

FIXES #7891
2017-05-09 15:38:13 -07:00
fanmin shi
debc69e1f2 etcd-runner: pass in lock name as a command arg for lock_racer. 2017-04-25 14:18:42 -07:00
sharat
5cb6dd268b etcd-runner: make command compliant 2017-01-03 14:43:58 +05:30