jonahgao commented on PR #21827: URL: https://github.com/apache/datafusion/pull/21827#issuecomment-4325549995
> I agree in principle, but in practice the optimizer rule never gets that chance. Here's the call chain: Thanks @zhuqi-lucas for this elaboration. For this `transform_up` style traversal, it seems we can only fall back. But I still think optimizer rewrites shouldn’t panic if an error occurs in the middle. > Falling back to UnionExec inside with_new_children is safe because UnionExec is always a valid replacement I have no doubt about this. My concern is that this fallback might be a bit aggressive. It could potentially hide bugs similar to #11536 by switch err to warn log, and it could also lead to optimization loss in some other scenarios where keeping InterleaveExec would be a better choice. Let’s wait to hear more opinions from other reviewers. -- 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]
