Yes, in fact I anticipated this. There is one central place where we can insert a copy step, in OperatorCollector in OutputHandler.
On Wed, May 20, 2015 at 11:17 AM, Paris Carbone <par...@kth.se> wrote: > I guess it was not intended ^^. > > Chaining should be transparent and not break the correct/expected behaviour. > > > Paris? > > On 20 May 2015, at 11:02, Márton Balassi <mbala...@apache.org> wrote: > > +1 for copying. > On May 20, 2015 10:50 AM, "Gyula Fóra" <gyf...@apache.org> wrote: > > Hey, > > The latest streaming operator rework removed the copying of the outputs > before passing them to chained operators. This is a major break for the > previous operator semantics which guaranteed immutability. > > I think this change leads to very indeterministic program behaviour from > the user's perspective as only non-chained outputs/inputs will be mutable. > If we allow this to happen, users will start disabling chaining to get > immutability which defeats the purpose. (chaining should not affect program > behaviour just increase performance) > > In my opinion the default setting for each operator should be immutability > and the user could override this manually if he/she wants. > > What do you think? > > Regards, > Gyula > >