-
Notifications
You must be signed in to change notification settings - Fork 20k
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
rpc: add limit for batch request and response size #26681
Merged
Merged
Commits on Feb 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7f3d7e6 - Browse repository at this point
Copy the full SHA 7f3d7e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 667a408 - Browse repository at this point
Copy the full SHA 667a408View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21aec8f - Browse repository at this point
Copy the full SHA 21aec8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b8b39d - Browse repository at this point
Copy the full SHA 6b8b39dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b6993c4 - Browse repository at this point
Copy the full SHA b6993c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for c4ac65c - Browse repository at this point
Copy the full SHA c4ac65cView commit details
Commits on Feb 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for c9015fa - Browse repository at this point
Copy the full SHA c9015faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d2ce24 - Browse repository at this point
Copy the full SHA 6d2ce24View commit details
Commits on Feb 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2c04aa0 - Browse repository at this point
Copy the full SHA 2c04aa0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 22bc552 - Browse repository at this point
Copy the full SHA 22bc552View commit details -
Configuration menu - View commit details
-
Copy full SHA for a43fda5 - Browse repository at this point
Copy the full SHA a43fda5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 754137c - Browse repository at this point
Copy the full SHA 754137cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d7c8673 - Browse repository at this point
Copy the full SHA d7c8673View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7fd2b77 - Browse repository at this point
Copy the full SHA 7fd2b77View commit details
Commits on Feb 17, 2023
-
rpc: configure client batch limits through options
It's not really possible to change these values in a running client without recreating the connection, and I suspect users will rarely want to do that.
Configuration menu - View commit details
-
Copy full SHA for 733910c - Browse repository at this point
Copy the full SHA 733910cView commit details -
node: refactor passing around rpc config
Passing options in function parameters makes it hard to add more options later. Pass them in a struct instead.
Configuration menu - View commit details
-
Copy full SHA for bae5a2f - Browse repository at this point
Copy the full SHA bae5a2fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c6b8b1 - Browse repository at this point
Copy the full SHA 6c6b8b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for cebe226 - Browse repository at this point
Copy the full SHA cebe226View commit details -
Configuration menu - View commit details
-
Copy full SHA for 333dffb - Browse repository at this point
Copy the full SHA 333dffbView commit details -
Configuration menu - View commit details
-
Copy full SHA for b91f08a - Browse repository at this point
Copy the full SHA b91f08aView commit details
Commits on Feb 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for fdf1b20 - Browse repository at this point
Copy the full SHA fdf1b20View commit details
Commits on Mar 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 127079b - Browse repository at this point
Copy the full SHA 127079bView commit details
Commits on Mar 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e82658a - Browse repository at this point
Copy the full SHA e82658aView commit details
Commits on May 31, 2023
-
Configuration menu - View commit details
-
Copy full SHA for bd5dfa6 - Browse repository at this point
Copy the full SHA bd5dfa6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47557d1 - Browse repository at this point
Copy the full SHA 47557d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e6018f - Browse repository at this point
Copy the full SHA 8e6018fView commit details
Commits on Jun 8, 2023
-
rpc: improve client batch response handling
This changes how we handle batch responses in order to be able to react to situations where the server does not provide a response for every request batch element. For some weird reason, when writing the original client implementation, I worked off of the assumption that responses could be distributed across batches arbitrarily. So for a batch request containing requests [A, B, C], the server could respond with [A B C] but also with [A B] [C] or even [A] [B] [C] and it wouldn't make a difference to the client. So in the implementation of BatchCallContext, the client waited for all requests in the batch individually. If the server didn't respond to all requests in the batch, the client would eventually just time out. With the addition of batch limits into the server, I anticipate that people will hit this kind of error way more often. To handle this properly, the client now waits for a single response batch and expects it to contain all responses to the requests.
Configuration menu - View commit details
-
Copy full SHA for acf5730 - Browse repository at this point
Copy the full SHA acf5730View commit details -
rpc: attach "batch too large" error to the first call
In JSON-RPC, only method calls with a non-null "id" can be responded to. Since batches can contain non-call messages or notifications, the best effort thing we can do to report an error with the batch itself is the first method call message.
Configuration menu - View commit details
-
Copy full SHA for 82b5208 - Browse repository at this point
Copy the full SHA 82b5208View commit details -
I think adding these limits might break people's setups, so best to avoid configuring them by default in package rpc.
Configuration menu - View commit details
-
Copy full SHA for f0688d6 - Browse repository at this point
Copy the full SHA f0688d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd73291 - Browse repository at this point
Copy the full SHA cd73291View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7048bfc - Browse repository at this point
Copy the full SHA 7048bfcView commit details
Commits on Jun 9, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6841858 - Browse repository at this point
Copy the full SHA 6841858View commit details
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.