Retry approval on availability failure if the check is still needed (#6807)
Recovering the POV can fail in situation where the node just restart and the DHT topology wasn't fully discovered yet, so the current node can't connect to most of its Peers. This is bad because for gossiping the assignment you need to be connected to just a few peers, so because we can't approve the candidate and other nodes will see this as a no show. This becomes bad in the scenario where you've got a lot of nodes restarting at the same time, so you end up having a lot of no-shows in the network that are never covered, in that case it makes sense for nodes to actually retry approving the candidate at a later data in time and retry several times if the block containing the candidate wasn't approved. ## TODO - [x] Add a subsystem test. --------- Signed-off-by:Alexandru Gheorghe <alexandru.gheorghe@parity.io> (cherry picked from commit 6878ba1f)
Showing
- polkadot/node/core/approval-voting/src/lib.rs 130 additions, 7 deletionspolkadot/node/core/approval-voting/src/lib.rs
- polkadot/node/core/approval-voting/src/tests.rs 146 additions, 0 deletionspolkadot/node/core/approval-voting/src/tests.rs
- polkadot/node/subsystem-bench/src/lib/approval/mod.rs 2 additions, 0 deletionspolkadot/node/subsystem-bench/src/lib/approval/mod.rs
- prdoc/pr_6807.prdoc 19 additions, 0 deletionsprdoc/pr_6807.prdoc
Please register or sign in to comment