Skip to content

Unshimmify Arm helper methods to expose as public API#13424

Draft
rishic3 wants to merge 7 commits into
NVIDIA:mainfrom
rishic3:unshim-arm
Draft

Unshimmify Arm helper methods to expose as public API#13424
rishic3 wants to merge 7 commits into
NVIDIA:mainfrom
rishic3:unshim-arm

Conversation

@rishic3

@rishic3 rishic3 commented Sep 5, 2025

Copy link
Copy Markdown
Collaborator

Fixes #13423.

Description

Unshimmifies Arm (and dependency CloseableHolder) to expose publicly as part of the sql-plugin. This makes it importable e.g. via import com.nvidia.spark.rapids.Arm.{withResource, closeOnExcept}.

Checklists

  • This PR has added documentation for new or modified features or behaviors.
  • This PR has added new tests or modified existing tests to cover new code paths.
    (Please explain in the PR description how the new code paths are tested, such as names of the new/existing tests that cover them.)
  • Performance testing has been performed and its results are added in the PR description. Or, an issue has been filed with a link in the PR description.

Signed-off-by: Rishi Chandra <rishic@nvidia.com>
@rishic3 rishic3 requested a review from a team as a code owner September 5, 2025 21:38
abellina
abellina previously approved these changes Sep 5, 2025
@abellina

abellina commented Sep 5, 2025

Copy link
Copy Markdown
Collaborator

build

pattern are exposed via the public Spark RAPIDS API under the `Arm` object:

```scala
import com.nvidia.spark.rapids.Arm.{withResource, closeOnExcept}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we show both we should explain the difference and when to use one over the other

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, done

intermediate data generated while producing the final result that is
returned.

For Scala, helper methods implementing the automatic resource management

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is worth pointing out that this originated as a solution for Scala 2.12- before Using was introduced in Scala 2.13. Thus, with 2.13 builds of Apache Spark it is an alternative as well.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

gerashegalov
gerashegalov previously approved these changes Sep 8, 2025

@gerashegalov gerashegalov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sameerz sameerz added the task Work required that improves the product but is not user facing label Sep 15, 2025
@gerashegalov

Copy link
Copy Markdown
Collaborator

build

2 similar comments
@abellina

Copy link
Copy Markdown
Collaborator

build

@gerashegalov

Copy link
Copy Markdown
Collaborator

build

@sameerz

sameerz commented Sep 29, 2025

Copy link
Copy Markdown
Collaborator

build

1 similar comment
@abellina

abellina commented Oct 6, 2025

Copy link
Copy Markdown
Collaborator

build

@rishic3 rishic3 changed the base branch from branch-25.10 to branch-25.12 October 6, 2025 16:24
@rishic3 rishic3 dismissed gerashegalov’s stale review October 6, 2025 16:24

The base branch was changed.

@gerashegalov gerashegalov marked this pull request as draft October 20, 2025 21:24
@gerashegalov

Copy link
Copy Markdown
Collaborator

Putting it in draft since more refactoring work is needed

@nvauto

nvauto commented Nov 17, 2025

Copy link
Copy Markdown
Collaborator

NOTE: release/25.12 has been created from main. Please retarget your PR to release/25.12 if it should be included in the release.

@sameerz

sameerz commented Jan 4, 2026

Copy link
Copy Markdown
Collaborator

Putting it in draft since more refactoring work is needed

What refactoring work is needed?

@gerashegalov

Copy link
Copy Markdown
Collaborator

@nvauto

nvauto commented Jan 26, 2026

Copy link
Copy Markdown
Collaborator

NOTE: release/26.02 has been created from main. Please retarget your PR to release/26.02 if it should be included in the release.

@nvauto

nvauto commented Mar 30, 2026

Copy link
Copy Markdown
Collaborator

NOTE: release/26.04 has been created from main. Please retarget your PR to release/26.04 if it should be included in the release.

@nvauto

nvauto commented May 25, 2026

Copy link
Copy Markdown
Collaborator

NOTE: release/26.06 has been created from main. Please retarget your PR to release/26.06 if it should be included in the release.

@gerashegalov

Copy link
Copy Markdown
Collaborator

We can use the methodology from #14834 to focus on Arm

@rishic3 rishic3 mentioned this pull request Jun 15, 2026
8 tasks
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.

[FEA] Expose ARM helper methods to the public API

5 participants