Skip to content

[branch-55] Reduce datafusion-spark dependency footprint (#24351) - #25277

Open
alamb wants to merge 1 commit into
apache:branch-55from
alamb:alamb/backport_24351
Open

alamb wants to merge 1 commit into
apache:branch-55from
alamb:alamb/backport_24351

Conversation

@alamb

@alamb alamb commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

This PR:

Rationale

As noted in #24462 (comment), publishing datafusion-spark for the 55.1.0 release required a manual local change because the crate does not compile without its optional core feature (see #24474). Backporting this fix means a future 55.2.0 release can be published without manual intervention.

Verified locally that cargo check -p datafusion-spark --no-default-features now succeeds on this branch (it fails on branch-55 without this change).

## Which issue does this PR close?

N/A

## Rationale for this change

`datafusion-spark` pulls unnecessary crates into its production
dependency graph, increasing compilation time and artifact size for
downstream users.

## What changes are included in this PR?

- Replace compatibility re-exports with the narrower crates that define
`TableFunction` and `FunctionRegistry`.
- Remove the unused `crypto_expressions` activation; Spark provides its
own SHA-1, SHA-2, and CRC32 implementations.
- Fix the `quote` import so builds without the optional `core` feature
continue to compile.

These changes reduce the production dependency graph from 279 to 257
packages. Cargo Machete does not report these dependencies because they
are referenced in source through re-exports or activated through Cargo
features.

## Are these changes tested?

Yes

## Are there any user-facing changes?

No. Public APIs and default behavior remain unchanged.
@github-actions github-actions Bot added the spark label Sep 13, 2026
@alamb
alamb marked this pull request as ready for review September 13, 2026 20:58
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.21%. Comparing base (7d3835c) to head (a4db34a).

Additional details and impacted files
@@              Coverage Diff              @@
##           branch-55   #25277      +/-   ##
=============================================
- Coverage      81.21%   81.21%   -0.01%     
=============================================
  Files           1110     1110              
  Lines         388499   388499              
  Branches      388499   388499              
=============================================
- Hits          315521   315507      -14     
- Misses         54428    54440      +12     
- Partials       18550    18552       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants