[ https://issues.apache.org/jira/browse/BEAM-4276?focusedWorklogId=111385&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-111385 ]
ASF GitHub Bot logged work on BEAM-4276: ---------------------------------------- Author: ASF GitHub Bot Created on: 13/Jun/18 02:43 Start Date: 13/Jun/18 02:43 Worklog Time Spent: 10m Work Description: herohde closed pull request #5620: [BEAM-4276] Surface graph.Fn encoding functions. URL: https://github.com/apache/beam/pull/5620 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/sdks/go/pkg/beam/core/runtime/graphx/user.go b/sdks/go/pkg/beam/core/runtime/graphx/user.go index ab75b3d9fea..969a513f491 100644 --- a/sdks/go/pkg/beam/core/runtime/graphx/user.go +++ b/sdks/go/pkg/beam/core/runtime/graphx/user.go @@ -23,6 +23,7 @@ import ( "encoding/base64" "github.com/apache/beam/sdks/go/pkg/beam/core/funcx" + "github.com/apache/beam/sdks/go/pkg/beam/core/graph" "github.com/apache/beam/sdks/go/pkg/beam/core/graph/coder" "github.com/apache/beam/sdks/go/pkg/beam/core/runtime/graphx/v1" "github.com/apache/beam/sdks/go/pkg/beam/core/util/protox" @@ -80,6 +81,28 @@ func DecodeFn(data string) (reflectx.Func, error) { return fn.Fn, nil } +// EncodeGraphFn encodes a *graph.Fn as a string. +func EncodeGraphFn(u *graph.Fn) (string, error) { + ref, err := encodeFn(u) + if err != nil { + return "", err + } + return protox.EncodeBase64(ref) +} + +// DecodeGraphFn decodes an encoded *graph.Fn. +func DecodeGraphFn(data string) (*graph.Fn, error) { + var ref v1.Fn + if err := protox.DecodeBase64(data, &ref); err != nil { + return nil, err + } + fn, err := decodeFn(&ref) + if err != nil { + return nil, err + } + return fn, nil +} + // EncodeCoder encodes a coder as a string. Any custom coder function // symbol must be resolvable via the runtime.GlobalSymbolResolver. The types must // be encodable. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on 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: 111385) Time Spent: 8h 40m (was: 8.5h) > Implement the portable lifted Combiner transforms in Go SDK > ----------------------------------------------------------- > > Key: BEAM-4276 > URL: https://issues.apache.org/jira/browse/BEAM-4276 > Project: Beam > Issue Type: Sub-task > Components: sdk-go > Reporter: Henning Rohde > Assignee: Robert Burke > Priority: Major > Time Spent: 8h 40m > Remaining Estimate: 0h > > Specifically add the necessary code to produce a Combine Composite with the > correct URN, and permit the SDK harness to understand the lifted parts when > receiving a bundle plan from the worker. > Not expected as part of this issue is: > Additional performance tweaks to the in memory cache (SeeĀ > [BEAM-4468|https://issues.apache.org/jira/browse/BEAM-4468]) -- This message was sent by Atlassian JIRA (v7.6.3#76005)