diff --git a/crates/derive/src/pipeline/core.rs b/crates/derive/src/pipeline/core.rs index afcad816..6b3ddda1 100644 --- a/crates/derive/src/pipeline/core.rs +++ b/crates/derive/src/pipeline/core.rs @@ -176,6 +176,10 @@ where } StepResult::AdvancedOrigin } + PipelineErrorKind::Temporary(_) => { + trace!(target: "pipeline", "Attributes queue step failed due to temporary error: {:?}", err); + StepResult::StepFailed(err) + } _ => { warn!(target: "pipeline", "Attributes queue step failed: {:?}", err); StepResult::StepFailed(err) diff --git a/crates/driver/src/pipeline.rs b/crates/driver/src/pipeline.rs index a7785c60..dc941e4c 100644 --- a/crates/driver/src/pipeline.rs +++ b/crates/driver/src/pipeline.rs @@ -40,14 +40,16 @@ where info!(target: "client_derivation_driver", "Advanced origin") } StepResult::OriginAdvanceErr(e) | StepResult::StepFailed(e) => { - warn!(target: "client_derivation_driver", "Failed to step derivation pipeline: {:?}", e); - // Break the loop unless the error signifies that there is not enough data to // complete the current step. In this case, we retry the step to see if other // stages can make progress. match e { - PipelineErrorKind::Temporary(_) => continue, + PipelineErrorKind::Temporary(_) => { + trace!(target: "client_derivation_driver", "Failed to step derivation pipeline temporarily: {:?}", e); + continue + } PipelineErrorKind::Reset(e) => { + warn!(target: "client_derivation_driver", "Failed to step derivation pipeline due to reset: {:?}", e); let system_config = self .system_config_by_number(l2_safe_head.block_info.number) .await?; @@ -85,7 +87,10 @@ where .await?; } } - PipelineErrorKind::Critical(_) => return Err(e), + PipelineErrorKind::Critical(_) => { + warn!(target: "client_derivation_driver", "Failed to step derivation pipeline: {:?}", e); + return Err(e) + } } } }