Deliver forks that arrive while their election is starting (#5185) * Deliver forks that arrive while their election is starting A fork is offered to the election for its root and cached so that an election starting later can read it. Those were two `blocks_processed` observers, and the one caching the fork ran last. An election that started between them was not there for the offer and read the cache before the fork got into it, so it did not learn about the fork until the block was processed again. The fork is now cached first, in the same observer that offers it to elections. * Encapsulate processed fork handling
__________
Type: commit
Hash: 9235bda03f04b0d9d37ec1477b7176c25ddb80ce
Created: today
__________
gr0v1ty/nano-node:9235bda03f04b0d9d37ec1477b7176c25ddb80ce
| Test Case | Status | Duration | Median Deviation | Log | Graph |
|---|---|---|---|---|---|
| 5n4pr_conf_10k_bintree | PASS | 118 s | 5.0 s | - | Show |
| 5n4pr_conf_10k_change | PASS | 137 s | -12.0 s | - | Show |
| 5n4pr_conf_change_dependant | PASS | 114 s | 0.0 s | - | - |
| 5n4pr_conf_change_independant | PASS | 111 s | -3.0 s | - | - |
| 5n4pr_conf_send_dependant | PASS | 114 s | 0.0 s | - | - |
| 5n4pr_conf_send_independant | FAIL | 3 s | -111.0 s | Show | - |
| 5n4pr_rocks_10k_bintree | PASS | 117 s | 1.0 s | - | - |
| 5n4pr_rocks_10k_change | PASS | 164 s | 1.0 s | - | - |