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]
