mirror of
https://github.com/ceph/ceph
synced 2025-03-09 09:48:09 +00:00
mon/Paxos: update first_committed when we trim
The Paxos::trim() -> ::trim_to() path trims old states but does not update first_committed. This misinforms later paxos rounds such that peers think they can participate and end up with COMMIT messages following the COLLECT/LAST exchange that are for future commits they can't do anything with and then crash out when they get the BEGIN: mon/Paxos.cc: 557: FAILED assert(begin->last_committed == last_committed) Fixes: #4879 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
This commit is contained in:
parent
3a6138b25e
commit
88c030fc05
@ -990,6 +990,7 @@ void Paxos::trim_to(MonitorDBStore::Transaction *t, version_t first)
|
||||
return;
|
||||
trim_to(t, first_committed, first);
|
||||
t->put(get_name(), "first_committed", first);
|
||||
first_committed = first;
|
||||
}
|
||||
|
||||
void Paxos::trim_to(version_t first)
|
||||
|
Loading…
Reference in New Issue
Block a user