Daniel Oliveira created BEAM-11109:
--------------------------------------
Summary: Go SDF - Add optional params and return values to SDF
methods.
Key: BEAM-11109
URL: https://issues.apache.org/jira/browse/BEAM-11109
Project: Beam
Issue Type: New Feature
Components: sdk-go
Reporter: Daniel Oliveira
Currently, the following Go SDF methods don't accept any kind of optional
parameters or return values:
* CreateInitialRestriction(element) restriction
* SplitRestriction(elem, restriction) []restriction
* RestrictionSize(elem, restriction) float64
* CreateTracker(restriction) restrictionTracker
There is room for adding optional parameters and return values that are
currently already supported for the ProcessElement method, [as described
here|https://github.com/apache/beam/blob/f7647ad37a30aa2f907db4eef025815bec0345c7/sdks/go/pkg/beam/core/funcx/fn.go#L379].
The important ones to start with being Context as a parameter and errors as
return values.
Implementing this will involve the following steps:
* Adjusting the validation in
[graph/fn.go|https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/graph/fn.go]
to allow the optional parameters and return values.
* Adjust the SDF invokers in
[sdf_invokers.go|https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/exec/sdf_invokers.go]
to support the new params/returns.
* Adjust the execution code in
[exec/sdf.go|https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/exec/sdf.go]
to properly pass in the new params and appropriately handle the new return
values (such as failing on errors).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)