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)