Skip to content

Conversation

@maxkozlovsky
Copy link
Contributor

Since submit_eth_call_to_pool() is called from rust thread, blocking on fiber promises is not appropriate and can lead to performance issues. Move recovert_authorities() logic inside lambda executed in fiber pool.

Since eth call txn has single authority, parallelization logic inside recover_authorities() only intoduces overhead without benefits. Replace parallelization with single call to recover_authority().

Copilot AI review requested due to automatic review settings October 24, 2025 21:29
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 refactors the eth_call execution flow to improve performance by moving authority recovery logic from the synchronous path into the asynchronous fiber pool execution. The key motivation is to avoid blocking fiber promises from Rust threads, which can cause performance degradation.

Key changes:

  • Authority recovery logic moved inside the lambda submitted to the fiber pool
  • Replaced parallel recover_authorities() with sequential recover_authority() calls since eth_call transactions have a single authority
  • Removed unused execute_block.hpp include

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Since submit_eth_call_to_pool() is called from rust thread, blocking on
fiber promises is not appropriate and can lead to performance issues.
Move recovert_authorities() logic inside lambda executed in fiber pool.

Since eth call txn has single authority, parallelization logic inside
recover_authorities() only intoduces overhead without benefits. Replace
parallelization with single call to recover_authority().
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.

3 participants