Skip to content

Re-enable string split anchor fuzz test - #15381

Merged
igorpeshansky merged 3 commits into
NVIDIA:mainfrom
igorpeshansky:reenable-string-split-anchor-fuzz
Jul 25, 2026
Merged

Re-enable string split anchor fuzz test#15381
igorpeshansky merged 3 commits into
NVIDIA:mainfrom
igorpeshansky:reenable-string-split-anchor-fuzz

Conversation

@igorpeshansky

@igorpeshansky igorpeshansky commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Related to #15293.

Description

The cuDF Glushkov fast path no longer treats a lazy quantifier as greedy in split_re (NVIDIA/cudf#23381), and the fix is present in the cuDF revision built into the consumed cudf-spark-jni snapshot, so the test that was disabled for #15293 can run again.

Checklists

Documentation

  • Updated for new or modified user-facing features or behaviors
  • No user-facing change

Testing

  • Added or modified tests to cover new code paths
  • Covered by existing tests
    (Please provide the names of the existing tests in the PR description.)
  • Not required

Performance

  • Tests ran and results are added in the PR description
  • Issue filed with a link in the PR description
  • Not required

The cuDF Glushkov fast path no longer treats a lazy quantifier as greedy
in split_re (NVIDIA/cudf#23381), and the fix is present in the cuDF
revision built into the consumed spark-rapids-jni snapshot, so the test
that was disabled for NVIDIA#15293 can run again.

Closes NVIDIA#15293

Signed-off-by: Igor Peshansky <ipeshansky@nvidia.com>
@igorpeshansky
igorpeshansky requested a review from revans2 July 24, 2026 20:13
@igorpeshansky igorpeshansky added the task Work required that improves the product but is not user facing label Jul 24, 2026
@greptile-apps

greptile-apps Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR re-enables a fuzz test for the regex string-split anchor path that was disabled in #15293 while a cuDF bug (lazy-quantifier treated as greedy in split_re) was being fixed upstream. The fix landed in NVIDIA/cudf#23381 and is now included in the consumed cudf-spark-jni snapshot, making the test safe to run again.

  • Changes ignore(...) to test(...) for "string split fuzz - anchor focused" and removes the associated disable comment.
  • Both the data generator (seed = 0L) and the pattern fuzzer (new Random(0)) use fixed seeds, so the test is fully deterministic with no flakiness risk.

Confidence Score: 5/5

Safe to merge — this is a one-line re-enablement of a deterministic fuzz test whose corresponding upstream fix is already present in the consumed cudf-spark-jni snapshot.

The change is a single-line swap from ignore to test with a stale comment removed. The test uses fixed seeds for both data and pattern generation, so it cannot become flaky. The upstream cuDF bug that originally caused failures has been confirmed fixed in the consumed dependency revision.

Files Needing Attention: No files require special attention.

Important Files Changed

Filename Overview
tests/src/test/scala/com/nvidia/spark/rapids/RegularExpressionTranspilerSuite.scala Re-enables the previously ignored "string split fuzz - anchor focused" test by changing ignore to test and removing the disable comment; both data and pattern generation use fixed seeds (0L / 0), so the test is fully deterministic.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["string split fuzz - anchor focused test"] --> B["generateDataAndPatterns\n(seed=0L, FuzzRegExp seed=0)"]
    B --> C["1000 strings from EnhancedRandom"]
    B --> D["5000 regex patterns from FuzzRegExp"]
    C & D --> E["doStringSplitTest(patterns, data, limit=-1)"]
    E --> F["For each pattern: CPU split via cpuSplit"]
    E --> G["For each pattern: transpile via CudfRegexTranspiler"]
    G --> H{"transpileToSplittableString?"}
    H -- "Some(simplified)" --> I["GPU literal split"]
    H -- "None" --> J["GPU regex split via cuDF split_re\n(Glushkov fast path - lazy quantifier fix)"]
    F & I --> K["Compare CPU vs GPU results"]
    F & J --> K
    K --> L{Match?}
    L -- Yes --> M[Pass]
    L -- No --> N[Fail with details]
Loading

Reviews (3): Last reviewed commit: "Merge branch 'main' into reenable-string..." | Re-trigger Greptile

@igorpeshansky

Copy link
Copy Markdown
Collaborator Author

build

@igorpeshansky

Copy link
Copy Markdown
Collaborator Author

build

@igorpeshansky
igorpeshansky merged commit 5bcbe68 into NVIDIA:main Jul 25, 2026
53 checks passed
@igorpeshansky
igorpeshansky deleted the reenable-string-split-anchor-fuzz branch July 25, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

task Work required that improves the product but is not user facing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants