fix: use payload request limit for envelope byPeer range quota - #9710
fix: use payload request limit for envelope byPeer range quota#9710ensi321 wants to merge 2 commits into
Conversation
(cherry picked from commit 88b8052)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c422cccc36
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| describe("network / reqresp / rateLimitQuotas", () => { | ||
| it("uses MAX_REQUEST_PAYLOADS for ExecutionPayloadEnvelopesByRange", () => { | ||
| const config = createBeaconConfig(getConfig(ForkName.gloas), ZERO_HASH); |
There was a problem hiding this comment.
Make the regression test distinguish the two limits
With this setup, getConfig(ForkName.gloas) retains defaults where MAX_REQUEST_PAYLOADS and MAX_REQUEST_BLOCKS_DENEB are both 128, so this test also passes against the parent implementation that uses the wrong block limit. Override one limit with a distinct value when creating the config so the test actually fails before the fix and protects against this regression.
AGENTS.md reference: AGENTS.md:L377-L382
Useful? React with 👍 / 👎.
Performance Report✔️ no performance regression detected Full benchmark results
|
…the two limits MAX_REQUEST_PAYLOADS and MAX_REQUEST_BLOCKS_DENEB both default to 128, so the test also passed against the previous implementation using the block limit. Verified the test now fails when the quota reads MAX_REQUEST_BLOCKS_DENEB and passes with the fix. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
| it("uses MAX_REQUEST_PAYLOADS for ExecutionPayloadEnvelopesByRange", () => { | ||
| // Override MAX_REQUEST_PAYLOADS to differ from MAX_REQUEST_BLOCKS_DENEB (both default to 128), | ||
| // otherwise this test cannot distinguish the two limits | ||
| const config = createBeaconConfig({...getConfig(ForkName.gloas), MAX_REQUEST_PAYLOADS: 64}, ZERO_HASH); |
There was a problem hiding this comment.
do we really need this test? it's a bit strange and trivial
Motivation
Port of an outstanding fix from the
glamsterdam-devnet-7branch (#9587) that never landed onunstable.#9050 added the
ExecutionPayloadEnvelopesByRangereq/resp method with abyPeerquota ofMAX_REQUEST_BLOCKS_DENEB(128), while the spec caps envelope range requests atMAX_REQUEST_PAYLOADSper https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.12/specs/gloas/p2p-interface.md#executionpayloadenvelopesbyrange-v1. ThegetRequestCountside already usesMAX_REQUEST_PAYLOADS; thebyPeerquota was left inconsistent.Description
config.MAX_REQUEST_PAYLOADSfor theExecutionPayloadEnvelopesByRangebyPeerquotaMAX_REQUEST_PAYLOADSCherry-picked from
glamsterdam-devnet-7(88b8052, original author @nflaig); applied without conflicts.AI Assistance Disclosure
Cherry-pick selection and verification done with AI assistance (Claude Code); original commit authored by @nflaig on the devnet-7 branch.
🤖 Generated with Claude Code