Skip to content

Parallelize Translate FQ changeset & some state loading to speed up r…#22621

Open
simsonraj wants to merge 1 commit into
developfrom
improve-transalte-fq-performance
Open

Parallelize Translate FQ changeset & some state loading to speed up r…#22621
simsonraj wants to merge 1 commit into
developfrom
improve-transalte-fq-performance

Conversation

@simsonraj
Copy link
Copy Markdown
Contributor

Translate FQ changeset & state loading (especially with legacy contracts) takes long load time
Parallelize to improve the run time

Copilot AI review requested due to automatic review settings May 22, 2026 16:08
@simsonraj simsonraj requested review from a team as code owners May 22, 2026 16:08
@github-actions
Copy link
Copy Markdown
Contributor

👋 simsonraj, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

@github-actions
Copy link
Copy Markdown
Contributor

✅ No conflicts with other open PRs targeting develop

Copy link
Copy Markdown
Contributor

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

Risk Rating: MEDIUM

Parallelizes on-chain state loading and the 1.5→1.6 FeeQuoter translation/migration RPC fetches to reduce end-to-end runtime, especially for legacy-heavy environments.

Changes:

  • Parallelize RPC-bound contract state loading in LoadChainState with bounded concurrency.
  • Batch-fetch 1.5.0 OnRamp fee token configs and token transfer fee configs concurrently, replacing per-token sequential operations.
  • Add new batch operations to retrieve per-token configs with an errgroup concurrency limit.

Scrupulous Human Review Areas

  • deployment/ccip/shared/stateview/state.go: concurrency correctness in the new work execution (goroutine closures, mutex coverage, and correctness of resulting state).
  • deployment/ccip/operation/evm/v1_5/ops_evm2evm_onramp.go: RPC concurrency limits and context propagation behavior (provider throttling, cancellation, and error surface).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
deployment/ccip/shared/stateview/state.go Introduces parallel execution for RPC-bound address/state loading with a concurrency cap.
deployment/ccip/sequence/evm/migration/seq_translate_onramp_fq.go Switches translation to use new batch operations instead of per-token sequential config fetches.
deployment/ccip/operation/evm/v1_5/ops_evm2evm_onramp.go Adds batch operations to concurrently fetch fee token and transfer fee configs from a 1.5.0 OnRamp.

// run RPC-bound work in parallel
grp, gctx := errgroup.WithContext(ctx)
grp.SetLimit(10)
for _, w := range work {
@cl-sonarqube-production
Copy link
Copy Markdown

@trunk-io
Copy link
Copy Markdown

trunk-io Bot commented May 22, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

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.

2 participants