[ https://issues.apache.org/jira/browse/BEAM-9577?focusedWorklogId=411503&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-411503 ]
ASF GitHub Bot logged work on BEAM-9577: ---------------------------------------- Author: ASF GitHub Bot Created on: 27/Mar/20 23:35 Start Date: 27/Mar/20 23:35 Worklog Time Spent: 10m Work Description: robertwb commented on pull request #11203: [BEAM-9577] Define and implement dependency-aware artifact staging service. URL: https://github.com/apache/beam/pull/11203#discussion_r399581813 ########## File path: model/job-management/src/main/proto/beam_artifact_api.proto ########## @@ -31,8 +31,77 @@ option java_outer_classname = "ArtifactApi"; import "beam_runner_api.proto"; -// A service to stage artifacts for use in a Job. +// A service to retrieve artifacts for use in a Job. +service ArtifactRetrievalService { + // Resolves the given artifact reference into one or more simpler artifact + // references (e.g. a Maven dependency into a (transitive) set of jars. + // If no further simplification is possible, returns the original artifacts, + // at which point, all artifacts must be gettable. + rpc ResolveArtifact(ResolveArtifactRequest) returns (ResolveArtifactResponse); + + // Retrieves the given artifact as a stream of bytes. + rpc GetArtifact(GetArtifactRequest) returns (stream GetArtifactResponse); +} + +// A service that allows the client to act as an ArtifactRetrievalService, +// for a particular job with the server initiating requests and receiving +// responses. +// A client calls the service with an ArtifactResponseWrapper that has the +// staging token set, and thereafter responds to the server's requests. service ArtifactStagingService { + rpc ReverseArtifactRetrievalService(stream ArtifactResponseWrapper) Review comment: Good question. As discussed offline, multiple requests can be pushed before waiting for a response, so we should be able to fill the network buffer. Either the server or client can choose to parallelize on its backend store as needed. I added an error field to the resolve_artifacts field as a runner may attempt to opportunistically consolidate environments, and then fall back to doing each separately. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 411503) Time Spent: 2h 50m (was: 2h 40m) > Update artifact staging and retrieval protocols to be dependency aware. > ----------------------------------------------------------------------- > > Key: BEAM-9577 > URL: https://issues.apache.org/jira/browse/BEAM-9577 > Project: Beam > Issue Type: Improvement > Components: beam-model > Reporter: Robert Bradshaw > Assignee: Robert Bradshaw > Priority: Major > Time Spent: 2h 50m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.3.4#803005)