Github user rdblue commented on the issue:

    https://github.com/apache/spark/pull/20387
  
    > I'm ok to make it immutable if there is an significant benefit.
    
    Mutable nodes violate a basic assumption of catalyst, that trees are 
immutable. Here's a good quote from the SIGMOD paper (by @rxin, @yhuai, and 
@marmbrus et al.):
    
    > In our experience, functional transformations on immutable trees make the 
whole optimizer very easy to reason about and debug. They also enable 
parallelization in the optimizer, although we do not yet exploit this.
    
    Mixing mutable nodes into supposedly immutable trees is a bad idea. Other 
nodes in the tree assume that children do not change.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to