Yifan Mai created BEAM-11024:
--------------------------------
Summary: Visit composite transform nodes in
Pipeline._check_replacement()
Key: BEAM-11024
URL: https://issues.apache.org/jira/browse/BEAM-11024
Project: Beam
Issue Type: Bug
Components: sdk-py-core
Reporter: Yifan Mai
Assignee: Yifan Mai
Pipeline.replace_all() calls _replace(), which replaces transform nodes using a
PipelineVisitor, and then _check_replacement(), which validates that there are
no replaceable transform nodes using a PipelineVisitor i.e. it checks that
PTransformOverride.matches() does not return True on any nodes.
Currently, _replace() visits [both composite and leaf transform
nodes|https://github.com/apache/beam/blob/b7ae7bb1dc28a7c8f26e9f48682e781a74e2d3c4/sdks/python/apache_beam/pipeline.py#L376-L382]
whereas _check_replacement() visits [only leaf transform
nodes|https://github.com/apache/beam/blob/b7ae7bb1dc28a7c8f26e9f48682e781a74e2d3c4/sdks/python/apache_beam/pipeline.py#L463-L468].
_check_replacement() should visit composite transform nodes as well for
symmetry.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)