cudf icon indicating copy to clipboard operation
cudf copied to clipboard

Make UDF source type parameter strongly-typed

Open lamarrr opened this issue 5 months ago • 9 comments

Description

This Pull Request removes the ambiguous is_ptx parameter and replaces it with a clearer enum: udf_source_type. This is in line with CUDF's convention of using enums in place of booleans when there's a very high likelihood for semantic and type/parameter confusion.

Follows up: https://github.com/rapidsai/cudf/pull/19070#discussion_r2196152080

Checklist

  • [x] I am familiar with the Contributing Guidelines.
  • [x] New or existing tests cover these changes.
  • [x] The documentation is up to date with these changes.

lamarrr avatar Jul 07 '25 18:07 lamarrr

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

copy-pr-bot[bot] avatar Jul 07 '25 18:07 copy-pr-bot[bot]

Optional suggestion: Maybe we can update the PR title to something like "Use a strong type to indicate UDF source type instead of a boolean"

mhaseeb123 avatar Jul 11 '25 18:07 mhaseeb123

@lamarrr Thanks for making the java changes as well. We will need to update this test as well: https://github.com/rapidsai/cudf/blob/branch-25.08/java/src/test/java/ai/rapids/cudf/ColumnVectorTest.java#L93-L94.

abellina avatar Jul 14 '25 12:07 abellina

If this is a breaking change for features released prior to 25.08, we might need to have a deprecation period.

@bdice What solution are you suggesting?

lamarrr avatar Jul 16 '25 15:07 lamarrr

If this is a breaking change for features released prior to 25.08, we might need to have a deprecation period.

@bdice What solution are you suggesting?

That means instead of removing the old APIs, let's just mark them as "deprecated", keep them but alias to the new ones. By doing so, there will not be breaking change for this release. Then, make a new PR removing the old APIs in the next release.

ttnghia avatar Jul 18 '25 18:07 ttnghia

@lamarrr See libcudf developer docs on deprecation: https://github.com/rapidsai/cudf/blob/branch-25.08/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md#deprecating-and-removing-code

bdice avatar Jul 21 '25 12:07 bdice

That means instead of removing the old APIs, let's just mark them as "deprecated", keep them but alias to the new ones. By doing so, there will not be breaking change for this release. Then, make a new PR removing the old APIs in the next release.

@ttnghia will same be done for the Java and Python implementations?

lamarrr avatar Jul 29 '25 09:07 lamarrr

Given the high number of conflicts here I am preemptively moving to 25.12.

vyasr avatar Sep 24 '25 17:09 vyasr

@lamarrr what is the plan for this PR?

vyasr avatar Nov 18 '25 23:11 vyasr