Skip to content

Streamline beam.Init() requirement for Go pipelines. #19226

@kennknowles

Description

@kennknowles

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. Original Jira may contain additional context.
Reported by: danoliveira.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions