This is an automated email from the ASF dual-hosted git repository.

parthc pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


The following commit(s) were added to refs/heads/main by this push:
     new 09a7ebbff fix: native error message not propagated to SparkException 
on empty errorClass (#3727)
09a7ebbff is described below

commit 09a7ebbff04ebcc96a1604b71faa05655550578f
Author: Manu Zhang <[email protected]>
AuthorDate: Tue Mar 24 08:38:46 2026 +0800

    fix: native error message not propagated to SparkException on empty 
errorClass (#3727)
---
 .../scala/org/apache/comet/SparkErrorConverter.scala   | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/spark/src/main/scala/org/apache/comet/SparkErrorConverter.scala 
b/spark/src/main/scala/org/apache/comet/SparkErrorConverter.scala
index 284671896..36059684c 100644
--- a/spark/src/main/scala/org/apache/comet/SparkErrorConverter.scala
+++ b/spark/src/main/scala/org/apache/comet/SparkErrorConverter.scala
@@ -43,8 +43,9 @@ import 
org.apache.comet.exceptions.CometQueryExecutionException
 object SparkErrorConverter extends ShimSparkErrorConverter {
 
   implicit val formats: DefaultFormats.type = DefaultFormats
+  private val UNKNOWN_ERROR = "UNKNOWN_ERROR_TEMP_COMET"
 
-  case class QueryContextJson(
+  private case class QueryContextJson(
       sqlText: String,
       startIndex: Int,
       stopIndex: Int,
@@ -53,7 +54,7 @@ object SparkErrorConverter extends ShimSparkErrorConverter {
       line: Int,
       startPosition: Int)
 
-  case class ErrorJson(
+  private case class ErrorJson(
       errorType: String,
       errorClass: Option[String],
       params: Option[Map[String, Any]],
@@ -83,7 +84,8 @@ object SparkErrorConverter extends ShimSparkErrorConverter {
     val json = parse(e.getMessage)
     val errorJson = json.extract[ErrorJson]
     val params = errorJson.params.getOrElse(Map.empty)
-    val errorClass = errorJson.errorClass.getOrElse("UNKNOWN_ERROR_TEMP_COMET")
+    val errorClass =
+      
errorJson.errorClass.map(_.trim).filter(_.nonEmpty).getOrElse(UNKNOWN_ERROR)
 
     // Build Spark SQLQueryContext if context is present (Not all errors carry 
the query context)
     val sparkContext: Array[QueryContext] = errorJson.context match {
@@ -111,10 +113,12 @@ object SparkErrorConverter extends 
ShimSparkErrorConverter {
 
       case None =>
         // Unknown error type - fallback to generic SparkException
-        new SparkException(
-          errorClass = errorClass,
-          messageParameters = paramsToStringMap(params),
-          cause = null)
+        val msgParams = paramsToStringMap(params)
+        if (errorClass.equals(UNKNOWN_ERROR)) {
+          new SparkException(msgParams.mkString(", "))
+        } else {
+          new SparkException(errorClass = errorClass, messageParameters = 
msgParams, cause = null)
+        }
     }
   }
 


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

Reply via email to