mirror of
https://github.com/ceph/ceph
synced 2025-01-20 10:01:45 +00:00
mon/Elector: bootstrap on timeout
Currently if an election times out we call a new election. If we have never joined a quorum, bootstrap instead. This is heavier weight, but captures the case where, during bootstrap: - a and b have learned each others' addresses - everybody calls an election - a and b form a quorum - c loops trying to call an election, but is ignored because a and b don't see its address in the monmap See logs: ubuntu@teuthology:/var/lib/teuthworker/archive/sage-2014-02-14_13:50:04-ceph-deploy-wip-7212-sage-b-testing-basic-plana/83194 Signed-off-by: Sage Weil <sage@inktank.com>
This commit is contained in:
parent
4595c44ba1
commit
cf4f7027e7
@ -148,7 +148,10 @@ void Elector::expire()
|
|||||||
victory();
|
victory();
|
||||||
} else {
|
} else {
|
||||||
// whoever i deferred to didn't declare victory quickly enough.
|
// whoever i deferred to didn't declare victory quickly enough.
|
||||||
start();
|
if (mon->has_ever_joined)
|
||||||
|
start();
|
||||||
|
else
|
||||||
|
mon->bootstrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user