Skip to content

fix(depot-client): invalidate stale read caches after page commits - #5935

Merged
MasterPtato merged 1 commit into
mainfrom
fix/depot-client-stale-read-cache
Oct 30, 2026
Merged

MasterPtato merged 1 commit into
mainfrom
fix/depot-client-stale-read-cache

Conversation

@MasterPtato

Copy link
Copy Markdown
Contributor
  • Evict a page's prefetched and protected copies when the page is committed, so a read never falls back to a stale copy once the committed copy leaves its cache.
  • Without this, SQLite databases larger than the VFS page cache (about 200 MiB by default) can be silently corrupted: SQLite rewrites a stale interior B-tree page and integrity_check reports 2nd reference to page.
  • Adds regression tests that reproduce the eviction order and check PRAGMA integrity_check.

@railway-app

railway-app Bot commented Oct 29, 2026

Copy link
Copy Markdown

🚅 Deployed to the rivet-pr-5935 environment in rivet-frontend

8 services not affected by this PR
  • website
  • kitchen-sink
  • sentry-tunnel
  • frontend-cloud
  • frontend-inspector
  • mcp-hub
  • ladle
  • frontend-cloud-ee

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

📟 Pip-Boy · 09167e4

📦 Packages

Skipped: this PR doesn't change any published package.

🧹 Rust dependencies · cargo deny + cargo shear

check new in this PR fixed existing on base
advisories ✅ 0 0 40
licenses ✅ 0 0 0
sources ✅ 0 0 0
bans ✅ 0 0 0
unused ✅ 0 0 292

🦀 Binaries · publish Dockerfiles, --release

Base: main@4a2cd74, the newest main commit with native builds before the merge base. Size changes merged to main since then show up here too.

artifact npm @latest base this PR Δ vs base
engine linux-x64-musl 93.9 MB 93.9 MB 93.9 MB 0
rivetkit-napi linux-x64-gnu 44.0 MB 44.0 MB 44.0 MB +704 B (+0.0%)

⏱ Timing

job wall time slowest step
changes 19s checkout · 14s
zizmor 9s checkout · 3s
native · engine · linux-x64-musl 13m18s Build with the publish Dockerfile · 13m04s
hygiene 59s checkout · 14s
native · rivetkit-napi · linux-x64-gnu 5m28s Build with the publish Dockerfile · 5m14s
⏭ self-test — skipped
⏭ footprint — skipped
report 19s Write the comment and run summary · 5s
🔭 Full CI trace for this commit

One OpenTelemetry trace of Rust CI, frontend, and Pip-Boy for 09167e4: every job and step, with the sizes above attached. Run after CI finishes.

pnpm install --frozen-lockfile --filter 'pipboy...'
pnpm --filter pipboy pipboy trace --sha 09167e49acd918f68e6caa64f87fec47525d6726

Add --otlp <url> to send it to any OTLP/HTTP collector.

Agent instruction: From a rivet-dev/rivet checkout, run the commands above, then read the trace file the last command prints. List the slowest jobs and steps and explain where CI time went.

@MasterPtato
MasterPtato force-pushed the fix/depot-client-stale-read-cache branch from 18bb8df to 09167e4 Compare October 30, 2026 20:50
@MasterPtato
MasterPtato merged commit 09167e4 into main Oct 30, 2026
5 of 6 checks passed
@MasterPtato
MasterPtato deleted the fix/depot-client-stale-read-cache branch October 30, 2026 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants