Module paxakos::autofill [−][src]
Expand description
The autofill decoration automatically fills gaps that appear in the log.
When a node has a gap in its (local copy of the) log, it must close that gap before it can apply later rounds’ entries to its state. There are two reasons why a node may observe gaps in its log.
- A commit message may not have been received due to a temporary networking issue.
- Multiple appends were running concurrently and one for an earlier round fails or is abandoned while while a later one goes through.
Independent of the cause, the solution is to try to fill the gaps, which is
what this decoration does. It will either succeed or fail with a Converged
error.
It should be noted that autofill uses Importance::MaintainLeadership
to
fill gaps. As such it will never contend with other nodes that may be in the
process of proposing some other entry for the same round.
Structs
Traits
Extends NodeBuilder
to conveniently decorate a node with Autofill
.
Autofill configuration.