Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 36 additions & 13 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ repository = "https://github.com/crabbuild/crab"
rust-version = "1.97"

[workspace.dependencies]
cellule-runtime = { git = "https://github.com/crabbuild/cellule", rev = "6ac8a03ff784e2cd6ac001d75c84e3890c0ba4c6", default-features = false }
cellule-app = { git = "https://github.com/crabbuild/cellule", rev = "6ac8a03ff784e2cd6ac001d75c84e3890c0ba4c6", default-features = false }
cellule-host = { git = "https://github.com/crabbuild/cellule", rev = "6ac8a03ff784e2cd6ac001d75c84e3890c0ba4c6", default-features = false }
cellule-ltx = { git = "https://github.com/crabbuild/cellule", rev = "6ac8a03ff784e2cd6ac001d75c84e3890c0ba4c6", default-features = false }
cellule-store = { git = "https://github.com/crabbuild/cellule", rev = "6ac8a03ff784e2cd6ac001d75c84e3890c0ba4c6", default-features = false }
cellule-runtime = { git = "https://github.com/crabbuild/cellule", rev = "25809dc7a3acc37411776d79f526512088e466c3", default-features = false }
cellule-app = { git = "https://github.com/crabbuild/cellule", rev = "25809dc7a3acc37411776d79f526512088e466c3", default-features = false }
cellule-host = { git = "https://github.com/crabbuild/cellule", rev = "25809dc7a3acc37411776d79f526512088e466c3", default-features = false }
cellule-ltx = { git = "https://github.com/crabbuild/cellule", rev = "25809dc7a3acc37411776d79f526512088e466c3", default-features = false }
cellule-store = { git = "https://github.com/crabbuild/cellule", rev = "25809dc7a3acc37411776d79f526512088e466c3", default-features = false }
crab-auth = { version = "=0.1.0", path = "crates/crab-auth", default-features = false }
crab-auth-server = { version = "=1.2.4", path = "crates/crab-auth-server", default-features = false }
crab-auth-store = { version = "=0.1.0", path = "crates/crab-auth-store", default-features = false }
Expand Down Expand Up @@ -136,7 +136,7 @@ globset = "0.4"
object_store = { version = "0.14.1", default-features = false }
prost = "0.13"
reqwest = { version = "0.12", default-features = false }
rusqlite = { version = "0.34", features = ["bundled"] }
rusqlite = { version = "0.39", features = ["bundled", "fallible_uint"] }
schemars = "0.8"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
Expand Down
16 changes: 11 additions & 5 deletions crates/crab-cache/REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -332,8 +332,14 @@ supply its supposedly corrupted header; its original assertions remain.
Strict combined-feature all-target Clippy also passes. Native-platform coverage
and the failed 1,024-file push rerun remain required.

The pinned SQLite 3.49.1 also falls in the affected range of the upstream
[WAL-reset race](https://www.sqlite.org/wal.html#walreset). A matched Crab and
Cellule dependency upgrade to a fixed SQLite release is a prerequisite for
release qualification; these focused tests do not establish immunity to that
race. No dependency or lockfile change is included in this optimization.
The workspace selects SQLite 3.51.3 through rusqlite 0.39 and the matched
[Cellule backport](https://github.com/crabbuild/cellule/pull/78). The earlier
SQLite 3.49.1 was affected by the upstream
[WAL-reset race](https://www.sqlite.org/wal.html#walreset). This dependency
upgrade preserves unsigned conversion checks and rejects progress-hook
installation failures before shard-hint inspection. The checkpoint policy
and dependency change are separate reviewable commits. Private-VFS, cache,
affected-consumer and native workflow qualification must run against this
linked SQLite version before release. The combined cache suite has been
repeated on this dependency: 309 library tests and three credential tests
pass; native workflow and affected-consumer gates remain open.
10 changes: 6 additions & 4 deletions crates/crab-cache/src/shard_hints.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,10 +237,12 @@ fn inspect_database_at_with_limits(
let interrupt_cancel = cancel.clone();
// SQLite calls this between VM operations, not inside blocking VFS I/O.
// Keep lock admission bounded separately; this is not a hard syscall deadline.
database.progress_handler(
progress_ops,
Some(move || interrupt_cancel.is_cancelled() || Instant::now() >= deadline),
);
database
.progress_handler(
progress_ops,
Some(move || interrupt_cancel.is_cancelled() || Instant::now() >= deadline),
)
.map_err(|source| inspection_error(&path, source, cancel, deadline, timeout))?;
let transaction = database
.transaction_with_behavior(TransactionBehavior::Deferred)
.map_err(|source| inspection_error(&path, source, cancel, deadline, timeout))?;
Expand Down
Loading