You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by "Polber (via GitHub)" <gi...@apache.org> on 2024/12/23 20:38:07 UTC
[PR] [yaml] propogate error_handling to windowing composite config [beam]
Polber opened a new pull request, #33443:
URL: https://github.com/apache/beam/pull/33443
There was a bug with pipeline-level windowing with transforms that define `error_handling` in which pipelines would fail with error:
```
Ambiguous output at line 16: Stream has outputs [None, 'errors']
```
This was due to a check to ensure a transform only outputs a "good" collection and optionally a collection defined by the named output in the `error_handling` config. Since the `error_handling` was not propagated to the top-level composite constructed as part of pipeline-level windowing, the check would fail.
Example affected pipeline:
```
pipeline:
transforms:
- type: ReadFromPubSub
name: Stream
config:
topic: projects/pubsub-public-data/topics/taxirides-realtime
format: json
schema:
type: object
properties:
ride_id: {type: string}
error_handling:
output: errors
- type: LogForTesting
name: Log messages
input: Stream
- type: LogForTesting
name: Log errors
config:
level: INFO
input: Stream.errors
windowing:
type: fixed
size: 60
options:
streaming: true
```
------------------------
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
- [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
- [ ] Update `CHANGES.md` with noteworthy changes.
- [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://github.com/apache/beam/blob/master/CONTRIBUTING.md#make-the-reviewers-job-easier).
To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
GitHub Actions Tests Status (on master branch)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI or the [workflows README](https://github.com/apache/beam/blob/master/.github/workflows/README.md) to see a list of phrases to trigger workflows.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [yaml] propogate error_handling to windowing composite config [beam]
Posted by "Polber (via GitHub)" <gi...@apache.org>.
Polber commented on code in PR #33443:
URL: https://github.com/apache/beam/pull/33443#discussion_r1896111354
##########
sdks/python/apache_beam/yaml/yaml_transform.py:
##########
@@ -771,6 +771,9 @@ def preprocess_windowing(spec):
'transforms': [modified_spec] + windowing_transforms,
'input': spec['input'],
'output': modified_spec['__uuid__'],
+ 'config': {
+ 'error_handling': spec.get('config').get('error_handling', None)
+ } or {},
Review Comment:
Good point
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [yaml] propogate error_handling to windowing composite config [beam]
Posted by "Polber (via GitHub)" <gi...@apache.org>.
Polber commented on PR #33443:
URL: https://github.com/apache/beam/pull/33443#issuecomment-2560270656
R: @robertwb
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [yaml] propogate error_handling to windowing composite config [beam]
Posted by "robertwb (via GitHub)" <gi...@apache.org>.
robertwb merged PR #33443:
URL: https://github.com/apache/beam/pull/33443
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [yaml] propogate error_handling to windowing composite config [beam]
Posted by "robertwb (via GitHub)" <gi...@apache.org>.
robertwb commented on code in PR #33443:
URL: https://github.com/apache/beam/pull/33443#discussion_r1896108315
##########
sdks/python/apache_beam/yaml/yaml_transform.py:
##########
@@ -771,6 +771,9 @@ def preprocess_windowing(spec):
'transforms': [modified_spec] + windowing_transforms,
'input': spec['input'],
'output': modified_spec['__uuid__'],
+ 'config': {
+ 'error_handling': spec.get('config').get('error_handling', None)
+ } or {},
Review Comment:
I don't think the `or {}` will ever trigger, as this will always result in a key with a single dictionary entry. However, setting letting error_handling=None should be fine.
##########
sdks/python/apache_beam/yaml/yaml_transform.py:
##########
@@ -805,6 +808,9 @@ def preprocess_windowing(spec):
'name': spec.get('name', None) or spec['type'],
'transforms': [modified_spec] + windowing_transforms,
'output': windowed_outputs,
+ 'config': {
Review Comment:
Same as above.
##########
sdks/python/apache_beam/yaml/yaml_transform.py:
##########
@@ -771,6 +771,9 @@ def preprocess_windowing(spec):
'transforms': [modified_spec] + windowing_transforms,
'input': spec['input'],
'output': modified_spec['__uuid__'],
+ 'config': {
+ 'error_handling': spec.get('config').get('error_handling', None)
Review Comment:
Nit, let's use `spec['config'].get('error_handling', None)` for consistency (unless we're worried the spec might not have a config, in which case we'd want `spec.get('config', {})` (which I think we'd need as it happens before the `ensure_config` phase).
Also, should it be `get('error_handling', {})` rather than `get('error_handling', None)`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [yaml] propogate error_handling to windowing composite config [beam]
Posted by "Polber (via GitHub)" <gi...@apache.org>.
Polber commented on code in PR #33443:
URL: https://github.com/apache/beam/pull/33443#discussion_r1896113490
##########
sdks/python/apache_beam/yaml/yaml_transform.py:
##########
@@ -771,6 +771,9 @@ def preprocess_windowing(spec):
'transforms': [modified_spec] + windowing_transforms,
'input': spec['input'],
'output': modified_spec['__uuid__'],
+ 'config': {
+ 'error_handling': spec.get('config').get('error_handling', None)
Review Comment:
Agreed with both
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [yaml] propogate error_handling to windowing composite config [beam]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #33443:
URL: https://github.com/apache/beam/pull/33443#issuecomment-2560271866
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control. If you'd like to restart, comment `assign set of reviewers`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org