Skip to content

Commit

Permalink
feat!: submit eviction proof for nodes that miss many proposals (tari…
Browse files Browse the repository at this point in the history
…-project#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
sdbondi authored Dec 11, 2024
1 parent 581a285 commit a5c56bc
Show file tree
Hide file tree
Showing 219 changed files with 4,518 additions and 2,628 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ concurrency:

env:
nightly_toolchain: nightly-2023-06-12
stable_toolchain: 1.77
stable_toolchain: 1.82
CARGO_HTTP_MULTIPLEXING: false
CARGO_TERM_COLOR: always
TARI_TARGET_NETWORK: localnet
Expand Down
Loading

0 comments on commit a5c56bc

Please sign in to comment.