release-19.2: execerror: user errors package #46092
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport 1/2 commits from #45673.
/cc @cockroachdb/release
execerror: use errors package
We previously would unwrap a notVectorizedInternalError when first catching it,
which mean that we would lose that information and be unable to propagate its
underlying cause without annotating it if caught again (since we only check
for a *notVectorizedInternal wrapper). Instead, this patch changes the
CatchVectorizedRuntimeError function to leave the error object unwrapped when
doing its annotation. *notVectorizedInternalError is now enhanced so that it
can be sent over the wire unwrapped and propagated as many times as necessary
through CatchVectorizedRuntimeError without losing information.
Release note (bug fix): expected errors from the vectorized execution engine
are no longer mistakenly annotated as unexpected errors.