Github user srowen commented on a diff in the pull request:
https://github.com/apache/spark/pull/17800#discussion_r114069693
--- Diff:
sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala
---
@@ -653,7 +653,13 @@ object JdbcUtils extends Logging {
val cause = e.getNextException
if (cause != null && e.getCause != cause) {
if (e.getCause == null) {
- e.initCause(cause)
+ try {
+ e.initCause(cause)
+ } catch {
+ // cause may have been explicitly initialized to null, in
which case this
--- End diff --
No the issue is simply whether the cause has been initialized at all. If it
has been initialized to `null`, then `e.getCause` returns `null`, but the
current code takes that to mean the cause is uninitialized (because it would
return `null`) in that case. If it were initialized to an actual exception it
already would call `addSuppressed` instead.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]