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

Don't persist BFT proposed blocks, only committed ones #7204

Merged
merged 10 commits into from
Jun 13, 2024

Conversation

matthew1001
Copy link
Contributor

@matthew1001 matthew1001 commented Jun 11, 2024

PR description

This PR changes BFT block proposal validation to not persist the changes as a result of the proposed block. When a QBFT commit message or Ethereum NewBlock message is processed the changes will still be persisted at that point.

Prior to this PR I could only get a few 1000 transactions through a 4-validator QBFT chain before I hit Invalid block error. With this fix in place I can run any number of high TPS tests against a 4-validator chain and have yet to see an Invalid block error.

Fixed Issue(s)

Fixes #6680

(It might fix this issue, or there could still be something to resolve regarding the RocksDB busy error. I suspect this PR will improve the above issue at the very least, but suggest closing it with this PR and re-opening if it still occurs after this has merged)

Copy link
Contributor

@matkt matkt left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@jframe jframe left a comment

Choose a reason for hiding this comment

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

LGTM - Nice change

@matthew1001 matthew1001 enabled auto-merge (squash) June 12, 2024 07:59
@matthew1001 matthew1001 merged commit c52975b into hyperledger:main Jun 13, 2024
40 checks passed
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.

Invalid block detected (BREACH_OF_PROTOCOL) | IBFT 2.0
4 participants