Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Removing actor pipes and naming #213

Merged
merged 16 commits into from
Nov 13, 2024
Merged

Conversation

brunoffranca
Copy link
Member

Getting rid of the whole actor pipe architecture. It was only created because we thought we would have many components, in reality we ended up with just two big components. This is just a refactor, no logic changes.

Implemented all types for ChonkyBFT. Work on this is all on the roles
crate. Tests in roles crate are passing. Note that I'm not keeping the
old types, that's because `ReplicaCommit` has no changes to it (I
checked and serialization is the same for old and new, old signatures
still work) as well as `CommitQC` and `FinalBlock`. Any type that an EN
could receive, or that ends on our database, doesn't suffer any
alterations. So it seems that the upgrade to ChonkyBFT is
backwards-compatible for ENs. Since we only have one validator, we can
upgrade the whole network without a planned hard fork.

Part of BFT-452
- Everything in chonky_bft folder is basically new.
- UTHarness was moved to chonky_bft/testonly.rs. Several changes to it
though.
- All tests that use UTHarness were moved to chonky_bft/tests. Some of
the old unit tests were repurposed, but a fair amount of the tests in
chonky_bft/tests are new.
- The tests in tests.rs were split between tests/mod.rs and
tests/twins.rs (except for a few that used UTHarness and were moved as
said before). There were no changes to them though.

Part of BFT-452
@brunoffranca brunoffranca marked this pull request as ready for review November 8, 2024 16:55
Copy link
Collaborator

@pompon0 pompon0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LG in general, added some comments

@brunoffranca
Copy link
Member Author

Added an exception to advisories on cargo deny. Needed because an upstream dependency became unmaintained, until kube updates their dependencies, it will remain.
Also deleted the multiple versions ban since we never act on it. Effectively we are just maintaining a list of duplicate crates without any advantage to it.

@pompon0
Copy link
Collaborator

pompon0 commented Nov 13, 2024

The advantage is the fact that you are aware of crates that use old dependencies and you can try to avoid them. It also actively prevents people from pinning dependency versions.

@brunoffranca
Copy link
Member Author

We have never used a different dependency because of this. If it doesn't actually result in different behavior, then it's not useful information IMO.

@brunoffranca brunoffranca merged commit 84bc7e4 into main Nov 13, 2024
6 checks passed
@brunoffranca brunoffranca deleted the bf-actor-cleanup branch November 13, 2024 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants