-
Couldn't load subscription status.
- Fork 21.5k
Description
In v1.12.1,
This PR was included, which added hard request/response limits for batched rpc requests. Unfortunately this particular change has broken interaction between Prysm and Geth running via the default flags. Many users have run into the following error on updating to v1.12.1 and v1.12.2:
level=error msg="Could not reconstruct full bellatrix block batch from blinded bodies" error="could not fetch execution blocks with txs by hash [0x2ba2e89b5da48fafec3faea50973d098d90a5861a16c4f0788d575c192dc891c 0x035aa077371c512deb63952e98ecc9949f8688c4a6e3a05314ba5d7b1866764f 0x4c6190528a63e024c70720cee8d2386846d922b55de1f8840fa483f5de871299 ....0x76146ea392d432369b7f6b3c152260a25cf658232fd985cc11562c6a427de4c2 0xbcaa5d0d27aa4f5294360791bebb20cc6c46ab143ed916a51ce81cf75fb79957 0x191b69b4edaff888a1c11e94ea7cc0a00a06c635d6b6f6b7d47a1edbaa364c31]: response too large" prefix=sync
With these hard limits being enforced by geth, now any set of execution blocks being requested exceeds the response limit and the whole request fails. A workaround provided to users has been to use this flag with geth:
--rpc.batch-response-max-size=50000000
While the workaround works right now, we would prefer if geth and prysm had no issues communicating with the default set of flags. Is it possible to increase the default max size here ? If that is not viable, how about disabling the hard rpc limit for engine methods ? Communication between the consensus and execution client is already trusted, so it wouldn't be an issue for consensus clients to request a large amount of payloads from the execution client.