apache / apache/beam

Streamline beam.Init() requirement for Go pipelines.

Open
#19,226 4 comments 0 reactions 0 assignees View on GitHub
documentation go good first issue improvement P3 usability
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
1d 20h
Merged PRs (30d)
196

Description

When writing a Go pipeline it's necessary to call beam.Init() at the beginning of your code, but right now there is nearly no validation or checking around that. This makes it very easy for a new user of Beam Go to accidentally leave it out and not get a clear signal for why their pipeline isn't being executed as expected. This issue is for tracking progress towards streamlining this requirement to improve the user experience.

In the short term this can be easily improved by improving documentation and examples to clearly communicate the necessity of beam.Init(), and also add log warnings to provide some signal if the user forgot to call it.

In the long term, the best solution to this would be to try avoiding the problem all together (for example by removing the need for beam.Init(), or having it called implicitly without relying on users to call it), or to create a stronger failure state, for example by having pipelines without beam.Init() immediately break with a clear message notifying the user that it was not called.

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.