This is an automated email from the ASF dual-hosted git repository. changchen pushed a commit to branch feature/ansi-ci-baseline in repository https://gitbox.apache.org/repos/asf/gluten.git
commit 41e8943c35800f9193e9f75b66ac0af4300aaf45 Author: Chang chen <[email protected]> AuthorDate: Mon Apr 13 07:01:41 2026 +0000 [GLUTEN-10134][VL] Re-enable 7 TryCastSuite excludes verified passing in both ANSI on/off modes Remove 7 TryCastSuite excludes that are now passing: - ANSI cast out-of-range: byte, short, int (TRY mode correctly returns NULL) - Process Infinity case insensitive (+inf now supported in folly) - cast from invalid string to numeric (TRY mode returns NULL) - SPARK-26218 float to Integer corner case (boundary handling fixed) - SPARK-39749 cast Decimal to string (velox#14910 merged) Remaining exclude: long out-of-range (float→int64 boundary returns null instead of Long.MaxValue) Updated CastWithAnsiOffSuite SPARK-39749 comment to reflect actual root cause. Co-Authored-By: Claude Opus 4 <[email protected]> --- .../org/apache/gluten/utils/velox/VeloxTestSettings.scala | 13 ++----------- .../org/apache/gluten/utils/velox/VeloxTestSettings.scala | 13 ++----------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala b/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala index d5ce4c8f22..7f734b5820 100644 --- a/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala +++ b/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala @@ -105,25 +105,16 @@ class VeloxTestSettings extends BackendTestSettings { .exclude("data type casting") // Rewrite for Gluten: sync session timezone with per-expression .exclude("cast string to timestamp") // Rewrite for Gluten: sync session timezone .exclude("cast from timestamp II") // Rewrite: skip Long.MinValue (collect rebase overflow) - // TODO: fix after https://github.com/facebookincubator/velox/pull/14910 + // Velox returns plain string "0.000000123" while LEGACY mode expects scientific notation "1.23E-7" .exclude("SPARK-39749: cast Decimal to string") enableSuite[GlutenTryCastSuite] - .exclude( - "Process Infinity, -Infinity, NaN in case insensitive manner" // +inf not supported in folly. - ) .exclude("cast from timestamp II") // Rewrite test for Gluten not supported with ANSI mode - .exclude("ANSI mode: Throw exception on casting out-of-range value to byte type") - .exclude("ANSI mode: Throw exception on casting out-of-range value to short type") - .exclude("ANSI mode: Throw exception on casting out-of-range value to int type") + // Velox try_cast(float→long) returns null for boundary values near Long.MaxValue/MinValue .exclude("ANSI mode: Throw exception on casting out-of-range value to long type") - .exclude("cast from invalid string to numeric should throw NumberFormatException") - .exclude("SPARK-26218: Fix the corner case of codegen when casting float to Integer") // Set timezone through config. .exclude("data type casting") // Revised by setting timezone through config and commented unsupported cases. .exclude("cast string to timestamp") - // TODO: fix after https://github.com/facebookincubator/velox/pull/14910 - .exclude("SPARK-39749: cast Decimal to string") enableSuite[GlutenCollectionExpressionsSuite] // Rewrite in Gluten to replace Seq with Array .exclude("Shuffle") diff --git a/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala b/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala index 78cade04bf..312263f9f1 100644 --- a/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala +++ b/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala @@ -110,25 +110,16 @@ class VeloxTestSettings extends BackendTestSettings { .exclude("data type casting") // Rewrite for Gluten: sync session timezone with per-expression .exclude("cast string to timestamp") // Rewrite for Gluten: sync session timezone .exclude("cast from timestamp II") // Rewrite: skip Long.MinValue (collect rebase overflow) - // TODO: fix after https://github.com/facebookincubator/velox/pull/14910 + // Velox returns plain string "0.000000123" while LEGACY mode expects scientific notation "1.23E-7" .exclude("SPARK-39749: cast Decimal to string") enableSuite[GlutenTryCastSuite] - .exclude( - "Process Infinity, -Infinity, NaN in case insensitive manner" // +inf not supported in folly. - ) .exclude("cast from timestamp II") // Rewrite test for Gluten not supported with ANSI mode - .exclude("ANSI mode: Throw exception on casting out-of-range value to byte type") - .exclude("ANSI mode: Throw exception on casting out-of-range value to short type") - .exclude("ANSI mode: Throw exception on casting out-of-range value to int type") + // Velox try_cast(float→long) returns null for boundary values near Long.MaxValue/MinValue .exclude("ANSI mode: Throw exception on casting out-of-range value to long type") - .exclude("cast from invalid string to numeric should throw NumberFormatException") - .exclude("SPARK-26218: Fix the corner case of codegen when casting float to Integer") // Set timezone through config. .exclude("data type casting") // Revised by setting timezone through config and commented unsupported cases. .exclude("cast string to timestamp") - // TODO: fix after https://github.com/facebookincubator/velox/pull/14910 - .exclude("SPARK-39749: cast Decimal to string") enableSuite[GlutenCollectionExpressionsSuite] // Rewrite in Gluten to replace Seq with Array .exclude("Shuffle") --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
