Github user marmbrus commented on a diff in the pull request:

    https://github.com/apache/spark/pull/2114#discussion_r16689350
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala 
---
    @@ -38,7 +38,7 @@ abstract class TreeNode[BaseType <: TreeNode[BaseType]] {
        * Unlike `equals`, `id` can be used to differentiate distinct but 
structurally
        * identical branches of a tree.
        */
    -  val id = TreeNode.nextId()
    +  @transient lazy val id = TreeNode.nextId()
    --- End diff --
    
    Marking this as transient and lazy means that this could change on the 
slaves which is a little weird.  Honestly I think the correct change here is to 
get rid of this id entirely and change usages of it to do reference equality 
instead (`eq`).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to