[Task]: Consolidate exec.Invoke[...] parameters
- Dominant language
- Java
- Stars
- 8.7k
- Forks
- 4.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 196
Description
### What needs to happen?
Over time, there has been a slow expansion of the number of parameters passed into `exec.Invoke` - https://github.com/apache/beam/blob/80ced0fe2161c58c955b2c030b0035e117bcb103/sdks/go/pkg/beam/core/runtime/exec/fn.go#L166. Each time we add a new param, we are technically making a breaking change even though it is internals which are not supposed to be relied on (which can actually break people, it does internally at Google at least).
We should make one last breaking change to consolidate most of the options into a single object, which can be freely added to as needed.
### Issue Priority
Priority: 3
### Issue Component
Component: sdk-go
Contributor guide
Research direction
Start with sdk/go/pkg/beam/core/runtime/exec/fn.go at the exec.Invoke definition and trace its callers to identify the parameters that should move into one options object. Consolidate the options so future additions do not change the Invoke signature, then verify the SDK Go runtime callers still pass the required values and build successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100