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

OpenCensus 0.28.0 broke Java 7 compatibility #7828

Closed
elharo opened this issue Jan 20, 2021 · 11 comments
Closed

OpenCensus 0.28.0 broke Java 7 compatibility #7828

elharo opened this issue Jan 20, 2021 · 11 comments

Comments

@elharo
Copy link
Contributor

elharo commented Jan 20, 2021

We're not ready to remove Java 7 support yet. We should revert this to 0.24.0.

see googleapis/java-shared-dependencies#248 (comment)

@ericgribkoff
Copy link
Contributor

cc @ejona86

@ejona86
Copy link
Member

ejona86 commented Jan 27, 2021

@elharo, how is it not Java 7 compatible? The comment you link to just links to grpc-auth and doesn't provide any explanation. I poked at the CI results and don't see anything useful there. There's no mention in open census release notes. A small sampling of class files in opencensus-api and opencensus-impl show Java 7 bytecode, which agrees with the code. I don't see a commit since 0.24.0 that would obviously break compatibility.

@elharo
Copy link
Contributor Author

elharo commented Jan 27, 2021

@stephaniewang526 can you elaborate? I might have misread your comment, which is about OpenCensus 0.28.0. And it looks like the CI is passing? A lot fo the CIs have been messy lately.

@elharo
Copy link
Contributor Author

elharo commented Jan 27, 2021

@ejona86 I might have misspoke. It appears that the problem is that gRPC updated to OpenCensus 0.28.0 while we're trying to stick to 0.24.0 everywhere else in the stack. That might be what we want to revert.

@stephaniewang526
Copy link

@stephaniewang526 can you elaborate? I might have misread your comment, which is about OpenCensus 0.28.0. And it looks like the CI is passing? A lot fo the CIs have been messy lately.

This update in particular would not work in any of the Java clients downstream at the moment due to dependency conflicts with gax-java v1.60.1 and that we decided last year to pin OpenCensus version at 0.24.0 since it was not going 1.0 (not Java 7 compat issue actually -- the Java 7 compat comment was meant for a different dependency):

+-com.google.cloud:google-cloud-bigqueryconnection:1.0.9-SNAPSHOT
  +-com.google.api:gax:1.60.1
    +-io.opencensus:opencensus-api:0.24.0
and
+-com.google.cloud:google-cloud-bigqueryconnection:1.0.9-SNAPSHOT
  +-com.google.api:gax-grpc:1.60.1
    +-io.grpc:grpc-auth:1.35.0 (managed) <-- io.grpc:grpc-auth:1.32.2
      +-io.opencensus:opencensus-api:0.24.0 (managed) <-- io.opencensus:opencensus-api:0.28.0
and
+-com.google.cloud:google-cloud-bigqueryconnection:1.0.9-SNAPSHOT
  +-com.google.api:gax:1.60.1
    +-com.google.auth:google-auth-library-oauth2-http:0.22.2 (managed) <-- com.google.auth:google-auth-library-oauth2-http:0.22.0
      +-com.google.http-client:google-http-client:1.38.1 (managed) <-- com.google.http-client:google-http-client:1.38.0
        +-io.opencensus:opencensus-api:0.24.0
and
+-com.google.cloud:google-cloud-bigqueryconnection:1.0.9-SNAPSHOT
  +-com.google.api:gax:1.60.1
    +-com.google.auth:google-auth-library-oauth2-http:0.22.2 (managed) <-- com.google.auth:google-auth-library-oauth2-http:0.22.0
      +-com.google.http-client:google-http-client:1.38.1 (managed) <-- com.google.http-client:google-http-client:1.38.0
        +-io.opencensus:opencensus-contrib-http-util:0.24.0
          +-io.opencensus:opencensus-api:0.24.0
]

I made this change and am waiting for Jeff's review.

I believe we can close this ticket. Sorry about the confusion.

@elharo
Copy link
Contributor Author

elharo commented Jan 27, 2021

I'd still like to revert gRPC to OpenCensus 0.24, even if we don't need to do it for Java 7 compatibility reasons. Otherwise this change is eventually going to ripple through all the clients and force every project to upgrade. I wish we'd never added this on at all, but that ship has sailed.

@ejona86
Copy link
Member

ejona86 commented Jan 27, 2021

We'll be trying to get on OpenCensus 0.28.3 as it tries to ease migration to OpenTelemetry. And upgrading is still useful, as it ensures we are actually compatible with the newer version; that's the only reason we realized that 0.28.2 was broken got a 0.28.3 release with fixes (which I hadn't realized had actually been released). I think we could upgrade to 0.28.3 now, in time for our next release in February. We'll be wanting to change to some new APIs introduced in 0.28.3, but that can happen later.

It seems perverted to use "all projects have to use the same version" to say "you can't upgrade a dependency, even though there are no compatibility issues with the upgrade."

@ejona86
Copy link
Member

ejona86 commented Jan 27, 2021

@elharo, how many projects are actually depending on opencensus/grpc-census. Since we removed the census dependency from grpc-core, it would seem not many projects should be impacted. And those that are will want to eventually upgrade to 0.28.3.

@elharo
Copy link
Contributor Author

elharo commented Jan 27, 2021

OpenCensus is an unusual one. The OpenCensus team told us several versions ago, maybe circa 0.23 or 0.24, that there would be no more releases of OpenCensus and we should move to OpenTelemetry. We thus decided to stick to OpenCensus until OpenTelemetry was ready. Predicting the future is hard. :-)

I think @stephaniewang526 's dependency tree above shows how gRPC contributes dependencies on opencensus downstream.

@ejona86
Copy link
Member

ejona86 commented Jan 27, 2021

If you look at the recent releases, they have all been very small. The most recent patch releases in 0.28.x have actually included feature releases for OpenTelemetry migration.

I think @stephaniewang526 's dependency tree above shows how gRPC contributes dependencies on opencensus downstream.

It doesn't to me. I'd expect few downstreams to explicitly redefine the opencensus version. I agree that there are many users of grpc, but that's not at all what I was talking about.

@ejona86
Copy link
Member

ejona86 commented Feb 3, 2021

Seems like this is resolved. If not, comment, and it can be reopened.

@ejona86 ejona86 closed this as completed Feb 3, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 3, 2021
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