Skip to content

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

Merged
matthew1001 merged 10 commits intobesu-eth:mainfrom
matthew1001:no-persist
Jun 13, 2024
Merged

Don't persist BFT proposed blocks, only committed ones#7204
matthew1001 merged 10 commits intobesu-eth:mainfrom
matthew1001:no-persist

Conversation

@matthew1001
Copy link
Copy Markdown
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)

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
matthew1001 and others added 2 commits June 11, 2024 14:08
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Copy link
Copy Markdown
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
Copy Markdown
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

Signed-off-by: Matt Whitehead <matthew.whitehead@kaleido.io>
@matthew1001 matthew1001 enabled auto-merge (squash) June 12, 2024 07:59
matthew1001 and others added 5 commits June 12, 2024 10:14
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
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