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

chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new 3f54ac5c665c Revert "[SPARK-55755][SQL][TESTS] Handle null 
ArithmeticException message on JDK 25"
3f54ac5c665c is described below

commit 3f54ac5c665c09cadc2334c7087361201444ffd2
Author: Cheng Pan <[email protected]>
AuthorDate: Sun Mar 1 01:45:22 2026 +0800

    Revert "[SPARK-55755][SQL][TESTS] Handle null ArithmeticException message 
on JDK 25"
    
    This reverts commit a7990f30b2e22e30278d3cc09999d2044223c880.
---
 .../main/scala/org/apache/spark/sql/catalyst/util/MathUtils.scala  | 7 ++-----
 .../apache/spark/sql/catalyst/CatalystTypeConvertersSuite.scala    | 3 +--
 .../spark/sql/catalyst/expressions/DateExpressionsSuite.scala      | 3 +--
 .../org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala    | 3 +--
 .../org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala    | 3 +--
 .../apache/spark/sql/catalyst/util/TimestampFormatterSuite.scala   | 5 ++---
 6 files changed, 8 insertions(+), 16 deletions(-)

diff --git 
a/sql/api/src/main/scala/org/apache/spark/sql/catalyst/util/MathUtils.scala 
b/sql/api/src/main/scala/org/apache/spark/sql/catalyst/util/MathUtils.scala
index 9f8ee7ae9319..b113bccc74df 100644
--- a/sql/api/src/main/scala/org/apache/spark/sql/catalyst/util/MathUtils.scala
+++ b/sql/api/src/main/scala/org/apache/spark/sql/catalyst/util/MathUtils.scala
@@ -94,9 +94,7 @@ object MathUtils {
       f
     } catch {
       case e: ArithmeticException =>
-        // On JDK 25+, Math.*Exact may throw ArithmeticException without a 
message
-        val message = if (e.getMessage != null) e.getMessage else "Overflow"
-        throw ExecutionErrors.arithmeticOverflowError(message, hint, context)
+        throw ExecutionErrors.arithmeticOverflowError(e.getMessage, hint, 
context)
     }
   }
 
@@ -105,8 +103,7 @@ object MathUtils {
        |try {
        |  $evalCode
        |} catch (ArithmeticException e) {
-       |  String msg = e.getMessage() != null ? e.getMessage() : "Overflow";
-       |  throw QueryExecutionErrors.arithmeticOverflowError(msg, "", 
$context);
+       |  throw QueryExecutionErrors.arithmeticOverflowError(e.getMessage(), 
"", $context);
        |}
        |""".stripMargin
   }
diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystTypeConvertersSuite.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystTypeConvertersSuite.scala
index 75ca908a941b..1b46825b3414 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystTypeConvertersSuite.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystTypeConvertersSuite.scala
@@ -302,8 +302,7 @@ class CatalystTypeConvertersSuite extends SparkFunSuite 
with SQLHelper {
     val errMsg = intercept[ArithmeticException] {
       IntervalUtils.durationToMicros(Duration.ofSeconds(Long.MaxValue, 
Long.MaxValue))
     }.getMessage
-    // On JDK 25+, Math.multiplyExact may throw ArithmeticException without a 
message
-    assert(errMsg == null || errMsg.contains("long overflow"))
+    assert(errMsg.contains("long overflow"))
   }
 
   test("SPARK-35726: Truncate java.time.Duration by fields of day-time 
interval type") {
diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/DateExpressionsSuite.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/DateExpressionsSuite.scala
index dede06bdc4b6..4e942b8b3e51 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/DateExpressionsSuite.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/DateExpressionsSuite.scala
@@ -1822,8 +1822,7 @@ class DateExpressionsSuite extends SparkFunSuite with 
ExpressionEvalHelper {
             null)
         }.getCause
         assert(e.isInstanceOf[ArithmeticException])
-        // On JDK 25+, Math.multiplyExact may throw ArithmeticException 
without a message
-        assert(e.getMessage == null || e.getMessage.contains("long overflow"))
+        assert(e.getMessage.contains("long overflow"))
 
         checkEvaluation(
           TimestampAddInterval(
diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala
index e7f29f547fc4..b5b69a834037 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala
@@ -832,8 +832,7 @@ class DateTimeUtilsSuite extends SparkFunSuite with 
Matchers with SQLHelper {
       val msg = intercept[ArithmeticException] {
         DateTimeUtils.localDateTimeToMicros(dt)
       }.getMessage
-      // On JDK 25+, Math.multiplyExact may throw ArithmeticException without 
a message
-      assert(msg == null || msg == "long overflow")
+      assert(msg == "long overflow")
     }
   }
 
diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala
index c8a8a0c1444a..a87d599711cf 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala
@@ -590,8 +590,7 @@ class IntervalUtilsSuite extends SparkFunSuite with 
SQLHelper {
     val errMsg = intercept[ArithmeticException] {
       durationToMicros(Duration.ofDays(106751991 + 1))
     }.getMessage
-    // On JDK 25+, Math.multiplyExact may throw ArithmeticException without a 
message
-    assert(errMsg == null || errMsg.contains("long overflow"))
+    assert(errMsg.contains("long overflow"))
   }
 
   test("SPARK-34615: period to months") {
diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/TimestampFormatterSuite.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/TimestampFormatterSuite.scala
index b1f6fefc2735..558d7eda78b4 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/TimestampFormatterSuite.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/TimestampFormatterSuite.scala
@@ -448,10 +448,9 @@ class TimestampFormatterSuite extends 
DatetimeFormatterSuite {
     assert(formatter.parse("294247") === date(294247))
     assert(formatter.parse("-290307") === date(-290307))
     val e1 = intercept[ArithmeticException](formatter.parse("294248"))
-    // On JDK 25+, Math.multiplyExact may throw ArithmeticException without a 
message
-    assert(e1.getMessage == null || e1.getMessage === "long overflow")
+    assert(e1.getMessage === "long overflow")
     val e2 = intercept[ArithmeticException](formatter.parse("-290308"))
-    assert(e2.getMessage == null || e2.getMessage === "long overflow")
+    assert(e2.getMessage === "long overflow")
   }
 
   test("SPARK-36418: default parsing w/o pattern") {


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

Reply via email to