Sitelet https://github.com/grpc/grpc-java/issues/7828
Skip to content

OpenCensus 0.28.0 broke Java 7 compatibility #7828

Description

@elharo

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)

Activity

  1. ericgribkoff commented on Jan 21, 2021

    @ericgribkoff
    Contributor
  2. ejona86 commented on Jan 27, 2021

    @ejona86
    Member

    @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.

  3. elharo commented on Jan 27, 2021

    @elharo
    ContributorAuthor

    @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.

  4. elharo commented on Jan 27, 2021

    @elharo
    ContributorAuthor

    @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.

  5. stephaniewang526 commented on Jan 27, 2021

    @stephaniewang526

    @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.

  6. elharo commented on Jan 27, 2021

    @elharo
    ContributorAuthor

    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.

  7. ejona86 commented on Jan 27, 2021

    @ejona86
    Member

    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."

  8. ejona86 commented on Jan 27, 2021

    @ejona86
    Member

    @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.

  9. elharo commented on Jan 27, 2021

    @elharo
    ContributorAuthor

    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.

  10. ejona86 commented on Jan 27, 2021

    @ejona86
    Member

    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.

  11. ejona86 commented on Feb 3, 2021

    @ejona86
    Member

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

  12. locked as resolved and limited conversation to collaborators on Jun 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions