Skip to content

[Umbrella] Delta-on-Gluten: follow-ups after the Delta Spark UT pipeline #12743

Description

@felipepessoto

The Delta Spark UT pipeline landed in #12388 (fixes #9296). It runs delta-io/delta's spark test suite against a Gluten Velox bundle and gates each run against a committed baseline of known failures.

That baseline is currently 735 known failures out of 19,073 tests. This issue tracks the work to bring that number down and to improve the pipeline itself. It is a tracking issue only — discussion belongs in the linked issues.

1. Correctness gaps behind the 735 baseline entries

These are not a consequence of Gluten declining to offload: a plan Gluten cannot offload should fall back to vanilla Spark and the test should still pass. Most entries below are bugs -- fallback not happening, metrics differing from vanilla, or the native side failing. A separate group is expected rather than fixable here: tests that assert on the query plan see a different plan once Gluten offloads, which is by design. Those are worth splitting out during triage, since they should either be fixed upstream (as delta-io/delta#7104 and delta-io/delta#7105 were) or stay in the baseline permanently.

The largest clusters, counted from known-failures.txt by suite:

Tests Area Issue
130 DescribeDeltaHistorySuite + ...WithCatalogOwnedBatch100Suite needs triage
100 stats.DataSkippingDeltaV1* (7 suite variants, 34 of them column-mapping) needs triage
64 ImplicitMergeCastingSuite + ImplicitStreamingMergeCastingSuite (overflow / storeAssignmentPolicy) needs triage
42 commands.backfill.RowTrackingBackfillConflicts(DV)Suite needs triage
14 io.delta.tables.DeltaTableHadoopOptionsSuite — Hadoop FS options #4963

Two clusters cut across suites, so they don't show up in the table above (counts from the triage in #12388): ~226 tests failing on IncrementMetric (#9003) and ~47 on the Delta stats tracker ClassCastException when the stats plan can't be offloaded (#12538).

Related type-support gap: TIMESTAMP_NTZ (#11622), which is one trigger of #12538.

2. Native bugs currently worked around in CI

Both of these are hidden by the pipeline today, so the workarounds should be removed together with the fixes.

3. Pipeline improvements

Notes for whoever picks these up

  • Refresh the baseline by running Delta Spark UT (Gluten) with update_baseline=true and committing the produced artifact; see .github/workflows/util/delta-spark-ut/README.md. - A test that fails consistently belongs in known-failures.txt. flaky-tests.txt / flaky-error-patterns.txt are only for tests that genuinely pass on some runs and fail on others — quarantining a deterministic failure hides a real bug. - The nightly run enforces fail_on_fixed=true, so when a fix lands, the nightly goes red until the now-passing tests are removed from the baseline. That is the intended signal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions