From 05ab98107cbc5243c7cb3538b87a587ba950c9f1 Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin Date: Mon, 2 Feb 2026 11:10:58 +0000 Subject: [PATCH] fix(reth-bench): gracefully stop when transaction source exhausted (#21700) --- .../src/bench/generate_big_block.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/bin/reth-bench/src/bench/generate_big_block.rs b/bin/reth-bench/src/bench/generate_big_block.rs index 95eb8062e4..133591c52b 100644 --- a/bin/reth-bench/src/bench/generate_big_block.rs +++ b/bin/reth-bench/src/bench/generate_big_block.rs @@ -572,13 +572,22 @@ impl Command { for i in 0..self.count { // Get initial batch of transactions for this payload - let mut result = tx_buffer - .take_batch() - .await - .ok_or_else(|| eyre::eyre!("Transaction fetcher stopped unexpectedly"))?; + let Some(mut result) = tx_buffer.take_batch().await else { + info!( + payloads_built = i, + payloads_requested = self.count, + "Transaction source exhausted, stopping" + ); + break; + }; if result.transactions.is_empty() { - return Err(eyre::eyre!("No transactions collected for payload {}", i + 1)); + info!( + payloads_built = i, + payloads_requested = self.count, + "No more transactions available, stopping" + ); + break; } // Build with retry - may need to request more transactions