BABE: Fix aux data cleaning (#11263)
With the latest optimizations of the `FinalityNotification` generation, the aux data pruning started to print a warning. The problem here was that we printed a warning and stopped the adding of blocks to prune when we hit the `heigh_limit`. This is now wrong, as we could for example have two 512 long forks and then we start finalizing one of them. The second fork head would be part of the stale heads at some point (in the current implementation when we finalize second fork head number + 1), but then we would actually need to go back into the past than `heigh_limit` (which was actually last_finalized - 1). We now go back until we reach the canonical chain. Also fixed some wrong comment that was added by be about the content of the `finalized` blocks in the `FinalityNotification`.
Showing
- substrate/client/api/src/client.rs 1 addition, 1 deletionsubstrate/client/api/src/client.rs
- substrate/client/consensus/babe/src/lib.rs 38 additions, 21 deletionssubstrate/client/consensus/babe/src/lib.rs
- substrate/client/consensus/babe/src/tests.rs 9 additions, 0 deletionssubstrate/client/consensus/babe/src/tests.rs
Please register or sign in to comment