diff --git a/Cargo.toml b/Cargo.toml index 902ca15..d73c3cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,6 @@ panic = "abort" [workspace.dependencies] argon2 = "0.5.3" -# upgrading axum is not possible right now because of blocking fastwebsockets axum = { version = "0.8.1", features = ["http2", "tokio"] } axum-extra = { version = "0.10.0", features = ["cookie"] } axum-server = { version = "0.7.1", features = [ @@ -65,7 +64,7 @@ reqwest = { version = "0.12", default-features = false, features = [ "rustls-tls", ] } rocksdb = { version = "0.23.0", default-features = true, features = ["snappy"] } -rusqlite = { version = "0.32.1", features = [ +rusqlite = { version = "0.33", features = [ "backup", "bundled", "chrono", @@ -76,7 +75,7 @@ rust-embed = { version = "8.5.0", features = [] } rustls = { version = "0.23.12", features = ["ring"] } serde = { version = "1.0.114", features = ["derive"] } serde_json = "1.0.57" -serde_rusqlite = "0.36.0" +serde_rusqlite = "0.37.0" sha2 = { version = "0.10.8", features = [] } spow = { version = "0.4.0", features = ["server"] } strum = { version = "0.26.3", features = ["derive"] } diff --git a/hiqlite/src/store/state_machine/sqlite/writer.rs b/hiqlite/src/store/state_machine/sqlite/writer.rs index 4da455d..53b4a63 100644 --- a/hiqlite/src/store/state_machine/sqlite/writer.rs +++ b/hiqlite/src/store/state_machine/sqlite/writer.rs @@ -10,6 +10,7 @@ use chrono::Utc; use flume::RecvError; use openraft::{LogId, SnapshotMeta, StorageError, StorageIOError, StoredMembership}; use rusqlite::backup::Progress; +use rusqlite::fallible_iterator::FallibleIterator; use rusqlite::{Batch, DatabaseName, Transaction}; use std::borrow::Cow; use std::default::Default; @@ -380,8 +381,6 @@ CREATE TABLE IF NOT EXISTS _metadata } Ok(None) => break, Err(e) => { - // The `Batch` iterator can't recover from errors - // -> exit early and do not commit the txn err = Some(Error::Sqlite(e.to_string().into())); break; }