From c1d65fd9fbf480259b3f02e9ae7f61be64a2459b Mon Sep 17 00:00:00 2001 From: David Teigland Date: Nov 29 2017 19:37:48 +0000 Subject: sanlock: retry ballot when new lver is seen Seeing a new/larger mbal or lver during ballot are equivalent conditions, but only the mbal condition was being automatically retried. --- diff --git a/src/paxos_lease.c b/src/paxos_lease.c index 49fdff2..210543f 100644 --- a/src/paxos_lease.c +++ b/src/paxos_lease.c @@ -1796,7 +1796,7 @@ int paxos_lease_acquire(struct task *task, error = run_ballot(task, token, cur_leader.num_hosts, next_lver, our_mbal, &dblock); - if (error == SANLK_DBLOCK_MBAL) { + if ((error == SANLK_DBLOCK_MBAL) || (error == SANLK_DBLOCK_LVER)) { us = get_rand(0, 1000000); if (us < 0) us = token->host_id * 100;