diff --git a/crates/blockifier/src/concurrency/worker_logic.rs b/crates/blockifier/src/concurrency/worker_logic.rs index fd67dbe38e6..83adf3a3805 100644 --- a/crates/blockifier/src/concurrency/worker_logic.rs +++ b/crates/blockifier/src/concurrency/worker_logic.rs @@ -293,6 +293,18 @@ impl WorkerExecutor { let reads = &execution_output.reads; let reads_valid = tx_versioned_state.validate_reads(reads)?; + if !reads_valid { + let tx = self.tx_at(tx_index); + let tx_hash = Transaction::tx_hash(tx.as_ref()); + log::debug!( + "Validation failed for tx {} ({}): stale reads detected, discarding speculative \ + state_diff: {:?}", + tx_index, + tx_hash, + execution_output.state_diff + ); + } + let aborted = !reads_valid && self.scheduler.try_validation_abort(tx_index, commit_phase); if aborted { self.metrics.count_abort();