Skip to content

Remove the cudf-polars kvikio_reactor_dispatch option - #24681

Merged
rapids-bot[bot] merged 4 commits into
NVIDIA:mainfrom
kingcrimsontianyu:deprecate-kvikio-multi-poll-dispatch
Oct 23, 2026
Merged

rapids-bot[bot] merged 4 commits into
NVIDIA:mainfrom
kingcrimsontianyu:deprecate-kvikio-multi-poll-dispatch

Conversation

@kingcrimsontianyu

@kingcrimsontianyu kingcrimsontianyu commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Description

KvikIO rapidsai/kvikio#1088 makes the MULTI_POLL reactors always take work from one shared queue, and deprecates the reactor dispatch setting. kvikio.defaults.get/set("remote_io_reactor_dispatch") now emits a FutureWarning, and setting it has no effect. cudf-polars calls both whenever it configures KvikIO for a MULTI_POLL engine, which breaks the test suite under the filterwarnings = error setup.

This PR removes the kvikio_reactor_dispatch executor option and its CUDF_POLARS__EXECUTOR__KVIKIO_REACTOR_DISPATCH environment variable, so cudf-polars no longer reads or sets the dispatch in KvikIO. This is a breaking change. Once #1088 is merged the option would have no effect anyway.

Checklist

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

@kingcrimsontianyu
kingcrimsontianyu requested a review from a team as a code owner October 19, 2026 02:32
@github-actions github-actions Bot added Python Affects Python cuDF API. cudf-polars Issues specific to cudf-polars labels Oct 19, 2026
@kingcrimsontianyu
kingcrimsontianyu marked this pull request as draft October 19, 2026 02:32
@copy-pr-bot

copy-pr-bot Bot commented Oct 19, 2026

Copy link
Copy Markdown

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.

@kingcrimsontianyu kingcrimsontianyu added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Oct 19, 2026
@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Source mode: Auto
  • Repository: NVIDIA/cudf
  • Branch: main
  • File: .coderabbit.yaml
  • Commit: e0d6a75
  • Layers: Repository YAML
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 8fe206d6-be1d-4988-8372-47a90cae3534
📥 Commits

Reviewing files that changed from the base of the PR and between c9e4252 and 750abdb.

📒 Files selected for processing: 5
  • python/cudf_polars/cudf_polars/engine/dask.py
  • python/cudf_polars/cudf_polars/engine/ray.py
  • python/cudf_polars/cudf_polars/engine/spmd.py
  • python/cudf_polars/cudf_polars/utils/config.py
  • python/cudf_polars/tests/test_config.py
💤 Files with no reviewable changes: 5
  • python/cudf_polars/tests/test_config.py
  • python/cudf_polars/cudf_polars/engine/spmd.py
  • python/cudf_polars/cudf_polars/utils/config.py
  • python/cudf_polars/cudf_polars/engine/ray.py
  • python/cudf_polars/cudf_polars/engine/dask.py

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

📝 Summary

Summary by CodeRabbit

  • Configuration Changes
    • The KvikIO reactor dispatch setting has been removed and is no longer configurable in streaming, Dask, Ray, or SPMD execution.
    • Remote I/O configuration continues to use reactor count and request ceiling settings.
    • MULTI_POLL documentation now identifies reactor count and request ceiling as the relevant settings.
    • Existing configurations that specify reactor dispatch will need to rely on the remaining supported KvikIO settings instead.

The kvikio_reactor_dispatch option and its configuration and forwarding paths are removed. KvikIO configuration continues to use reactor count and request ceiling.

Changes: KvikIO reactor dispatch

Layer / File(s) Summary
Remove the dispatch option
python/cudf_polars/cudf_polars/engine/options.py, python/cudf_polars/cudf_polars/utils/config.py
The streaming and executor configuration no longer exposes, resolves, stores, or normalizes kvikio_reactor_dispatch.
Remove dispatch from KvikIO configuration
python/cudf_polars/cudf_polars/utils/config.py, python/cudf_polars/cudf_polars/engine/core.py, python/cudf_polars/tests/test_config.py
The KvikIO configuration API and MULTI_POLL settings no longer include reactor dispatch. The concurrency-options description and configuration tests no longer list or assert it.
Remove engine dispatch forwarding
python/cudf_polars/cudf_polars/engine/dask.py, python/cudf_polars/cudf_polars/engine/ray.py, python/cudf_polars/cudf_polars/engine/spmd.py
Dask, Ray, and SPMD setup and reset paths no longer pass reactor dispatch. Related worker and actor parameters and documentation are removed.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested labels: bug

Merge Risk: ⚪ Minimal · up to 750ab

The dispatch option has been removed consistently from the inspected configuration and engine paths. No issue requiring a fix before merge was identified.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 38.46% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 13 functions across 4 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly and concisely identifies the main change: removal of the cudf-polars kvikio_reactor_dispatch option.
Description check Passed The description directly explains the KvikIO compatibility issue, the removed option and environment variable, the breaking change, and the related test and documentation updates.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@kingcrimsontianyu
kingcrimsontianyu marked this pull request as ready for review October 19, 2026 13:35
Comment thread python/cudf_polars/cudf_polars/utils/config.py Outdated
@kingcrimsontianyu kingcrimsontianyu changed the title Deprecate the cudf-polars kvikio_reactor_dispatch option Remove the cudf-polars kvikio_reactor_dispatch option Oct 22, 2026
@kingcrimsontianyu kingcrimsontianyu added breaking Breaking change and removed non-breaking Non-breaking change labels Oct 22, 2026

@TomAugspurger TomAugspurger left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

CI will need to wait for #24775.

@kingcrimsontianyu

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit 1ceeb89 into NVIDIA:main Oct 23, 2026
92 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in cuDF Python Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change cudf-polars Issues specific to cudf-polars improvement Improvement / enhancement to an existing function Python Affects Python cuDF API.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants