-
Notifications
You must be signed in to change notification settings - Fork 7
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
Optimize block processing - Part 1 #619
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…e add() indication of best head to know if block should be posted to the main thread for processing.
…used dispatch_manager::recv_block.
…e-block-processing
…e-block-processing
…e-block-processing
…lock-processing
This was referenced Aug 23, 2024
…/AntelopeIO/spring into GH-529-optimize-block-processing
… savanna transition
… passed in bsp. Will rename to apply_blocks and remove unused args later. Refactor block_report handling and move all apply block logging into log_applied, now called from commit_block.
…maybe_switch_forks to controller::maybe_apply_blocks. Remove now dead code.
…tely and processed later almost all blocks would not be immediately applied to head. We report fork switches which is a better indication of what this is telling the user.
greg7mdp
reviewed
Sep 19, 2024
greg7mdp
reviewed
Sep 19, 2024
greg7mdp
reviewed
Sep 19, 2024
greg7mdp
reviewed
Sep 19, 2024
greg7mdp
reviewed
Sep 19, 2024
…erator to see if best head
greg7mdp
approved these changes
Sep 20, 2024
linh2931
approved these changes
Sep 20, 2024
Note:start |
…o make less flakey
… need to serialize those through the dispatcher strand. Check for LIB on processing block. Test failed because the dispatcher strand was way behind all other threads.
… was increased to make it more stable
…s nice on startup when there are many blocks in the forkdb.
This was referenced Oct 1, 2024
This was referenced Oct 31, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change set already large, going to finish the rest of the work for #529 in separate PRs. See #688
controller::push_block
andcontroller::maybe_switch_forks
tocontroller::apply_blocks
as they now do the same thing.create_block_handle
toaccept_block
.create_block_handle
does more than just create ablock_handle
. It is often paired withapply_blocks
, so I thinkaccept_block(b)
..apply_blocks()
is better. Removedcreate_block_handle_future
as it is no longer needed.net_plugin
unlinkable_block_state_cache
. I don't think unlinkable blocks should happen normally anymore (especially after Node stuck in infinite loop on startup with full fork database #634 is fixed). This was only an optimization/work-around for the unknown possible unlinkable block posted to the main thread. Since unlinkable blocks are no longer posted to the main thread, this is no longer needed.net_plugin
for not being able to add proper savanna blocks to fork database until savanna transition is complete.fork_database::add
to return a boolean indicating if the added block became the new best head.block_report
. It no longer is passed around, but instead is tracked and reported frompending_block
.Produced block
log intolog_applied
along with relatedReceived block
log message.replay_push_block
toreplay_irreversible_block
and simplified as it is only used for replaying irreversible blocks now.Block not applied to head
. All blocks are processed into the fork database immediately and only the best head at any given time is applied. We report fork switching which is a better indication of what this originally was trying to communicate.Partially resolves #529
Resolves #821