You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by lo...@apache.org on 2020/03/19 15:52:10 UTC

[beam] branch master updated: [BEAM-9551] Environment PB Pointer cleanup (#11164)

This is an automated email from the ASF dual-hosted git repository.

lostluck pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 42d79c2  [BEAM-9551] Environment PB Pointer cleanup (#11164)
42d79c2 is described below

commit 42d79c29949725b3afabfb3754bfb394be594460
Author: Robert Burke <lo...@users.noreply.github.com>
AuthorDate: Thu Mar 19 08:51:51 2020 -0700

    [BEAM-9551] Environment PB Pointer cleanup (#11164)
    
    * [GoSDK] Change CreateEnvironment to return pointer. Go Protos much prefer being pointers than values.
---
 sdks/go/pkg/beam/core/runtime/graphx/translate.go      | 10 ++++------
 sdks/go/pkg/beam/core/runtime/graphx/translate_test.go |  2 +-
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/sdks/go/pkg/beam/core/runtime/graphx/translate.go b/sdks/go/pkg/beam/core/runtime/graphx/translate.go
index c143487..e2f4a3a 100644
--- a/sdks/go/pkg/beam/core/runtime/graphx/translate.go
+++ b/sdks/go/pkg/beam/core/runtime/graphx/translate.go
@@ -71,8 +71,7 @@ func goCapabilities() []string {
 	return append(capabilities, knownStandardCoders()...)
 }
 
-func CreateEnvironment(ctx context.Context, urn string, extractEnvironmentConfig func(context.Context) string) pb.Environment {
-	var environment pb.Environment
+func CreateEnvironment(ctx context.Context, urn string, extractEnvironmentConfig func(context.Context) string) *pb.Environment {
 	switch urn {
 	case "beam:env:process:v1":
 		// TODO Support process based SDK Harness.
@@ -87,13 +86,12 @@ func CreateEnvironment(ctx context.Context, urn string, extractEnvironmentConfig
 			panic(fmt.Sprintf(
 				"Failed to serialize Environment payload %v for config %v: %v", payload, config, err))
 		}
-		environment = pb.Environment{
+		return &pb.Environment{
 			Urn:          urn,
 			Payload:      serializedPayload,
 			Capabilities: goCapabilities(),
 		}
 	}
-	return environment
 }
 
 // TODO(herohde) 11/6/2017: move some of the configuration into the graph during construction.
@@ -101,7 +99,7 @@ func CreateEnvironment(ctx context.Context, urn string, extractEnvironmentConfig
 // Options for marshalling a graph into a model pipeline.
 type Options struct {
 	// Environment used to run the user code.
-	Environment pb.Environment
+	Environment *pb.Environment
 }
 
 // Marshal converts a graph to a model pipeline.
@@ -497,7 +495,7 @@ func boolToBounded(bounded bool) pb.IsBounded_Enum {
 func (m *marshaller) addDefaultEnv() string {
 	const id = "go"
 	if _, exists := m.environments[id]; !exists {
-		m.environments[id] = &m.opt.Environment
+		m.environments[id] = m.opt.Environment
 	}
 	return id
 }
diff --git a/sdks/go/pkg/beam/core/runtime/graphx/translate_test.go b/sdks/go/pkg/beam/core/runtime/graphx/translate_test.go
index 4b31b33..02c6b8d 100644
--- a/sdks/go/pkg/beam/core/runtime/graphx/translate_test.go
+++ b/sdks/go/pkg/beam/core/runtime/graphx/translate_test.go
@@ -146,7 +146,7 @@ func TestMarshal(t *testing.T) {
 				t.Fatal(err)
 			}
 			p, err := graphx.Marshal(edges,
-				&graphx.Options{Environment: pb.Environment{Urn: "beam:env:docker:v1", Payload: payload}})
+				&graphx.Options{Environment: &pb.Environment{Urn: "beam:env:docker:v1", Payload: payload}})
 			if err != nil {
 				t.Fatal(err)
 			}