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

Disable TransactionPool observer on new blocks during Full sync #6001

Closed
ahamlat opened this issue Oct 9, 2023 · 3 comments · Fixed by #6302
Closed

Disable TransactionPool observer on new blocks during Full sync #6001

ahamlat opened this issue Oct 9, 2023 · 3 comments · Fixed by #6302
Assignees
Labels
enhancement New feature or request performance syncing TeamChupa GH issues worked on by Chupacabara Team TeamGroot GH issues worked on by Groot Team

Comments

@ahamlat
Copy link
Contributor

ahamlat commented Oct 9, 2023

Description

During Full sync (archive node), the transaction pool observer event is triggered for each new imported block to re-organize the transaction pool (remove block's transactions, sort one of the layers per base fee, ...etc).
Besu should disable transaction pool event during Full sync (and other syncs)

image

Steps to Reproduce (Performance issue)

Start Besu with Full sync and Forest.

Expected behavior:
Besu does not trigger the transaction pool observer event for each new block

Actual behavior: [What actually happens]
Besu triggers the transaction pool observer event for each new block

Frequency: [What percentage of the time does it occur?]
100%

@siladu siladu added enhancement New feature or request performance TeamGroot GH issues worked on by Groot Team TeamRevenant GH issues worked on by Revenant Team TeamChupa GH issues worked on by Chupacabara Team syncing labels Oct 9, 2023
@fab-10
Copy link
Contributor

fab-10 commented Oct 10, 2023

Some context to help with the implementation.

  • TransactionPool now has methods setEnabled and setDisabled.
  • The txpool should be disabled when the current local chain head is too far from the target chain head, SyncState::isInSync already provide this information

@fab-10 fab-10 self-assigned this Dec 5, 2023
@macfarla
Copy link
Contributor

@fab-10 are you working on this one?

@fab-10
Copy link
Contributor

fab-10 commented Dec 13, 2023

yes, currently on it

@macfarla macfarla removed the TeamRevenant GH issues worked on by Revenant Team label Dec 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request performance syncing TeamChupa GH issues worked on by Chupacabara Team TeamGroot GH issues worked on by Groot Team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants