Deprecate large responses and plan removal
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 218
- Forks
- 72
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 427
Description
Why
PR #443 fixes a race in the multipart large-response upload path, but large responses are deprecated. Instead of continuing to harden this path, we should mark the feature deprecated in the codebase and plan its removal.
Keeping the active implementation around creates maintenance cost for a feature that should not receive new investment.
Code references found
src/compute-plane-services/worker-utils/worker/large.go: ZIP upload, multipart upload, redirect response, and large-response metrics.src/compute-plane-services/worker-utils/worker/refresh.go: refreshes large-response upload credentials.src/invocation-plane-services/http-invocation/crates/server/src/routes/post_pexec.rs: injectslarge_response_urlinto worker invoke requests.src/invocation-plane-services/http-invocation/crates/server/src/s3/mod.rs: creates presigned upload and download URLs for large responses.src/invocation-plane-services/http-invocation/crates/server/tests/test_large_response.rs: integration coverage for the feature.src/compute-plane-services/worker-utils/{worker,service}/**/*test.go: worker/service tests that exercise large-response behavior.src/**/proto/nvcf.protoand generated*.pb.go: worker API fields and RPCs such aslargeResponseUrl,RefreshLargeUploadCredentials,MultipartLargeUploadCredentials, andRequestLargeResponseDownloadCredentials.examples/load-tests/README.md: load-test entries for large responses.
Proposed work
- Mark large responses as deprecated in the canonical proto/API comments and any user-facing docs that still mention the feature.
- Remove or disable active large-response behavior once compatibility constraints are resolved.
- Remove obsolete tests, load-test entries, metrics, S3 credential plumbing, and generated proto surfaces as part of the removal.
References
- Related PR: https://github.com/NVIDIA/nvcf/pull/443
- Original issue fixed by that PR: https://github.com/NVIDIA/nvcf/issues/442
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the canonical proto definitions in src/**/proto/nvcf.proto, then trace the references in worker/large.go, worker/refresh.go, post_pexec.rs, and s3/mod.rs. Review test_large_response.rs and the worker/service tests to identify compatibility constraints. Done means the deprecation scope is documented across the API and user-facing docs, with a clear removal plan for the active paths and related tests, metrics, credentials, and load-test entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, rust
- Domain
- api, backend-api-design
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100