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]