diff --git a/crates/store/src/backend/mysql/write.rs b/crates/store/src/backend/mysql/write.rs index 1c3c2d37..8d78ddbe 100644 --- a/crates/store/src/backend/mysql/write.rs +++ b/crates/store/src/backend/mysql/write.rs @@ -318,7 +318,13 @@ impl MysqlStore { } } - trx.commit().await.map(|_| result).map_err(Into::into) + match trx.commit().await { + Ok(_) => Ok(result), + Err(err) => { + let _ = conn.query_drop("ROLLBACK;").await; + Err(err.into()) + } + } } pub(crate) async fn purge_store(&self) -> trc::Result<()> {