fix: batch memory optimisation#2132
Merged
Merged
Conversation
…g entire array - Replace batch array decode with streaming token-by-token parsing - Reduces memory usage for large batch responses (e.g., eth_getBlockByNumber with full txs) - Validates JSON array structure explicitly with proper error messages - Adds context cancellation support during batch processing - Maintains synchronous behavior for consistency with sendHTTP
- Updated the selectBucket method to ensure that methods containing ampersands are classified into the normal bucket, bypassing compute unit checks. - Added new test cases to validate the behavior of batch methods with ampersands, ensuring correct bucket selection under various scenarios. - Improved comments in the code for better clarity on the prioritization logic in resource classification.
AnnaR-prog
previously approved these changes
Dec 4, 2025
AnnaR-prog
approved these changes
Dec 8, 2025
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.
…g entire array
Description
Closes: #XXXX
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!in the type prefix if API or client breaking changemainbranchReviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...
Note
Streams batch JSON decoding to reduce memory and adds batch (ampersand-joined) methods bypass in resource limiter with tests.
protocol/chainlib/chainproxy/rpcclient/http.go)sendBatchHTTPwith streamingjson.Decoderparsing.[/]tokens and support context cancellation while streaming responses.protocol/rpcprovider)selectBucketto treat methods containing&as batch and route toBucketNormal(before CU/prefix checks).Written by Cursor Bugbot for commit d544c05. This will update automatically on new commits. Configure here.