Skip to content

Enable prism by default (where supported)#34612

Merged
damccorm merged 90 commits intomasterfrom
users/damccorm/prismByDefault
Jul 15, 2025
Merged

Enable prism by default (where supported)#34612
damccorm merged 90 commits intomasterfrom
users/damccorm/prismByDefault

Conversation

@damccorm
Copy link
Copy Markdown
Contributor

@damccorm damccorm commented Apr 11, 2025

Changes the default Python runner to be prism (when prism is supported). Excludes it from interactive environments for now.

There are a bunch of use cases automatically excluded, but this also required updating a bunch of tests. The 2 main breaking changes this introduces are:

  1. Instead of raising Python-specific exceptions, when Prism jobs fail a RuntimeError is always raised. To fix any tests relying on the old error, change your exception catching logic to look for broader errors and use regexes to verify the contents of the error. There are lots of examples of this in this PR.
  2. Prism names its metrics differently than the local runner. For this PR in Beam, I just kept all of those on the old FnApiRunner for now, but you could also just change the metric name you're looking for (this will be the eventual fix for these tests in this repo).

If this change breaks you in unexpected ways, please:

  1. Pin to the FnApiRunner instead of the DirectRunner. There are lots of examples of this in this PR.
  2. Comment in [Task]: Make Prism default #34549 describing your broken use case.

Part of #34549


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
  • Update CHANGES.md with noteworthy changes.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md

GitHub Actions Tests Status (on master branch)

Build python source distribution and wheels
Python tests
Java tests
Go tests

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

Loading
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.

4 participants