LuciferYang commented on a change in pull request #34364:
URL: https://github.com/apache/spark/pull/34364#discussion_r734267797



##########
File path: 
external/avro/src/test/scala/org/apache/spark/sql/avro/AvroSuite.scala
##########
@@ -1071,7 +1071,8 @@ abstract class AvroSuite
           .write.format("avro").option("avroSchema", avroSchema)
           .save(s"$tempDir/${UUID.randomUUID()}")
       }.getCause.getMessage
-      assert(message.contains("Caused by: java.lang.NullPointerException: " +
+      assert(message.contains("Caused by: java.lang.NullPointerException: "))
+      assert(message.contains(

Review comment:
       The whole message as follows:
   ```
   
   
   "Job aborted due to stage failure: Task 1 in stage 144.0 failed 1 times, 
most recent failure: Lost task 1.0 in stage 144.0 (TID 250) (localhost executor 
driver): org.apache.spark.SparkException: Task failed while writing rows.
        at 
org.apache.spark.sql.errors.QueryExecutionErrors$.taskFailedWhileWritingRowsError(QueryExecutionErrors.scala:516)
        at 
org.apache.spark.sql.execution.datasources.FileFormatWriter$.executeTask(FileFormatWriter.scala:345)
        at 
org.apache.spark.sql.execution.datasources.FileFormatWriter$.$anonfun$write$20(FileFormatWriter.scala:252)
        at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
        at org.apache.spark.scheduler.Task.run(Task.scala:136)
        at 
org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:507)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1468)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:510)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
   Caused by: org.apache.avro.file.DataFileWriter$AppendWriteException: 
java.lang.NullPointerException: Cannot invoke "Object.getClass()" because 
"datum" is null of string in string in field Name of test_schema in test_schema
        at org.apache.avro.file.DataFileWriter.append(DataFileWriter.java:317)
        at 
org.apache.spark.sql.avro.SparkAvroKeyRecordWriter.write(SparkAvroKeyOutputFormat.java:84)
        at 
org.apache.spark.sql.avro.SparkAvroKeyRecordWriter.write(SparkAvroKeyOutputFormat.java:62)
        at 
org.apache.spark.sql.avro.AvroOutputWriter.write(AvroOutputWriter.scala:84)
        at 
org.apache.spark.sql.execution.datasources.SingleDirectoryDataWriter.write(FileFormatDataWriter.scala:175)
        at 
org.apache.spark.sql.execution.datasources.FileFormatDataWriter.writeWithMetrics(FileFormatDataWriter.scala:85)
        at 
org.apache.spark.sql.execution.datasources.FileFormatDataWriter.writeWithIterator(FileFormatDataWriter.scala:92)
        at 
org.apache.spark.sql.execution.datasources.FileFormatWriter$.$anonfun$executeTask$1(FileFormatWriter.scala:328)
        at 
org.apache.spark.util.Utils$.tryWithSafeFinallyAndFailureCallbacks(Utils.scala:1502)
        at 
org.apache.spark.sql.execution.datasources.FileFormatWriter$.executeTask(FileFormatWriter.scala:335)
        ... 9 more
   Caused by: java.lang.NullPointerException: Cannot invoke "Object.getClass()" 
because "datum" is null of string in string in field Name of test_schema in 
test_schema
        at 
org.apache.avro.generic.GenericDatumWriter.npe(GenericDatumWriter.java:184)
        at 
org.apache.avro.reflect.ReflectDatumWriter.write(ReflectDatumWriter.java:160)
        at 
org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:73)
        at org.apache.avro.file.DataFileWriter.append(DataFileWriter.java:314)
        ... 18 more
   Caused by: java.lang.NullPointerException: Cannot invoke "Object.getClass()" 
because "datum" is null
        at 
org.apache.avro.specific.SpecificDatumWriter.writeString(SpecificDatumWriter.java:68)
        at 
org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion(GenericDatumWriter.java:151)
        at 
org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:83)
        at 
org.apache.avro.reflect.ReflectDatumWriter.write(ReflectDatumWriter.java:158)
        at 
org.apache.avro.generic.GenericDatumWriter.writeField(GenericDatumWriter.java:221)
        at 
org.apache.avro.specific.SpecificDatumWriter.writeField(SpecificDatumWriter.java:101)
        at 
org.apache.avro.reflect.ReflectDatumWriter.writeField(ReflectDatumWriter.java:184)
        at 
org.apache.avro.generic.GenericDatumWriter.writeRecord(GenericDatumWriter.java:210)
        at 
org.apache.avro.specific.SpecificDatumWriter.writeRecord(SpecificDatumWriter.java:83)
        at 
org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion(GenericDatumWriter.java:131)
        at 
org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:83)
        at 
org.apache.avro.reflect.ReflectDatumWriter.write(ReflectDatumWriter.java:158)
        ... 20 more
   ```
   
   so we can't assert with `startWith` and `endWith`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to