lukecwik commented on a change in pull request #11203: [BEAM-9577] Define and 
implement dependency-aware artifact staging service.
URL: https://github.com/apache/beam/pull/11203#discussion_r399469457
 
 

 ##########
 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)
+      returns (stream ArtifactRequestWrapper);
+}
+
+// A request for artifact resolution.
+message ResolveArtifactRequest {
+  repeated org.apache.beam.model.pipeline.v1.ArtifactInformation artifacts = 1;
 
 Review comment:
   Some documentation questions:
   Is this meant to completely replace the artifacts supplied in replacements?
   What if a user doesn't pass in all the original artifacts?
   If something can't be "resolved" to something simpler, does it still appear 
in the output?

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to