Uh oh!
There was an error while loading. Please reload this page.
[BEAM-11648] In preparation for new BigQuery sink, update GCP BOM - #13765
Conversation
reuvenlax
commented
Jan 16, 2021
run dataflow validatesrunner |
chamikaramj
commented
Jan 16, 2021
Probably run the linkage checker ? https://cwiki.apache.org/confluence/display/BEAM/Dependency+Upgrades |
Codecov Report
@@ Coverage Diff @@## master #13765 +/- ##
==========================================
- Coverage 82.87% 82.86% -0.02%
==========================================
Files 466 466 Lines 57613 57613 ==========================================
- Hits 47749 47741 -8 - Misses 9864 9872 +8
Continue to review full report at Codecov.
|
reuvenlax
commented
Jan 19, 2021
@chamikaramj I'm not sure how to run this tool. If I run the suggested syntax, e.g. sdks/java/build-tools/beam-linkage-check.sh "beam-runners-google-cloud-dataflow-java" I get Usage: sdks/java/build-tools/beam-linkage-check.sh [artifact lists] |
chamikaramj
commented
Jan 19, 2021
@suztomo or @kennknowles might be able to help. Does linkage checker work for BOM updates ? |
reuvenlax
commented
Jan 19, 2021
Run Java PreCommit |
(Yes, (This may take few ten minutes) This command checks the dependency compatibility of beam-sdks-java-core, beam-sdks-java-io-google-cloud-platform, beam-runners-google-cloud-dataflow-java, beam-sdks-java-io-hadoop-format. If you want to exclude the rest, you can run: I'll update the script usage. |
suztomo
commented
Jan 19, 2021
Updated this PR for fixing the usage in the comment: https://github.com/apache/beam/pull/13757/files#diff-24374dd1ad59dfdae51815cec95a1f488e7a2f527a7bdb8f064d79244ec11430R23 |
suztomo
commented
Jan 19, 2021
@kileys The work of making beam-linkage-check.sh as a Jenkins Job would be beneficial here. Looking forward. |
kennknowles
commented
Jan 19, 2021
Also adding @kileys |
reuvenlax
commented
Jan 27, 2021
@suztomo If I try to run that command, it tries to execute sdks:java:core:javadoc. This consistently fails with a NullPointerException. Is this a known issue? javadoc: error - An internal exception has occurred. |
suztomo
commented
Jan 27, 2021
No, that's new to me. Linkage Checker shouldn't have any effect to javadoc generation. I'll try to reproduce that problem. Do you use Java 8? |
reuvenlax
commented
Jan 27, 2021
via email
Ah good point. My default install is java 11. Let me fix my JAVA_HOME and
see if it fixes things. …On Tue, Jan 26, 2021 at 4:19 PM Tomo Suzuki ***@***.***> wrote:
No, that's new to me. Linkage Checker shouldn't have any effect to javadoc
generation. I'll try to reproduce that problem.
Do you use Java 8?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#13765 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFAYJVLIFD325MFOOHEDKC3S35LYZANCNFSM4WEZQAAA>
.
|
reuvenlax
commented
Jan 27, 2021
@suztomo Now I get the following Execution failed for task ':sdks:java:io:hcatalog:compileJava'.
|
chamikaramj
commented
Jan 27, 2021
That seems like https://issues.apache.org/jira/browse/BEAM-11689. Can you sync and retry ? |
reuvenlax
commented
Jan 27, 2021
@chamikaramj I rebased, but I'm still getting that failure. |
reuvenlax
commented
Jan 27, 2021
|
ibzib
commented
Jan 27, 2021
Thanks for reporting this @reuvenlax , #13823 fixes this error (note that both branches compared by the linkage checker need to patch the fix for it to work). |
reuvenlax
commented
Jan 27, 2021
@ibzib unfortunately I'm still getting this error! |
suztomo
commented
Jan 27, 2021
@reuvenlax How about removing the local Maven repository ( |
reuvenlax
commented
Jan 27, 2021
@suztomo Unfortunately that did not help |
suztomo
commented
Jan 27, 2021
I see. I'll try your branch later today. |
ibzib
commented
Jan 27, 2021
@reuvenlax I got this to work using the following command. Can you try using commit hashes directly to make sure we're on the same page?
Where 870cc22 is my patch and 576da5b1a61b80f81c2087299c01028744a9480a is your changes. |
reuvenlax
commented
Jan 28, 2021
The problem was that I had not yet pushed my client to github. after pushing, the error went away. @suztomo I'm now getting the below errors. I'm not entirely sure how to interpret the output of this tool. Most of the errors seem related to grpc. Does this mean that some other component is pulling in a conflicting version of grpc? com.google.cloud.tools.opensource.classpath.LinkageCheckResultException: Found 14 linkage errors |
suztomo
commented
Jan 28, 2021
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:
These two artifacts are not compatible with each other. Possible SolutionsA 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 (#13737). This pins the transitive dependencies to the version listed in the BOM (1.35.0 for the gRPC libraries). |
suztomo
commented
Jan 28, 2021
The netty's problem is easy one. "io.grpc:grpc-netty:1.35.0" is not compatible with "io.netty:netty-buffer:4.1.51.Final". Just upgrade the netty_version in BeamModulePlugin.groovy to "io.netty:netty-buffer:4.1.52.Final" |
reuvenlax
commented
Jan 28, 2021
via email
Do you know why this would happen though? Is
com.google.cloud:google-cloud-bigquerystorage
bringing in the old version of gRPC? We're pulling that in through the BOM
though, so I assumed that it would have the same gRPC version that the BOM
depended on. …On Wed, Jan 27, 2021 at 5:36 PM Tomo Suzuki ***@***.***> wrote:
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 (
#13737 <#13737>). This pins the
transitive dependencies to the version listed in the BOM (1.35.0 for the
gRPC libraries).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#13765 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFAYJVIC7QAT6JUTA6EV35LS4C5TFANCNFSM4WEZQAAA>
.
|
reuvenlax
commented
Feb 9, 2021
@suztomo I think it's saying that there's a conflict between google-api-services-bigquery and google-cloud-bigquerystorage, correct? Any ideas how to resolve this? |
suztomo
commented
Feb 9, 2021
Yes, I agree that there's a conflict between google-api-services-bigquery and google-cloud-bigquerystorage. I see com.google.cloud:google-cloud-bigquery:1.126.3 uses "com.google.apis:google-api-services-bigquery:v2-rev20201030-1.31.0". Would you try upgrading the version of google-api-services-bigquery in BeamModulePlugin.groovy line 512? https://github.com/apache/beam/blob/705649d/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L512
(I would try "com.google.apis:google-api-services-bigquery:v2-rev20201030-$google_clients_version") |
reuvenlax
commented
Feb 9, 2021
@suztomo@chamikaramj succeded! No new linkage errors |
chamikaramj
commented
Feb 10, 2021
Great. Thanks. LGTM |
chamikaramj
commented
Feb 10, 2021
Run SQL_Java11 PreCommit |
chamikaramj
commented
Feb 10, 2021
Retest this please |
chamikaramj
commented
Feb 10, 2021
Run Java PostCommit |
chamikaramj
commented
Feb 10, 2021
Run Dataflow ValidatesRunner |
reuvenlax
commented
Feb 10, 2021
:sdks:java:testing:nexmark:analyzeClassesDependencies is now failing with
Is this a known issue? I don't believe that updating GCP deps should affect Nexmark |
There was a problem hiding this comment.
Since this fixes an independent bug, would you split it into its own commit?
kennknowles
commented
Feb 10, 2021
That looks like it is in the IWYU dependency checker. It seems to occur on every module. |
kennknowles
commented
Feb 10, 2021
Run Java PreCommit |
kennknowles
commented
Feb 10, 2021
I'm curious if it is just a bad error message from an outage of the dep download. That's a totally random guess. No idea. |
ibzib
commented
Feb 10, 2021
The bad error message is from a bug in the IWYU plugin (which should be fixed in the next release of the plugin): gradle-dependency-analyze/gradle-dependency-analyze#125 It looks like upgrading the bom upgrades auto-value-annotations from 1.7.2 to 1.7.4, so you need to sync the version here: |
kennknowles
commented
Feb 10, 2021
Looks like the gradle analyze plugin was released a few hours after your comment, with that fix. Let's upgrade that in a separate commit. |
reuvenlax
commented
Feb 11, 2021
Run Java PreCommit |
reuvenlax
commented
Feb 11, 2021
Run Java_Examples_Dataflow PreCommit |
reuvenlax
commented
Feb 11, 2021
@kennknowles@chamikaramj any idea why Java_Examples_Dataflow is failing? |
reuvenlax
commented
Feb 11, 2021
Run Java_Examples_Dataflow PreCommit |
TheNeuralBit
commented
Feb 12, 2021
Unfortunately it looks like this broke the Java PostCommit, SpannerReadIT is failing: BEAM-11805 |
[BEAM-11805] Revert version updates from #13765
No description provided.