robreeves commented on PR #40812:
URL: https://github.com/apache/spark/pull/40812#issuecomment-1969960693

   @liuzqt in theory this issue is not limited to explain string. The core 
issue is that TreeNode.tags introduces mutability into an otherwise immutable 
plan. This is mostly fine because a cloned plan creates all new objects, 
including the TreeNode.tags object. The problem is the caching operators do not 
get cloned when the plan is cloned. The object will be referenced by the old 
and new plan. So any TreeNode.tags mutation now risks concurrency issues. 
Explain string is not the only place that modifies the tags (look for 
TreeNode.setTagValue usage) so the more narrow fix does not solve the 
vulnerability. As a long term solution I think mutability (the tags) should be 
removed from plans, but I know that is not the most practical suggestion for 
you right now.


-- 
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.

To unsubscribe, e-mail: [email protected]

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


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

Reply via email to