[SkipRecovery] Restore randomized regex and decimal window coverage [reduced-it] [databricks] - #15972
Open
wjxiz1992 wants to merge 2 commits into
Open
[SkipRecovery] Restore randomized regex and decimal window coverage [reduced-it] [databricks]#15972wjxiz1992 wants to merge 2 commits into
wjxiz1992 wants to merge 2 commits into
Conversation
Signed-off-by: Allen Xu <allxu@nvidia.com>
Contributor
|
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Restrict the decimal guard to Apache runtimes so vendor Spark environments remain guarded.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This test-only PR restores randomized regex coverage and re-enables nullable decimal window coverage for supported Apache Spark versions.
Changes:
- Restores historical Unicode line-terminator inputs and removes the fixed regex seed.
- Updates decimal version guards while retaining existing vendor and Databricks guards.
File summaries
| File | Summary |
|---|---|
integration_tests/src/main/python/window_function_test.py |
Updates decimal version guarding; the condition should be limited to plain Apache runtimes. |
integration_tests/src/main/python/regexp_test.py |
Restores randomized regex inputs and regression coverage. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+3090
to
+3092
| apache_33 = re.fullmatch(r"3\.3\.([0-9]+)", v) | ||
| if apache_33 and not is_databricks_runtime(): | ||
| return int(apache_33[1]) == 0 |
Signed-off-by: Allen Xu <allxu@nvidia.com>
Collaborator
Author
|
build |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JaCoCo production line coverage: +0 lines (measured:
delta-lake,iceberg,shuffle-plugin,sql-plugin,udf-compiler; Scala 2.12, shim 350, anchor2d438c020496, vs compatible nightly b34)Fixes #9731. Refs #7429 (decimal-sorting test guard only).
Description
This test-only PR removes two stale restrictions after their underlying fixes landed: it restores randomized regex-replacement inputs and one nullable-decimal ROWS-window case on fixed Apache Spark 3.3 releases. Production behavior, SQL queries, and parity assertions are unchanged. The documented decimal RANGE limitation and existing Databricks/vendor guards remain in place.
test_re_replace_allfails with a corner case #9731 in the existing replacement test's generator, along with other line-terminator cases, while removing its fixed-seed override. The original failing seed and exact inputs now match CPU/GPU after Simplify Transpilation of $ with Extended Line Separator Support in cuDF Regex #11663 and Drop the regex line-anchor CRLF workaround now that cuDF #22763 landed #15023.Decimal(23,10)negative-ROWS parameter; it does not remove the two Databricks decimal RANGE xfails associated with Window aggregations for decimal ranges: different output from CPU and GPU #7429. The helper's ranking-test caller already requires Spark 3.5+, so it gains no additional cases.No new test function or parameter dimension is added. No CPU/GPU divergence was observed in the recovered cases.
AI assistance: The change and PR description were prepared with Codex assistance.
Validation
BUILD SUCCESSfor both, using isolated Maven caches.regexp_test.py: 95 passed, 1 existing skip on each of Apache Spark 3.5.0 and 3.3.4.window_function_test.pyon Spark 3.3.4: 914 passed, 136 existing skips, 4 existing xfails; the recovered decimal case passed.1700077791,0,42, and20260911: all passed. Exact historical inputs returned the samePRODPROD<NEL>PRODon CPU/GPU, where<NEL>denotes U+0085, withGpuRegExpReplacecaptured. The unmasked decimal case compared all 2,048 rows with GPU window execution confirmed.TEST_TYPE=pre-commitandREDUCED_IT=true. All eight recovered-function cases were retained. The regex test has no parametrization, and the window test's matrix is seven data generators × one batch size. Thus[reduced-it]retains every recovered combination.Environment and coverage details
Apache Spark 3.3.4 / 3.5.0, Python 3.10.18, Scala 2.12, JDK 17, UTC, RTX 5880 Ada. Databricks was not run locally; its existing guards are preserved and the title requests Databricks CI.
Both affected functions were replayed with the exact compatible nightly anchor JAR: 8 passed. All five regenerated module baseline counters matched the published report, with no class-ID mismatches and zero marginal production lines. This measures shim 350 against compatible b34, not the separately refreshed latest b21 report or a Spark 3.3 coverage total.
Checklists
Documentation
Testing
(Please provide the names of the existing tests in the PR description.)
Performance