okumin opened a new pull request, #5189:
URL: https://github.com/apache/hive/pull/5189
### What changes were proposed in this pull request?
Ignore `hive.cbo.fallback.strategy` if EXCEPT or INTERSECT are used.
I have considered some alternatives.
- Always show the error message of the first attempt with CBO
- This option is not trivial because the re-execution plugin handles not
only compile errors but also runtime errors such as OOM
- Make `CBOFallbackStrategy#isFatal` configurable, e.g. accept regular
expressions to test error messages
- It sounds hard to maintain fatal error messages so that it is
consistent with the actual message in an Exception
- Add a new field like `isRetryableWithCBOFallback` to SemanticException
- This could be an option. I prefer the approach of this PR because
SemanticException is very common and I don't want to add an ad-hoc attribute.
The fallback mode is going to be deprecated in the future
### Why are the changes needed?
As explained in HIVE-28193, the fallback attempt can fail with an
inconsistent reason when the operators are used.
### Does this PR introduce _any_ user-facing change?
Yes. Users would see a different but better error message when they hit the
issue.
### Is the change a dependency upgrade?
No.
### How was this patch tested?
I added an integration test.
--
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]