-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix bug where AQE does not respect entirePlanWillNotWork
#6250
Conversation
Signed-off-by: Andy Grove <andygrove@nvidia.com>
build |
1 similar comment
build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we file a followup to try to find a test for this? I think we need to find better ways to test AQE in general
Filed #6253 |
One downside to this fix is that it results in noisy logging
|
can we do more to limit it to when AQE is on? Or perhaps we can make the logging smarter. Since this seems to be needed for 22.08, I think the logging is ok being noisy but we can file a followup to improve in 22.10. Unless others have other ideas. |
Yes, I think we can change |
Using
|
build |
Closes #6230
While testing some changes related to Delta Lake fallback, I discovered that
entirePlanWillNotWork
is not always respected by AQE because we weren't tagging the underlying plan, so during the planning for individual query stages, we could decide to run on GPU, and this can lead to invalid plans with mixed CPU/GPU usage that then fail to run.For the example that I hit, the query failed with the following error due to an invalid transition being inserted. See the issue for more details.
This issue can only happen when
spark.rapids.sql.detectDeltaLogQueries
is enabled (because that is the only time we callentirePlanWillNotWork
). This setting is currently enabled by default.I have tried some different approaches to writing unit or integration tests for this change, but it is proving to be challenging, so I am open to suggestions on how to do this. I hit the error with some changes on another branch that I am no longer planning on merging.