Handling error combinations in bootstrap pipeline
Operations fetching in the bootstrap pipeline can result in an error state carrying a list with multiple errors ( timeout or Cancel), which is pushed in the pipeline and pops in the pipeline validator, which didn't catch it.
The error escapes the bootstrap_pipeline and crashes the peer validator worker.
Tested with a modified version of
tests_python/tests/test_many_nodes.py with 20 nodes per round instead of 2. This used to trigger the error at almost every run on my machine, it now works like a charm ... if you change the number of preserved cycle in
tools/constants.py, else, under heavy load of the processors, the two bakers of the tests are unable to talk for too long and their history diverge beyond a checkpoint, producing checkpoint errors.