@robertwb > _a runner_ might do substitution and implement a primitive in terms of other > primitives, _but leave the original in the graph_...
(mostly to check my own understanding): here it's the python SDK, not a runner, that: 1. implements `Read` (normally a primitive) in terms of other transforms (including a `Reshuffle`, which in turn wraps a `ParDo` primitive), 2. leaves the original in the graph The _runner_ substitution case (`ReferenceRunner`) does not leave the original in the graph, and the error we were getting there had to do with a PCollection being left with no "primitive" transform that produced it. @tweise good idea, I've updated the comment and force-pushed it here [ Full content available at: https://github.com/apache/beam/pull/6461 ] This message was relayed via gitbox.apache.org for [email protected]
