Open asonnino opened 2 years ago
Tagging as bug as this seems to become urgent
See also MystenLabs/narwhal#17.
I do not think this is entirely done. As per the discussion with @akichidis - the interface between client <-> Bullshark has to be adapted to ensure upon recovery the stream of agreed messages is correct. See also (new) issue MystenLabs/sui#5215
You are right! sorry for that
Description
To ensure crash-recovery of consensus, it is not enough to have the
CertificatesWaiter
to send to consensus every certificate for which their ancestors are in the storage. After crash-recovery, we may also need to send all parents certificates with rounds greater thanlast_committed
. This means we need to boot theCertificatesWaiter
with knowledge of the last committed round and modify its workings to potentially re-serve some past certificates as well.Note that the Primary core also need to persist
last_voted
to not equivocate on certificates.