Skip to content

Conversation

@maxkozlovsky
Copy link
Contributor

The queue full errors were not properly tracked for high eth call pool and were not recorded in statistics. Move queue full counters into execution code. Retrieve other queue counters from execution as well, it is more convenient to keep them there.

Base automatically changed from max/noexeclock to master October 17, 2025 20:49
@maxkozlovsky maxkozlovsky marked this pull request as ready for review October 17, 2025 21:38
@Copilot Copilot AI review requested due to automatic review settings October 17, 2025 21:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes queue state tracking for eth call operations by moving queue full error counting and other statistics from the RPC handler layer into the execution layer. This ensures that queue rejections from the second (high gas) pool are properly tracked alongside the first pool.

Key changes:

  • Removed rate limiting logic from RPC handlers (eth_call, eth_estimateGas, debug_traceCall)
  • Added ExecutorState type to retrieve queue statistics directly from the executor
  • Updated statistics reporting to include separate counters for both low and high gas pools

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
monad-rpc/src/handlers/mod.rs Removed semaphore-based rate limiting from handlers; updated statistics retrieval to use executor state
monad-rpc/src/handlers/eth/call.rs Updated statistics structure to include high gas pool metrics; refactored to retrieve queue stats from executor
monad-rpc/src/handlers/resources.rs Removed rate limiter fields from resources struct
monad-rpc/src/main.rs Removed concurrent request limiter initialization and related imports
monad-rpc/src/websocket/handler.rs Removed rate limiter fields from test configuration
monad-ethcall/src/lib.rs Added ExecutorState type and get_state() method to expose internal queue statistics

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

The queue full errors were not properly tracked for high eth call pool
and were not recorded in statistics. Move queue full counters into
execution code. Retrieve other queue counters from execution as well, it
is more convenient to keep them there.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant