feat(blockpoller): poll blocks in parallel#110
Open
TPXP wants to merge 2 commits intostreamingfast:developfrom
Open
feat(blockpoller): poll blocks in parallel#110TPXP wants to merge 2 commits intostreamingfast:developfrom
TPXP wants to merge 2 commits intostreamingfast:developfrom
Conversation
also try to add client details if we can cast it as an rpc client
Previously, blockpoller was polling blocks one by one due to the lock on the clients object (tracking failures and moving to the next rpc client) We now duplicate the client list for every block poll, enabling us to poll multiple blocks in parallel from multiple RPCs. Performance impact is negligible as the main bottleneck here is the RPC call - launching multiple calls in parallel outweighs the penalty of duplicating our clients list. We also try to start with a different rpc for each block poll to avoid spamming a single endpoint with too many requests at once
This file contains hidden or 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
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.
This PR improves the block poller by enabling it to poll multiple blocks in parallel, thus greatly improving throughput.
It also enhances logging to report RPC call failures, which were previously silently failing