Skip to content

Commit c4cbaa1

Browse files
Improve error handling for failed transaction marking (#83)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved transaction processing resilience by allowing continued operation when certain preparation errors occur, rather than halting the process immediately. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent 0091814 commit c4cbaa1

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

executors/src/eoa/worker/send.rs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,9 +275,22 @@ impl<C: Chain> EoaExecutorWorker<C> {
275275
transaction_id = pending.transaction_id,
276276
"Transaction permanently failed due to non-retryable preparation error",
277277
);
278-
self.store
279-
.fail_pending_transaction(pending, e, self.webhook_queue.clone())
280-
.await?;
278+
if let Err(e) = self
279+
.store
280+
.fail_pending_transaction(
281+
pending,
282+
e.clone(),
283+
self.webhook_queue.clone(),
284+
)
285+
.await
286+
{
287+
tracing::error!(
288+
error = ?e,
289+
transaction_id = pending.transaction_id,
290+
"Failed to mark transaction as failed - transaction may be stuck in pending state"
291+
);
292+
// Don't propagate the error, continue processing
293+
}
281294
}
282295
}
283296
(true, Ok(_)) => continue,

0 commit comments

Comments
 (0)