yifanmai commented on pull request #13202:
URL: https://github.com/apache/beam/pull/13202#issuecomment-721847961


   Summarizing an an offline conversation with @robertwb: If you fuse two 
stages without a common parent, currently the parent gets set to `None` i.e. it 
gets promoted to a root transform. This is problematic because in [some 
places](https://github.com/apache/beam/blob/eeb1497875bd9f9ae1be60e4b8d2d05dd834064e/sdks/python/apache_beam/pipeline.py#L892)
 we assume that there is exactly one root transform. Instead we should set the 
parent to the lowest common ancestor.
   
   The change also applies this logic to `eliminate_common_key_with_void` and 
`pack_combiners`, though these are pseudo-fusions (i.e. replacing multiple 
stages with a single stage) rather than a "true" fusion.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to