Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-13781

grpc-netty-shaded version conflict

Details

    • Task
    • Status: Resolved
    • P1
    • Resolution: Fixed
    • None
    • 2.36.0
    • build-system
    • None

    Description

      Beam 2.36 release candidate had problem for Maven users.

       

      Could not resolve version conflict among [
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:jar:2.36.0 -> com.google.cloud.bigdataoss:gcsio:jar:2.2.4 -> io.grpc:grpc-netty-shaded:jar:1.41.1
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.api:gax-grpc:jar:2.8.1 -> io.grpc:grpc-netty-shaded:jar:1.42.1
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.api:gax-grpc:jar:2.8.1 -> io.grpc:grpc-xds:jar:1.42.1 -> io.grpc:grpc-netty-shaded:jar:[1.42.1,1.42.1]
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.cloud:google-cloud-bigquerystorage:jar:2.8.1 -> io.grpc:grpc-netty-shaded:jar:1.43.2
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.cloud.bigtable:bigtable-client-core:jar:1.25.1 -> com.google.cloud:google-cloud-bigtable:jar:1.27.1 -> io.grpc:grpc-netty-shaded:jar:1.39.0
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.cloud.bigtable:bigtable-client-core:jar:1.25.1 -> io.grpc:grpc-netty-shaded:jar:1.39.0
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.cloud:google-cloud-firestore:jar:3.0.10 -> io.grpc:grpc-netty-shaded:jar:1.43.2
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.cloud:google-cloud-pubsublite:jar:1.4.8 -> io.grpc:grpc-netty-shaded:jar:1.43.2
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.cloud:google-cloud-pubsub:jar:1.115.1 -> io.grpc:grpc-netty-shaded:jar:1.43.2
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> com.google.cloud:google-cloud-spanner:jar:6.17.4 -> io.grpc:grpc-netty-shaded:jar:1.43.2
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> io.grpc:grpc-alts:jar:1.43.2 -> io.grpc:grpc-netty-shaded:jar:[1.43.2,1.43.2]
      org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.36.0 -> io.grpc:grpc-netty-shaded:jar:1.43.2
      ]

       

      How to confirm the effect?

      suztomo@suztomo:~/beam$ ./gradlew -Ppublishing -PskipCheckerFramework -p sdks/java/io/google-cloud-platform publishMavenJavaPublicationToMavenLocal

      Before the change

      ~/.m2/repository/org/apache/beam/beam-sdks-java-io-google-cloud-platform/2.37.0-SNAPSHOT/beam-sdks-java-io-google-cloud-platform-2.37.0-SNAPSHOT.pom
      
          <dependency>
            <groupId>com.google.api</groupId>
            <artifactId>gax-grpc</artifactId>
            <scope>compile</scope>
            <exclusions>
              <exclusion>
                <groupId>org.checkerframework</groupId>
                <artifactId>jdk8</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.google.guava</groupId>
                <artifactId>guava-jdk5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>jdk.tools</groupId>
                <artifactId>jdk.tools</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-lite</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
      

      After the change (See the exclusion for grpc-netty-shaded)

          <dependency>
            <groupId>com.google.api</groupId>
            <artifactId>gax-grpc</artifactId>
            <scope>compile</scope>
            <exclusions>
              <exclusion>
                <groupId>org.checkerframework</groupId>
                <artifactId>jdk8</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.google.guava</groupId>
                <artifactId>guava-jdk5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>jdk.tools</groupId>
                <artifactId>jdk.tools</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-lite</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.grpc</groupId>
                <artifactId>grpc-netty-shaded</artifactId>
              </exclusion>
            </exclusions>
      

       

       

      and see the POM file in .m2/repository?

       

       ./gradlew -Ppublishing -PskipCheckerFramework -PjavaLinkageArtifactIds=beam-runners-google-cloud-dataflow-java -PjavaLinkageWriteBaseline=baseline.txt :checkJavaLinkage

       

       

      Attachments

        Activity

          People

            suztomo Tomo Suzuki
            suztomo Tomo Suzuki
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h 10m
                1h 10m