From d823e4e395e41137b674759e447deb65094d8f4b Mon Sep 17 00:00:00 2001 From: James Date: Tue, 17 Jun 2025 11:13:43 -0400 Subject: [PATCH 1/3] fix: use in_scope to narrow down guard usage --- src/tasks/submit/prep.rs | 3 ++- src/tasks/submit/task.rs | 24 +++++++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/tasks/submit/prep.rs b/src/tasks/submit/prep.rs index c3579b9..6b5f1cf 100644 --- a/src/tasks/submit/prep.rs +++ b/src/tasks/submit/prep.rs @@ -17,6 +17,7 @@ use signet_sim::BuiltBlock; use signet_types::{SignRequest, SignResponse}; use signet_zenith::BundleHelper; use std::sync::OnceLock; +use tracing::Instrument; /// Preparation logic for transactions issued to the host chain by the /// [`SubmitTask`]. @@ -134,7 +135,7 @@ impl<'a> SubmitPrep<'a> { /// Prepares a transaction for submission to the host chain. pub async fn prep_transaction(self, prev_host: &Header) -> eyre::Result { - let req = self.new_tx_request().await?; + let req = self.new_tx_request().in_current_span().await?; Ok(Bumpable::new(req, prev_host)) } } diff --git a/src/tasks/submit/task.rs b/src/tasks/submit/task.rs index 900e86c..bff23c3 100644 --- a/src/tasks/submit/task.rs +++ b/src/tasks/submit/task.rs @@ -139,6 +139,7 @@ impl SubmitTask { // Retry loop let result = loop { let span = debug_span!( + parent: None, "SubmitTask::retrying_send", retries = bumpable.bump_count(), nonce = bumpable.req().nonce, @@ -231,11 +232,13 @@ impl SubmitTask { let host_block_number = self.constants.rollup_block_to_host_block_num(ru_block_number); let span = debug_span!( - "SubmitTask::loop", + parent: None, + "SubmitTask::task_future::transaction_prep", ru_block_number, host_block_number, block_tx_count = sim_result.block.tx_count(), ); + let guard = span.enter(); debug!(ru_block_number, "submit channel received block"); @@ -256,15 +259,16 @@ impl SubmitTask { .instrument(span.clone()) .await else { - let _guard = span.enter(); - warn!(ru_block_number, host_block_number, "failed to get previous host block"); + span.in_scope(|| { + warn!(ru_block_number, host_block_number, "failed to get previous host block") + }); continue; }; // Prep the span we'll use for the transaction submission let submission_span = debug_span!( parent: span, - "SubmitTask::tx_submission", + "SubmitTask::task_future::transaction_submission", tx_count = sim_result.block.tx_count(), host_block_number, ru_block_number, @@ -285,7 +289,9 @@ impl SubmitTask { { Ok(bumpable) => bumpable, Err(error) => { - error!(%error, "failed to prepare transaction for submission"); + submission_span.in_scope(|| { + error!(%error, "failed to prepare transaction for submission"); + }); continue; } }; @@ -294,7 +300,9 @@ impl SubmitTask { if let Err(error) = self.sim_with_call(bumpable.req()).instrument(submission_span.clone()).await { - error!(%error, "simulation failed for transaction"); + submission_span.in_scope(|| { + error!(%error, "simulation failed for transaction"); + }); continue; }; @@ -302,7 +310,9 @@ impl SubmitTask { if let Err(error) = self.retrying_send(bumpable, 3).instrument(submission_span.clone()).await { - error!(%error, "error dispatching block to host chain"); + submission_span.in_scope(|| { + error!(%error, "error dispatching block to host chain"); + }); continue; } } From 0914fd7edee5155bb3ab4a9ee72850d4adfdc035 Mon Sep 17 00:00:00 2001 From: James Date: Wed, 18 Jun 2025 10:46:17 -0400 Subject: [PATCH 2/3] fix: borrow her --- src/tasks/submit/task.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tasks/submit/task.rs b/src/tasks/submit/task.rs index bff23c3..7a55409 100644 --- a/src/tasks/submit/task.rs +++ b/src/tasks/submit/task.rs @@ -267,7 +267,7 @@ impl SubmitTask { // Prep the span we'll use for the transaction submission let submission_span = debug_span!( - parent: span, + parent: &span, "SubmitTask::task_future::transaction_submission", tx_count = sim_result.block.tx_count(), host_block_number, From 184b9fb385e6e745764cecbe1b2a51e45be0a7ba Mon Sep 17 00:00:00 2001 From: dylan Date: Tue, 17 Jun 2025 12:39:54 -0600 Subject: [PATCH 3/3] fix: query for previous host block instead of current host block --- src/tasks/submit/task.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tasks/submit/task.rs b/src/tasks/submit/task.rs index 7a55409..025b9cd 100644 --- a/src/tasks/submit/task.rs +++ b/src/tasks/submit/task.rs @@ -252,9 +252,12 @@ impl SubmitTask { // drop guard before await drop(guard); + // Fetch the previous host block, not the current host block which is currently being built + let prev_host_block = host_block_number - 1; + let Ok(Some(prev_host)) = self .provider() - .get_block_by_number(host_block_number.into()) + .get_block_by_number(prev_host_block.into()) .into_future() .instrument(span.clone()) .await