Skip to content

Fixing the vercel_artifacts backend#7793

Open
krishnamanchikalapudi wants to merge 3 commits into
apache:mainfrom
krishnamanchikalapudi:fix-issue-2198
Open

Fixing the vercel_artifacts backend#7793
krishnamanchikalapudi wants to merge 3 commits into
apache:mainfrom
krishnamanchikalapudi:fix-issue-2198

Conversation

@krishnamanchikalapudi

@krishnamanchikalapudi krishnamanchikalapudi commented Jun 18, 2026

Copy link
Copy Markdown

Which issue does this PR close?

Closes #2198

Rationale for this change

Explaining vercel_artifacts CAS limitations and why stat was needed while skipping delete/create_dir

What changes are included in this PR?

Implementing stat, handling slash directory fast-paths, keeping unsupported capabilities disabled

Are there any user-facing changes?

No user-facing breaking changes

AI Usage Statement

AI coding assistant usage statement

@dosubot dosubot Bot added size:XS This PR changes 0-9 lines, ignoring generated files. releases-note/fix The PR fixes a bug or has a title that begins with "fix" labels Jun 18, 2026

@erickguan erickguan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is your PR missing some comments or documentation changes? I saw your comment mentioning Vercel doesn't support cache deletion and you wrote closing the issue #2198.

…s CAS constraints

Explain why create_dir, delete, and list are unsupported: Vercel Remote Cache
is content-addressable storage and does not expose folder operations or cache
deletion via its API. Add a Limitations section to docs.md and inline comments
to the relevant backend methods.

Addresses reviewer feedback on apache#7793.
@dosubot dosubot Bot added size:S This PR changes 10-29 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. labels Jun 29, 2026
@krishnamanchikalapudi

krishnamanchikalapudi commented Jun 29, 2026

Copy link
Copy Markdown
Author

Thanks for the review @erickguan! I've pushed two follow-up commits addressing the feedback:

  • Commit 1: docs + inline comments: Added a ## Limitations section to docs.md and inline comments to create_dir and delete explaining that Vercel Remote Cache is a CAS system with no folder or deletion API.
  • Commit 2: capability fix: Removed read_with_suffix: true from the Capability struct. Suffix range reads (Range: bytes=-N) haven't been verified against the real Vercel API. The analogous ghac service (also CAS-based) takes the same conservative approach. Full reads and standard range reads remain enabled.

Summary of what this PR fixes vs. what's inherently unsupported:

  • ✅ stat: implemented, with fast-path for directory paths
  • ✅ create_dir: returns Unsupported with CAS explanation; tests auto-skipped via capability
  • ✅ delete: returns Unsupported with CAS explanation; tests auto-skipped via capability
  • ✅ read_with_suffix: removed from capability until verified; avoids false test failures

Let me know if anything else needs adjusting!

@erickguan

erickguan commented Jun 30, 2026

Copy link
Copy Markdown
Member

Nice! Can you run a behavior test against Vercel?

I know there is a test in a GitHub workflow. You might need to research a little to find out how to use it.

The other alternative is to run OPENDAL_TEST=vercel_artifacts cargo test behavior --features tests,services-vercel-artifacts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

releases-note/fix The PR fixes a bug or has a title that begins with "fix" size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

servcices/vercel_artifacts: Tracking issues of not passed test cases

2 participants