Skip to content

test(cache): number remote cache blobs and corrupt them through the backend - #808

Draft
wan9chi wants to merge 1 commit into
remote-cache-e2e-lifetimefrom
remote-cache-e2e-blobs
Draft

wan9chi wants to merge 1 commit into
remote-cache-e2e-lifetimefrom
remote-cache-e2e-blobs

Conversation

@wan9chi

@wan9chi wan9chi commented Oct 5, 2026

Copy link
Copy Markdown
Member

Motivation

Cases referred to blobs through the file backend's storage. Its blob IDs were sequential, and corrupt_archive overwrote remote-cache/blobs/1 directly. The public cache service from #718 stores blobs in R2 under random IDs, so those cases couldn't run against it.

Changes

  • The tap numbers blobs in upload order in the request lines, e.g. GET /blob/1 200.
  • remote-cache-server corrupt-blob NUMBER overwrites a stored blob through the backend. corrupt_archive uses it.
  • The file backend uses random UUIDs as blob IDs, as the service does, so the numbering is already exercised here.

The only snapshot change is corrupt_archive's command line.

Stacked on #807.

🤖 Generated with Claude Code

…ackend

Cases referred to blobs through the test backend's storage: its blob IDs
were sequential, and `corrupt_archive` overwrote `remote-cache/blobs/1`
directly. A backend that stores blobs differently, such as the public
cache service with its random blob IDs, couldn't run those cases.

The tap now numbers blobs in upload order in the request lines, and
`remote-cache-server corrupt-blob NUMBER` overwrites a stored blob
through the backend. The test backend uses random UUIDs as blob IDs,
like the service. The only snapshot change is `corrupt_archive`'s
command line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

fspy benchmark

linux

dynamic/launch             change  +0.27%  [ -7.44% ..  +7.66%]  overhead  +284.18%
dynamic/access             change  -0.15%  [ -1.33% ..  +1.20%]  overhead   +14.36%
dynamic/access-relative    change  -0.12%  [ -5.62% ..  +4.34%]  overhead   +59.75%
dynamic/access-contended   change  +1.90%  [ -8.54% .. +18.03%]  overhead   +25.42%
static/launch              change  +0.10%  [ -7.64% ..  +8.24%]  overhead  +718.09%
static/access              change  -1.35%  [-16.76% .. +11.94%]  overhead  +823.04%
static/access-relative     change  +0.89%  [ -3.68% ..  +7.07%]  overhead +1215.01%
static/access-contended    change  -1.92%  [-13.73% ..  +9.79%]  overhead +2291.01%

macos

dynamic/launch             change  +0.47%  [ -3.45% ..  +6.82%]  overhead  +247.77%
dynamic/access             change  +0.00%  [ -7.76% ..  +5.62%]  overhead    +2.36%
dynamic/access-relative    change  -0.72%  [ -5.54% ..  +5.99%]  overhead  +252.64%
dynamic/access-contended   change  +1.03%  [-25.56% .. +63.00%]  overhead    -2.09%

windows

dynamic/launch             change  +0.01%  [ -3.57% ..  +3.87%]  overhead   +23.46%
dynamic/access             change  +0.35%  [ -3.11% .. +16.01%]  overhead    +2.51%
dynamic/access-relative    change  +0.00%  [ -7.29% ..  +2.08%]  overhead    +2.21%
dynamic/access-contended   change  +0.00%  [ -1.64% ..  +2.73%]  overhead    +1.69%

@wan9chi
wan9chi added this pull request to stack #812 October 5, 2026 05:59

This branch has not been deployed

No deployments
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.

1 participant