Skip to content

Pin pyarrow<26 in run_perf_alert_tool.yml for NumPy 1 compatibility - #41229

Draft
damccorm wants to merge 1 commit into
masterfrom
fix/perf-alert-tool-pyarrow-numpy1
Draft

damccorm wants to merge 1 commit into
masterfrom
fix/perf-alert-tool-pyarrow-numpy1

Conversation

@damccorm

Copy link
Copy Markdown
Contributor

Summary

  • Fixes the Performance alerting tool on Python load/performance/benchmark tests. failure in https://github.com/apache/beam/actions/runs/43109552076.
  • Following Support PyArrow 26 in the Python SDK #40927 (which raised the pyarrow upper bound in setup.py to <27.0.0 and pinned pyarrow<26 in tox.ini for NumPy 1 environments), pip install -e .[gcp,test] in run_perf_alert_tool.yml installs pyarrow 26.0.1, and the subsequent pip install signal-processing-algorithms step downgrades numpy to 1.26.4 (signal-processing-algorithms requires numpy<2.0.0).
  • When perf_analysis.py imports db_dtypes -> pyarrow, it fails with ImportError: pyarrow requires NumPy 2.0 or newer, found 1.26.4.
  • Pin "pyarrow<26" in run_perf_alert_tool.yml to match the NumPy 1 environments in tox.ini.

Test Plan

  • Trigger run_perf_alert_tool.yml on this PR branch.

Verification

  • Triggered run_perf_alert_tool.yml workflow run on branch: 43119916176

@damccorm damccorm added the test-failure-cleanup Automated test health and flake cleanup PRs label Nov 11, 2026
@damccorm

Copy link
Copy Markdown
Contributor Author

/gemini review

@github-actions github-actions Bot added build size/xs XS: <10 lines changed labels Nov 11, 2026

@github-actions github-actions Bot 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.

📋 Review Summary

This PR pins pyarrow<26 in .github/workflows/run_perf_alert_tool.yml to resolve an ImportError caused by pyarrow>=26 requiring NumPy 2.0+ while signal-processing-algorithms constrains numpy<2.0.0. The change is minimal, targeted, and aligns with the NumPy 1 environment pins in sdks/python/tox.ini.

🔍 General Feedback

  • No other workflows or test environments install signal-processing-algorithms, so scoping this pin to run_perf_alert_tool.yml is sufficient and appropriate.
  • LGTM!

💡 Tip: Comment /gemini review on this pull request to trigger a new Gemini code review.

@damccorm damccorm added the ready-for-human Draft PR with all checks passing and all review comments resolved, ready for human review label Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build ready-for-human Draft PR with all checks passing and all review comments resolved, ready for human review size/xs XS: <10 lines changed test-failure-cleanup Automated test health and flake cleanup PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant