-
Notifications
You must be signed in to change notification settings - Fork 2.2k
refactor: Remove max_proof_task_concurrency as configurable variable #19009
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Removed max_proof_task_concurrency field from TreeConfig - Removed max_proof_task_concurrency CLI argument from EngineArgs - Removed DEFAULT_MAX_PROOF_TASK_CONCURRENCY constant export - Updated PayloadProcessor to derive multiproof concurrency from account_worker_count - Kept existing logic for storage_worker_count and account_worker_count based on CPU count Co-authored-by: yongkangc <[email protected]>
The CLI flag has been removed, so the documentation preprocessor no longer needs to handle its dynamic default value. Co-authored-by: yongkangc <[email protected]>
Remove documentation for the --engine.max-proof-task-concurrency flag that was removed in the previous commits.
There was a problem hiding this 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 removes the max_proof_task_concurrency configuration and derives multiproof concurrency from worker counts instead, simplifying configuration and aligning concurrency with underlying worker pools.
- Remove CLI flag and TreeConfig field for max_proof_task_concurrency, along with its default constant.
- Update payload processor to compute multiproof concurrency from worker counts.
- Clean up docs and help preprocessing for the removed flag.
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 |
|---|---|
| docs/vocs/docs/pages/cli/reth/node.mdx | Removes the CLI help entry for --engine.max-proof-task-concurrency. |
| docs/cli/help.rs | Removes regex rule that set a dynamic default for the removed flag in help output. |
| crates/node/core/src/node_config.rs | Drops re-export of DEFAULT_MAX_PROOF_TASK_CONCURRENCY. |
| crates/node/core/src/args/engine.rs | Removes EngineArgs field/CLI option and TreeConfig setter usage for max_proof_task_concurrency. |
| crates/engine/tree/src/tree/payload_processor/mod.rs | Derives multiproof concurrency from worker counts (now using account worker count). |
| crates/engine/primitives/src/config.rs | Removes DEFAULT_MAX_PROOF_TASK_CONCURRENCY and the TreeConfig field/getter/setter for it. |
Comments suppressed due to low confidence (1)
crates/engine/primitives/src/config.rs:1
- [nitpick] Removing this public constant is a breaking API change for downstream crates. If maintaining semver compatibility is desired, consider keeping a deprecated alias for one release cycle or clearly documenting and coordinating a semver-major bump; for example: #[deprecated(note = "max_proof_task_concurrency is no longer configurable; concurrency is derived from worker counts")] pub const DEFAULT_MAX_PROOF_TASK_CONCURRENCY: u64 = 256;
//! Engine tree configuration.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| // often spawns one Tokio task for the account proof and one for the storage proof. | ||
| // We use the account worker count as the basis, since account workers coordinate | ||
| // the overall proof collection process. | ||
| let max_multi_proof_task_concurrency = account_worker_count; |
Copilot
AI
Oct 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Basing multiproof concurrency solely on account_worker_count can oversubscribe storage workers when storage_worker_count < account_worker_count, causing queue growth and potential memory pressure. Consider using the minimum of the two worker pools to align concurrency with the bottleneck: let max_multi_proof_task_concurrency = std::cmp::min(account_worker_count, storage_worker_count);
| let max_multi_proof_task_concurrency = account_worker_count; | |
| let max_multi_proof_task_concurrency = std::cmp::min(account_worker_count, storage_worker_count); |
| --engine.multiproof-chunking | ||
| Whether multiproof task should chunk proof targets | ||
Copilot
AI
Oct 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] After removing --engine.max-proof-task-concurrency, it would help to add a short note here indicating that proof concurrency is now derived from worker counts (e.g., account/storage worker flags) to guide users to the new control mechanism.
Simplify multiproof task initialization by directly passing account_worker_count instead of creating an intermediate variable. Also clarify the comment to better explain the relationship between multiproof tasks and account workers.
mattsse
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not bad
|
@mattsse I was surprised, looks like the comparison of gpt models from 3 months ago had some diffs |
ProofWorkerHandle::new returns the handle directly, not a Result. The match statement was incorrectly added during rebase.
…aradigmxyz#19009) Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: yongkangc <[email protected]> Co-authored-by: Yong Kang <[email protected]>
…aradigmxyz#19009) Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: yongkangc <[email protected]> Co-authored-by: Yong Kang <[email protected]>
Summary
Removes
max_proof_task_concurrencyas a configurable variable. The multiproof concurrency is now directly derived from the worker counts instead of being independently configurable.Motivation
Having
max_proof_task_concurrencyas a separate configuration option added unnecessary complexity. Users who want to limit the number of concurrent proofs can achieve this more directly by manually setting the number of account and storage workers.Removed
--engine.max-proof-task-concurrencyCLI argumentmax_proof_task_concurrencyfield fromTreeConfigDEFAULT_MAX_PROOF_TASK_CONCURRENCYconstant (no longer exported)Users can no longer set
--engine.max-proof-task-concurrency. Instead, concurrency is controlled through the more fundamental worker count settings, which provide direct control over the underlying worker pools that determine concurrent proof capacity.