Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix ExpressionVerifier to ignore UNSUPPORTED_INPUT_UNCATCHABLE only t…
…hrown from one eval path (#11096) Summary: Pull Request resolved: #11096 Velox throws VeloxRuntimeError at a few places intentionally to fail the query instead of generating wrong results, e.g., when timestamp is outside the supported range. These VeloxRuntimeErrors caused failures in expression fuzzer, hence an attempt was made to tolerate such runtime errors in fuzzer so that fuzzer can still test the relevant functions (#10993). However, it turns out that that attempt was not enough. The reason is that VeloxRuntimeError doesn't work well with the existing mechanism of masking error by default nulls. So the expression fuzzer still occasionally fails because of only one of the common and simple evaluation path throwing the error. (If we later want to make those VeloxRuntimeError not suppressable by TRY but suppressable by the mask-error-by-default-null mechanism, we'll need to extend the EvalErrors struct with an additional buffer to track whether the error at an index can be suppressed by Try and check that in TryExpr.) This diff relaxes the fuzzer check to make fuzzer not fail when only one of the common and simple eval path throw the UNSUPPORTED_INPUT_UNCATCHABLE runtime error. This should unblock #10713. Reviewed By: kevinwilfong Differential Revision: D63421914 fbshipit-source-id: 54d01f7a5e7ea887018659d0eec8070fd0922b50
- Loading branch information