From f34c1dcc35f1626b363ebb84c97c83dad41e3fa3 Mon Sep 17 00:00:00 2001 From: rakita Date: Fri, 17 Mar 2023 18:50:21 +0100 Subject: [PATCH] bug(senders_stage): Stage `done` is wrong if range doesn't have tx (#1822) --- crates/stages/src/stages/sender_recovery.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/stages/src/stages/sender_recovery.rs b/crates/stages/src/stages/sender_recovery.rs index 5ea1beb5ca..d96a78c123 100644 --- a/crates/stages/src/stages/sender_recovery.rs +++ b/crates/stages/src/stages/sender_recovery.rs @@ -55,6 +55,7 @@ impl Stage for SenderRecoveryStage { ) -> Result { let ((start_block, end_block), capped) = exec_or_return!(input, self.commit_threshold, "sync::stages::sender_recovery"); + let done = !capped; // Look up the start index for the transaction range let start_tx_index = tx.get_block_body(start_block)?.start_tx_id; @@ -65,7 +66,7 @@ impl Stage for SenderRecoveryStage { // No transactions to walk over if start_tx_index > end_tx_index { info!(target: "sync::stages::sender_recovery", start_tx_index, end_tx_index, "Target transaction already reached"); - return Ok(ExecOutput { stage_progress: end_block, done: true }) + return Ok(ExecOutput { stage_progress: end_block, done }) } // Acquire the cursor for inserting elements @@ -107,7 +108,6 @@ impl Stage for SenderRecoveryStage { senders_cursor.append(id, sender)?; } - let done = !capped; info!(target: "sync::stages::sender_recovery", stage_progress = end_block, done, "Sync iteration finished"); Ok(ExecOutput { stage_progress: end_block, done }) }