Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try upgrading third_party/protobuf version to 3.14.0-rc2 #24723

Closed
wants to merge 3 commits into from

Conversation

acozzette
Copy link
Contributor

This pull request probably shouldn't be merged, but by running the tests we can find out if there will be any issues with protobuf 3.14.0.

@veblush

@veblush veblush added the release notes: no Indicates if PR should not be in release notes label Nov 12, 2020
@acozzette
Copy link
Contributor Author

@veblush Do you know if this PR needs the "kokoro: run" tag for the tests to run?

@acozzette
Copy link
Contributor Author

@veblush Would you mind adding the Kokoro tag one more time? I had to tweak the Ruby version and I'm hoping this will fix some of the failures that came up.

@dlj-NaN
Copy link

dlj-NaN commented Nov 13, 2020

The Python failures seem to be due to google.auth's use of pkg_resources. Basically, using pkg_resources makes namespace-package'd imports order-dependent under certain installation strategies.

google.auth definitely does use package_resources, but Pip installs packages in a way that elides this in namespace packages, avoiding the order-dependence pathology. So the failure also also depends on exactly how packages are installed.

It might help to update rules_python to 0.1.0 first:

That fixed several bugs around Pip usage, which might also resolve this.

@jtattermusch jtattermusch changed the title Upgrade protobuf version to 3.14.0-rc2 Try upgrading third_party/protobuf version to 3.14.0-rc2 Nov 13, 2020
@acozzette
Copy link
Contributor Author

@dlj-NaN Thanks for looking into this, David. I don't think I will have time to fully resolve the issue before releasing protobuf 3.14.0, but at least it appears that it is probably not a protobuf issue.

@jtattermusch
Copy link
Contributor

Superseded by #24855

@jtattermusch
Copy link
Contributor

@dlj-NaN Thanks for looking into this, David. I don't think I will have time to fully resolve the issue before releasing protobuf 3.14.0, but at least it appears that it is probably not a protobuf issue.

Turns out the issue actually was caused by a protobuf PR - protocolbuffers/protobuf#7902. After some investigations @gnossen has discovered that Envoy also ran into the same problem and we've implemented the same workaround as envoy did. Besides that, we needed 2 backports into 3.14.x to fix a windows build problem for python.

So to summarize there were 3 different issues with the 3.14.0 release that were preventing gRPC from upgrading and they were exhibiting in the test results since this PR was created 2 months ago. Despite that, the 3.14.0 protobuf release was published as if everything was ok - not an ideal outcome. I've now finally managed to upgrade gRPC to protobuf 3.14.0 almost two months later: #25131 but it wasn't easy. Next time protobuf does a pre-release, we need to be more attentive to the test failures and make sure they get resolved before the stable release, otherwise we are making this process longer and more painful for everyone involved.

@acozzette acozzette deleted the 202011111049 branch February 9, 2021 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

None yet

5 participants