Add run_source to CreateUploadLocationRequest - #7791
Open
EngHabu wants to merge 1 commit into
Open
Conversation
Lets callers state which class of run an upload belongs to so the data proxy can route tracked-run metadata to the right storage explicitly, instead of inferring intent from the shape of filename_root. Mirrors the run_source hint GetActionDataRequest already carries for the read path. Signed-off-by: Haytham Abuelfutuh <haytham@afutuh.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an explicit run_source hint to CreateUploadLocationRequest (mirroring GetActionDataRequest) so upload routing can be based on run provenance rather than inferring intent from filename_root shape, and regenerates the language targets derived from the proto.
Changes:
- Add
workflow.RunSource run_source = 10toCreateUploadLocationRequestindataproxy_service.proto. - Regenerate Go protobuf + validate bindings for the updated request message.
- Regenerate Python and TypeScript protobuf bindings for the updated request message.
Reviewed changes
Copilot reviewed 3 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| flyteidl2/dataproxy/dataproxy_service.proto | Adds run_source field and associated docstring to CreateUploadLocationRequest. |
| gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go | Regenerated Go message struct + getter for RunSource. |
| gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go | Regenerated validation scaffolding noting no rules for RunSource. |
| gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py | Regenerated Python descriptor/module to include run_source. |
| gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.pyi | Regenerated Python typing stubs to include run_source in slots/init. |
| gen/ts/flyteidl2/dataproxy/dataproxy_service_pb.ts | Regenerated TS message type to include runSource field. |
Files not reviewed (3)
- gen/go/flyteidl2/dataproxy/dataproxy_service.pb.go: Generated file
- gen/go/flyteidl2/dataproxy/dataproxy_service.pb.validate.go: Generated file
- gen/python/flyteidl2/dataproxy/dataproxy_service_pb2.py: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+95
to
+99
| // Source of the run this upload belongs to. The service uses this to route the | ||
| // artifact to the matching storage instead of inferring intent from the shape of | ||
| // filename_root: RUN_SOURCE_TRACKED marks tracked-run metadata (inputs.pb / | ||
| // outputs.pb / report.html) served from control-plane-owned tracked-runs storage; | ||
| // anything else keeps the standard behavior. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
workflow.RunSource run_source = 10toCreateUploadLocationRequest.Why
Tracked-run metadata uploads (inputs.pb / outputs.pb / report.html) are routed to control-plane-owned storage. Today the server infers that intent from the shape of
filename_root(atracked-runs/prefix), which is a fragile, implicit contract — flagged in review on the consuming service.The read path already solved this:
GetActionDataRequestcarries an explicitrun_sourcehint. This mirrors it on the write path so the caller states which class of run the upload belongs to and the server routes on that, with the filename shape reduced to a validation detail.Wire-compatible, additive,
+optional— unset keeps today's behavior.Test plan
Regenerated all targets in the CI container (Go/Python/TS/Rust); mocks regenerated with mockery v3.7.0.
🤖 Generated with Claude Code
https://claude.ai/code/session_01VJa4n1pjJUBVQbjeWCZJyQ