Github user HyukjinKwon commented on a diff in the pull request:
https://github.com/apache/spark/pull/22895#discussion_r229563551
--- Diff:
external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDataToCatalyst.scala
---
@@ -100,9 +100,14 @@ case class AvroDataToCatalyst(
case NonFatal(e) => parseMode match {
case PermissiveMode => nullResultRow
case FailFastMode =>
- throw new SparkException("Malformed records are detected in
record parsing. " +
+ val msg = if (e.getMessage != null) {
+ e.getMessage + "\n"
+ } else {
+ ""
+ }
+ throw new SparkException(msg + "Malformed records are detected
in record parsing. " +
s"Current parse Mode: ${FailFastMode.name}. To process
malformed records as null " +
- "result, try setting the option 'mode' as 'PERMISSIVE'.",
e.getCause)
+ "result, try setting the option 'mode' as 'PERMISSIVE'.", e)
--- End diff --
How about we just remove `msg` change? If I am not mistaken, usually it's
just added at the cause alone.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]