Skip to content

[EventEngine] Disable EventEngine polling in gRPC Python#33279

Merged
drfloob merged 3 commits intogrpc:masterfrom
drfloob:fix/disable-ee-polling-in-python
May 31, 2023
Merged

[EventEngine] Disable EventEngine polling in gRPC Python#33279
drfloob merged 3 commits intogrpc:masterfrom
drfloob:fix/disable-ee-polling-in-python

Conversation

@drfloob
Copy link
Copy Markdown
Member

@drfloob drfloob commented May 30, 2023

This is a hack to get around an issue on Apple devices caused by the PosixEventEngine's poll poller not supporting fork. This PR disables the EventEngine poller entirely in Python builds. It will therefore prevent the release of the EventEngine generally, and prevent any testing of EventEngine integration with gRPC Python, until the poll poller is fixed.

@drfloob drfloob requested review from gnossen and removed request for jtattermusch and veblush May 30, 2023 23:27
@gnossen
Copy link
Copy Markdown
Contributor

gnossen commented May 30, 2023

This will temporarily mitigate #33218

Copy link
Copy Markdown
Contributor

@gnossen gnossen left a comment

Choose a reason for hiding this comment

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

Thanks for the fix!

@drfloob drfloob merged commit 3225a9f into grpc:master May 31, 2023
@copybara-service copybara-service bot added the imported Specifies if the PR has been imported to the internal repository label May 31, 2023
eugeneo pushed a commit to eugeneo/grpc that referenced this pull request Jun 1, 2023
This is a hack to get around an issue on Apple devices caused by the
PosixEventEngine's `poll` poller not supporting fork. This PR disables
the EventEngine poller entirely in Python builds. It will therefore
prevent the release of the EventEngine generally, and prevent any
testing of EventEngine integration with gRPC Python, until the `poll`
poller is fixed.
gnossen pushed a commit to gnossen/grpc that referenced this pull request Jun 1, 2023
This is a hack to get around an issue on Apple devices caused by the
PosixEventEngine's `poll` poller not supporting fork. This PR disables
the EventEngine poller entirely in Python builds. It will therefore
prevent the release of the EventEngine generally, and prevent any
testing of EventEngine integration with gRPC Python, until the `poll`
poller is fixed.
veblush pushed a commit that referenced this pull request Jun 1, 2023
…3320)

This is a hack to get around an issue on Apple devices caused by the
PosixEventEngine's `poll` poller not supporting fork. This PR disables
the EventEngine poller entirely in Python builds. It will therefore
prevent the release of the EventEngine generally, and prevent any
testing of EventEngine integration with gRPC Python, until the `poll`
poller is fixed.




<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->

Co-authored-by: AJ Heller <hork@google.com>
mario-vimal pushed a commit to mario-vimal/grpc that referenced this pull request Jun 15, 2023
This is a hack to get around an issue on Apple devices caused by the
PosixEventEngine's `poll` poller not supporting fork. This PR disables
the EventEngine poller entirely in Python builds. It will therefore
prevent the release of the EventEngine generally, and prevent any
testing of EventEngine integration with gRPC Python, until the `poll`
poller is fixed.
veblush pushed a commit that referenced this pull request May 13, 2025
…INSTANTIATE_POSIX_POLLER build define in Bazel tests (#39346)

The root cause of the ping timeout issue in Python that was recently
reported by Dataflow as well as in issue #38282 was because Python has
explicitly disabled the use of EventEngine polling using the
`GRPC_DO_NOT_INSTANTIATE_POSIX_POLLER` build flag (Reference:
#33279).

However, it was found that the issue could not be reproduced when
running via Bazel. This was because the
`GRPC_DO_NOT_INSTANTIATE_POSIX_POLLER` flag was not getting propagated
upstream to the Core layer, unless specifically defined as a compiler
option in `tools/bazel.rc` or passed via command-line.

Without this option, all the while the Python Bazel tests have been
testing something different than those covered by the setup.py build.

This PR hence does the following to fix the inconsistency:
- Update `tools/bazel.rc` with a python specific compiler option that is
included only when the specific `--config` command-line flag is included
when running via Bazel
 - Updates Python Bazel tests to include the new config flag
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bloat/none imported Specifies if the PR has been imported to the internal repository lang/core lang/Python per-call-memory/neutral per-channel-memory/neutral release notes: no Indicates if PR should not be in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants