[ https://issues.apache.org/jira/browse/BEAM-8140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Bradshaw reassigned BEAM-8140: ------------------------------------- Assignee: Robert Bradshaw > Python API: PTransform should be immutable > ------------------------------------------ > > Key: BEAM-8140 > URL: https://issues.apache.org/jira/browse/BEAM-8140 > Project: Beam > Issue Type: Improvement > Components: sdk-py-core > Reporter: Chris Suchandk > Assignee: Robert Bradshaw > Priority: Major > > 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.3.4#803005)