[
https://issues.apache.org/jira/browse/BEAM-8140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17548019#comment-17548019
]
Danny McCormick commented on BEAM-8140:
---------------------------------------
This issue has been migrated to https://github.com/apache/beam/issues/19675
> Python API: PTransform should be immutable and reusable
> -------------------------------------------------------
>
> Key: BEAM-8140
> URL: https://issues.apache.org/jira/browse/BEAM-8140
> Project: Beam
> Issue Type: Bug
> Components: sdk-py-core
> Reporter: Chris Suchanek
> Priority: P3
>
> While the Java API seems fine the Python API is (at least) counterintuitive.
> Let's see the following example:
> {code:python}
> p1 = beam.Pipeline()
> p2 = beam.Pipeline()
> node = 'ReadTrainData' >> beam.io.ReadFromText("/tmp/aaa.txt")
> p1 | node
> p2 | node //fails here {code}
> The code above will fail because the _node_ somehow remembers that it was
> already attached to _p1_. In fact, unlike in Java, the | (apply) method is
> defined on the _PTransform_.
> If any, only the pipeline object should be mutable here.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)