suztomo commented on pull request #13765:
URL: https://github.com/apache/beam/pull/13765#issuecomment-768710839
A Maven project that depends on
"org.apache.beam:beam-runners-google-cloud-dataflow-java:jar:2.29.0-SNAPSHOT"
(your branch) would select the following 2 artifacts in its class path:
- "io.grpc:grpc-api:1.34.1"
(from
`org.apache.beam:beam-runners-google-cloud-dataflow-java:jar:2.29.0-SNAPSHOT /
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.29.0-SNAPSHOT
(compile) / com.google.cloud:google-cloud-bigquerystorage:1.8.0 (compile) /
io.grpc:grpc-api:1.34.1 (compile)`)
- "io.grpc:grpc-core:1.35.0"
(from
`org.apache.beam:beam-runners-google-cloud-dataflow-java:jar:2.29.0-SNAPSHOT /
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.29.0-SNAPSHOT
(compile) / io.grpc:grpc-core:1.35.0 (compile) / io.grpc:grpc-api:1.35.0
(compile)`)
These two artifacts are not compatible with each other.
# Possible Solutions
A solution would be "beam-sdks-java-io-google-cloud-platform" module
declaring grpc-api dependency, even though the module does not touch the class
in grpc-api.
Another solution is that Beam users to use the newly-created Beam GCP BOM
(https://github.com/apache/beam/pull/13737). This pins the transitive
dependencies to the version listed in the BOM (1.35.0 for the gRPC libraries).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]