From 31d5c272c4a6822ef35836be207224b557e122b4 Mon Sep 17 00:00:00 2001 From: Thomas Groh Date: Tue, 11 Apr 2017 16:42:28 -0700 Subject: [PATCH 1/2] Represent a Pipeline via a list of Top-level Transforms The root node is a synthetic transform which does not appear within the graph, as it never has any components of note. Instead of referring to a single "root node" in the Pipeline message, refer to the top-level nodes which do not have an enclosing PTransform. --- sdks/common/runner-api/src/main/proto/beam_runner_api.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdks/common/runner-api/src/main/proto/beam_runner_api.proto b/sdks/common/runner-api/src/main/proto/beam_runner_api.proto index 3b7c5bd7d764..4cb10d635879 100644 --- a/sdks/common/runner-api/src/main/proto/beam_runner_api.proto +++ b/sdks/common/runner-api/src/main/proto/beam_runner_api.proto @@ -92,8 +92,8 @@ message Pipeline { // this pipeline. Components components = 1; - // (Required) The id of the PTransform that is the root of the pipeline - string root_transform_id = 2; + // (Required) The ids of all PTransforms that are not contained within another PTransform + repeated string top_level_transforms = 2; // (Optional) Static display data for the pipeline. If there is none, // it may be omitted. From cf6946f6df604b83f89d991f91d4bb7f371b870d Mon Sep 17 00:00:00 2001 From: Thomas Groh Date: Wed, 12 Apr 2017 10:54:08 -0700 Subject: [PATCH 2/2] fixup! Represent a Pipeline via a list of Top-level Transforms --- sdks/common/runner-api/src/main/proto/beam_runner_api.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdks/common/runner-api/src/main/proto/beam_runner_api.proto b/sdks/common/runner-api/src/main/proto/beam_runner_api.proto index 4cb10d635879..1381941900cc 100644 --- a/sdks/common/runner-api/src/main/proto/beam_runner_api.proto +++ b/sdks/common/runner-api/src/main/proto/beam_runner_api.proto @@ -93,7 +93,7 @@ message Pipeline { Components components = 1; // (Required) The ids of all PTransforms that are not contained within another PTransform - repeated string top_level_transforms = 2; + repeated string root_transform_ids = 2; // (Optional) Static display data for the pipeline. If there is none, // it may be omitted.