Skip to content

[rhoai-2.25][RHAIENG-6197] fix(datascience): restore Feast on ppc64le/s390x by enabling Arrow S3/Substrait in PyArrow build#2503

Open
jiridanek wants to merge 1 commit into
rhoai-2.25from
fix-datascience-pyarrow-rhoai-2.25
Open

[rhoai-2.25][RHAIENG-6197] fix(datascience): restore Feast on ppc64le/s390x by enabling Arrow S3/Substrait in PyArrow build#2503
jiridanek wants to merge 1 commit into
rhoai-2.25from
fix-datascience-pyarrow-rhoai-2.25

Conversation

@jiridanek

@jiridanek jiridanek commented Jul 10, 2026

Copy link
Copy Markdown
Member

Fixes RHAIENG-6197.

Problem

On RHOAI 2.25 Data Science images (quay.io/rhoai/odh-workbench-jupyter-datascience-cpu-py312-rhel9:rhoai-2.25), Feast is installed but broken on ppc64le and s390x:

ModuleNotFoundError: No module named 'pyarrow._s3fs'

Reproduced on 2026-07-10 against the published rhoai-2.25 image:

  • ppc64le / s390x: pyarrow 17.0.0, pyarrow._s3fs missing, Feast import/CLI fails
  • x86_64 control: same PyArrow version, pyarrow._s3fs present, feast version works

Root cause: on Power/Z, PyArrow is source-built in Dockerfile.konflux.cpu without S3/Substrait enabled. On amd64/arm64, prebuilt wheels already include those modules.

Fix

Cherry-pick for rhoai-2.25 of the Konflux-side PyArrow build fix originally merged to main in #1630 (upstream equivalent: opendatahub-io#2570).

Replaces #1655, which became unmergeable after rhoai-2.25 advanced and its head branch could not be retargeted from odh-on-pz/notebooks-downstream.

Adds two CMake flags to the source-built PyArrow on ppc64le and s390x in Dockerfile.konflux.cpu:

  • -DARROW_S3=ON — enables pyarrow._s3fs, required by Feast file/offline store code paths
  • -DARROW_SUBSTRAIT=ON — enables Substrait support required by Feast / ibis-substrait integrations

Context

The Data Science image ships Feast (feast~=0.54.1 in jupyter/datascience/ubi9-python-3.12/pyproject.toml).

Same class of bug previously seen on newer streams:

  • RHAIENG-3611 — Feast CLI fails with missing pyarrow._s3fs on RHOAI 3.4
  • AIPCC-11712 — pyarrow must be built with both s3fs and substrait so Feast CLI can start
  • AIPCC-13356 — Arrow Flight / Substrait follow-up for Feast
  • AIPCC-13558 — identify additional PyArrow features Feast needs
  • AIPCC-17513 — later AIPCC workaround skipped S3/Flight/Substrait for pyarrow < 20.0.0 under gcc-toolset-14

Scope

Only jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu, in the pyarrow-builder stage used for ppc64le and s390x.

Test plan

  • /build-konflux for datascience on ppc64le and s390x
  • In a built image on Power/Z, verify python -c "from pyarrow._s3fs import S3FileSystem"
  • In a built image on Power/Z, verify feast version succeeds

Signed-off-by: puneetsharma21 <puneet.sharma21@ibm.com>
@jiridanek jiridanek added this to the rhoai-2.25.1 milestone Jul 10, 2026
@jiridanek jiridanek self-assigned this Jul 10, 2026
@openshift-ci
openshift-ci Bot requested review from atheo89 and dibryant July 10, 2026 13:53
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

PyArrow build configuration

Layer / File(s) Summary
Enable PyArrow S3 and Substrait features
jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
The pyarrow-builder CMake configuration enables DARROW_S3 and DARROW_SUBSTRAIT.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested labels: lgtm

Suggested reviewers: atheo89, daniellutz, ide-developer

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Title check ✅ Passed The title clearly identifies the main fix and affected architectures: enabling Arrow S3/Substrait to restore Feast on ppc64le/s390x.
Description check ✅ Passed The description covers the problem, fix, scope, context, and test plan, though the template checkboxes are not filled out.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-datascience-pyarrow-rhoai-2.25

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: atheo89

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jiridanek

jiridanek commented Jul 10, 2026

Copy link
Copy Markdown
Member Author

Tracked in RHAIENG-6197 — reproduced on quay.io/rhoai/odh-workbench-jupyter-datascience-cpu-py312-rhel9:rhoai-2.25 with missing pyarrow._s3fs on ppc64le/s390x.

@jiridanek jiridanek changed the title [rhoai-2.25] fix(datascience): enable Arrow S3 and Substrait in Konflux pyarrow build [rhoai-2.25][RHAIENG-6197] fix(datascience): restore Feast on ppc64le/s390x by enabling Arrow S3/Substrait in PyArrow build Jul 10, 2026
@jiridanek jiridanek modified the milestones: rhoai-2.25.1, rhoai-2.25.10 Jul 10, 2026
@jiridanek

Copy link
Copy Markdown
Member Author

/build-konflux

@jiridanek

Copy link
Copy Markdown
Member Author

/hold this needs the fix discussed on slack, otherwise s390x build is failing

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants