apache/beam

Streamline beam.Init() requirement for Go pipelines.

Open

#19,226 创建于 2022年6月3日

在 GitHub 查看
 (4 评论) (0 反应) (0 负责人)Java (4,097 fork)batch import
P3documentationgogood first issueimprovementusability

仓库指标

Star
 (7,313 star)
PR 合并指标
 (平均合并 6天) (30 天内合并 243 个 PR)

描述

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.

贡献者指南