brijrajk commented on PR #12199:
URL: https://github.com/apache/gluten/pull/12199#issuecomment-4610933932
@philo-he — yes, the CI failure is related to our change, though indirectly.
Here's the full analysis:
Before this PR, `MathFunctionsValidateSuite` was `abstract class`, so **no
tests from this suite ever ran** on any Spark version. Our promotion to `class`
made all tests run for the first time — and on Spark 3.3, the test `"decimal
arithmetic respects allowPrecisionLoss captured at view analysis time"` failed
with a precision mismatch:
```
Expected: [0.10000000000, 2469135780246913578024690.14691357802, ...]
Actual: [0.01000000000, 246913578024691357802469.01469135780, ...]
```
This test was added in PR #12110 as a regression test for GLUTEN-11917 —
which fixed a Spark 4.1-specific behavior where `DecimalArithmeticExpression`
captures `allowPrecisionLoss` in its `evalContext` at analysis time. The test
is specifically designed to verify that behavior, but it was never guarded with
`testWithMinSparkVersion("...", "4.1")`. Since the class was abstract, the
missing guard went unnoticed.
The fix is straightforward — add the version guard so the test only runs on
Spark 4.1+:
```scala
testWithMinSparkVersion("decimal arithmetic respects allowPrecisionLoss
captured at view analysis time", "4.1") {
```
Honestly, your question about the CI failure sent me down quite a rabbit
hole — but a worthwhile one! It turned out our change was exposing a
pre-existing gap in test scoping from PR #12110.
Would it make sense to file a separate issue for the missing version guard
and reference it here with a `Fixes` link? Or is this small enough to just fix
inline without a dedicated issue?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]