diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/LocalTableScanExec.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/LocalTableScanExec.scala index 9e32ecfdd80a7..a3bab2a1bd83a 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/LocalTableScanExec.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/LocalTableScanExec.scala @@ -37,6 +37,7 @@ case class LocalTableScanExec( "numOutputRows" -> SQLMetrics.createMetric(sparkContext, "number of output rows")) @transient private lazy val unsafeRows: Array[InternalRow] = { + assert(rows != null) if (rows.isEmpty) { Array.empty } else { @@ -59,7 +60,9 @@ case class LocalTableScanExec( } override protected def stringArgs: Iterator[Any] = { - if (rows.isEmpty) { + if (rows == null) { + Iterator("", output) + } else if (rows.isEmpty) { Iterator("", output) } else { Iterator(output)