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

Cannot upgrade to Protobuf 3.3.0 #2989

Closed
carl-mastrangelo opened this issue May 10, 2017 · 10 comments
Closed

Cannot upgrade to Protobuf 3.3.0 #2989

carl-mastrangelo opened this issue May 10, 2017 · 10 comments

Comments

@carl-mastrangelo
Copy link
Contributor

As of protocolbuffers/protobuf@c2b3b3e Protobuf is depending on Guava 20, while gRPC is stuck at 19.0 for compatibility.

@xfxyjwf and @ejona86 fyi

@xfxyjwf
Copy link

xfxyjwf commented May 11, 2017

@carl-mastrangelo @ejona86 Can you give me a sense of the severity of the problem? I can make a patch release and rollback our guava dependency for now.

@carl-mastrangelo
Copy link
Contributor Author

gRPC has downstream dependencies on Guava less-than-20 which means that by pulling in protobuf java util, it bumps us up. We can't upgrade without risking breaking downstream deps. In effect, we can't really upgrade.

@ejona86 thinks that some of the more prominent users may be able to upgrade now, but it isn't clear who those users are. gRPC Java rolled back from 20 in #2751

@ejona86
Copy link
Member

ejona86 commented May 12, 2017

The Cassandra issue appears to be resolved now, but @elandau would probably still have problems. Given that people were reporting issues with Guava 20 within 3 and 5 days of our release, I wouldn't be surprised if more were lurking. That said, our release did encourage Cassandra to improve compatibility, so there is something to say about being slightly aggressive with upgrades.

At the moment, we don't have a clear idea when it will be "okay" to upgrade the dependency. That makes me very sad and is not a long-term solution. But we have made sure to be compatible with Guava 20 to avoid us being the cause of breakages in the future. I figure some of the discussions internally may help give us a better grasp of when we want to bump past 20.

@xfxyjwf, if using Guava 19 (or 18) is easy, that would be a convenient solution for the moment. If you aren't using Preconditions, maybe your JAR is compatible with Guava 19 already. I'd suggest we can override the version you specified, but I'm not aware of an easy tool to find whether a JAR is impacted by ABI changes.

@xfxyjwf
Copy link

xfxyjwf commented May 12, 2017

Protobuf doesn't depend on anything specifically in Guava 20. I updated the dependency just because the Truth version we use happens to depend on Guava 20. It should be easy enough to revert back.

@ejona86
Copy link
Member

ejona86 commented May 12, 2017

Oh, that is a bit interesting, compile dependency on Guava 19 but then tests will run with Guava 20. I honestly don't expect any subtle problems because of that, but it would be another reason that we would consider pushing harder to get on Guava 20.

Making that change sounds great. @carl-mastrangelo, we can update your protobuf-upgrade PR once a new version is out. Timeline isn't a huge deal since users can choose the new version of protobuf without concern.

@carl-mastrangelo
Copy link
Contributor Author

That's fine. FWIW this will likely miss the 1.4 Window.

@bxqgit
Copy link

bxqgit commented May 21, 2017

Having 3.3.0 ASAP would be great! 👍

@xfxyjwf
Copy link

xfxyjwf commented May 23, 2017

FYI. I have made a protobuf patch release 3.3.1 that reverted the guava dependency to guava:19. grpc and grpc users should be able to upgrade protobuf Java runtime to 3.3.1.

@ejona86
Copy link
Member

ejona86 commented May 23, 2017

@bxqgit, what are you needing? You should be able to use protobuf 3.3.0 yourself by just using the newer library. Or if the problem is the Guava piece, it's important for us to know what software is incompatible with newer Guava.

@ejona86
Copy link
Member

ejona86 commented Jun 1, 2017

Fixed by #2990

@ejona86 ejona86 closed this as completed Jun 1, 2017
@lock lock bot locked as resolved and limited conversation to collaborators Sep 22, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants