mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-02-04 03:55:22 -05:00
feat(engine): allow configuring tree to always use state root fallback (#16569)
This commit is contained in:
@@ -2077,7 +2077,9 @@ where
|
||||
//
|
||||
// See https://github.com/paradigmxyz/reth/issues/12688 for more details
|
||||
let persisting_kind = self.persisting_kind_for(block.header());
|
||||
let run_parallel_state_root = persisting_kind.can_run_parallel_state_root();
|
||||
// don't run parallel if state root fallback is set
|
||||
let run_parallel_state_root =
|
||||
persisting_kind.can_run_parallel_state_root() && !self.config.state_root_fallback();
|
||||
|
||||
// use prewarming background task
|
||||
let header = block.clone_sealed_header();
|
||||
@@ -2215,8 +2217,13 @@ where
|
||||
maybe_state_root
|
||||
} else {
|
||||
// fallback is to compute the state root regularly in sync
|
||||
warn!(target: "engine::tree", block=?block_num_hash, ?persisting_kind, "Failed to compute state root in parallel");
|
||||
self.metrics.block_validation.state_root_parallel_fallback_total.increment(1);
|
||||
if self.config.state_root_fallback() {
|
||||
debug!(target: "engine::tree", block=?block_num_hash, "Using state root fallback for testing");
|
||||
} else {
|
||||
warn!(target: "engine::tree", block=?block_num_hash, ?persisting_kind, "Failed to compute state root in parallel");
|
||||
self.metrics.block_validation.state_root_parallel_fallback_total.increment(1);
|
||||
}
|
||||
|
||||
let (root, updates) =
|
||||
ensure_ok!(state_provider.state_root_with_updates(hashed_state.clone()));
|
||||
(root, updates, root_time.elapsed())
|
||||
|
||||
Reference in New Issue
Block a user