Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat!: submit eviction proof for nodes that miss many proposals (#1211)
Description --- feat!: submit eviction proof for nodes that miss many proposals various bug fixes cucumber that tests end-to-end eviction watcher submits the eviction transaction fixes for epoch manager to allow exits removed suspending and resuming nodes exit consensus and sync if receiving a QC for a future epoch Motivation and Context --- If a node goes offline, consensus will run much more slowly due to having to wait for leader failure each round. This PR implements the eviction command and generation of an eviction proof that can be submitted on L1. Once the epoch is reached where the eviction applies, the validator is removed from the committee. Requires tari-project/tari#6702 Suspending and resuming nodes adds complexity and some bugs were observed. Since evicted nodes are already immediately skipped in rounds by other validator nodes before they are evicted, the value of suspending nodes is limited and it was decided that it was not worth the added complexity. How Has This Been Tested? --- New unit tests and cucumber, manually What process can a PR reviewer use to test or verify this change? --- 1. Run a swarm, 2. run a watcher and let it register 3. mine 10 blocks to allow the watcher vn to start consensus 4. stop a node in swarm 5. wait for eviction proof to be submitted by the watcher 6. mine 10 blocks, observe that the stopped node is no longer part of the committee Breaking Changes --- - [ ] None - [x] Requires data directory to be deleted - [ ] Other - Please specify BREAKING CHANGE: incompatible global and state database changes
- Loading branch information