release-22.1: sql: wrap stacktraceless errors with errors.Wrap #96815
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/1 commits from #96659.
/cc @cockroachdb/release
Fixes #95794
This replaces the previous attempt to add logging here #95797.
The context itself cannot be augmented to add a stack trace to errors because
it interferes with grpc timeout logic - gRPC compares errors directly without
checking causes https://github.com/grpc/grpc-go/blob/v1.46.0/rpc_util.go#L833.
Although the method signature allows it,
Context.Err()
should not beoverriden to customize the error:
Additionally, a child context of the augmented context may end up being used
which will circumvent the stack trace capture.
This change instead wraps
errors.Wrap
in a few places that might end uphelping debug the original problem:
Context.Err()
directly.Context.Err()
internally or returns an error that does not have a stack trace.
Release note: None
Release justification: Logging enhancement