Hi, I'm currently working on making the StreamGraph generation more centralized (i.e. not spread across the different API classes). The question is now why we need to switch to preserve partitioning? Could we not make "preserve" partitioning the default and if users want to have shuffle partitioning or anything they have to specify it manually when adding the feedback edge?
This would make for a very simple scheme where the iteration sources are always connected to the heads using "forward" and the tails are connected to the iteration sinks using whatever partitioner was set by the user. This would make it more transparent than the current default of the "shuffle" betweens tails and iteration sinks. Cheers, Aljoscha P.S. I now we had quite some discussion about introducing "preserve partitioning" but now, when I think of it it should be the default... :D