Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion sdks/python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
requires = [
"setuptools",
"wheel>=0.36.0",
"grpcio-tools==1.62.1",
"grpcio-tools==1.62.1; python_version <= '3.12'",
"grpcio-tools==1.71.0; python_version >= '3.13'",
"mypy-protobuf==3.5.0",
# Avoid https://github.com/pypa/virtualenv/issues/2006
"distlib==0.3.7",
Expand Down
3 changes: 2 additions & 1 deletion sdks/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,8 @@ def get_portability_package_data():
'fastavro>=0.23.6,<2',
'fasteners>=0.3,<1.0',
# TODO(https://github.com/grpc/grpc/issues/37710): Unpin grpc
'grpcio>=1.33.1,<2,!=1.48.0,!=1.59.*,!=1.60.*,!=1.61.*,!=1.62.0,!=1.62.1,<1.66.0', # pylint: disable=line-too-long
'grpcio>=1.33.1,<2,!=1.48.0,!=1.59.*,!=1.60.*,!=1.61.*,!=1.62.0,!=1.62.1,<1.66.0; python_version <= "3.12"', # pylint: disable=line-too-long
'grpcio>=1.67.0; python_version >= "3.13"',
Copy link
Contributor

Choose a reason for hiding this comment

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

To work around grpc/grpc#39113 , we need to set a variable GRPC_EXPERIMENTS="-event_engine_client" in the container image. However custom container users might not set it and will be affected by the issue. I asked GRPC team on fix ETA on the internal bug. To reduce customer friction, we can add a check to see whether GRPC_EXPERIMENTS has been set and print a warning if it hasn't been set and GRPC version is affected by the regression. Hopefully there will be a fix soon though.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Okay cool, I'll include that in the Dockerfile when I add all of the support changes. Do we know if that environment variable has any impact for GRPC versions < 1.66.0? Conditional environmental variables are not a thing docker likes to do.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Having followed up in the grpc code base it looks like this experiment has been around a while and may have some sort of impact (specifically on macos environments as stated in grpc/grpc#33279) so I'll have to do some testing around what what does/does not work.

Copy link
Contributor

Choose a reason for hiding this comment

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

Do we know if that environment variable has any impact for GRPC versions < 1.66.0? Conditional environmental variables are not a thing docker likes to do.

We can reach out to grpc people; we do control the version of grpc in our containers, so it doesn't need to be conditional.

RUN python -c "" || export might also work if we want to enable it for 3.13 only

'hdfs>=2.1.0,<3.0.0',
'httplib2>=0.8,<0.23.0',
'jsonschema>=4.0.0,<5.0.0',
Expand Down
Loading