apache / apache/beam

[Go SDK] starcgen improvements

Open
#20,271 0 comments 0 reactions 0 assignees View on GitHub
go improvement P3
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
2d 2h
Merged PRs (30d)
205

Description

The starcgen code generator works OK, but could do with some improvements.
* Uniquifying imports (handling multiple imports with same short suffix)
* Generating multiple iterNatives (eg when the normal symbol is already taken).
* Keying off of beam.Register* calls rather than command line.
**  Avoids duplicating lists of identifiers, and improves default behavior.
** Possibly have a new beam.RegisterDoFn which can take a list of DoFn and struct types a function or a struct, and key off those, reducing boiler plate somewhat.
* Perhaps having a specific single import alias package for components required for import, rather than the current 3-4.
* Generate efficient Beam Schema coders for registered types?
* Handle SplittableDoFns properly.

Imported from Jira [BEAM-9616](https://issues.apache.org/jira/browse/BEAM-9616). Original Jira may contain additional context.
Reported by: lostluck.

Contributor guide

Open the contributing guide

Research direction

Start at the starcgen code generator entry point and inspect how command-line identifiers and beam.Register* calls currently drive generation. The issue has several independent goals, including import aliasing, multiple iterNatives, registered-type schema coders, and SplittableDoFns; completion would require narrowing these into a defined scope with corresponding tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.