-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Relocate Avro dependencies in Fn Harness JAR #29407
Conversation
@aromanenko-dev, was the inclusion of Avro intentional in the harness JAR? @damccorm @Abacn I think this is a blocker for 2.52.0, as there will be pipeline failures if someone depends on anything after Avro 1.8.2 (which was the case for Dataflow Templates, and would require code refactoring). |
Run Java PreCommit |
1 similar comment
Run Java PreCommit |
Java PreCommit is getting:
Which I think is unrelated to the change. |
Checks are failing. Will not request review until checks are succeeding. If you'd like to override that behavior, comment |
Run Java PreCommit |
Run Java PreCommit |
Closing in favor of #29412 |
After #27851, user code that depends on versions newer than Avro 1.8.2 are having problems running on Dataflow.
For example in https://github.com/GoogleCloudPlatform/DataflowTemplates, where we moved on to Avro 1.11.3, there were incompatibility errors:
and
The root cause is that Avro classes are now being shipped along with the
/opt/apache/beam/jars/beam-sdks-java-harness.jar
, which wasn't the case before.Relocating
org.apache.avro
toorg.apache.beam.fn.harness.repackaged.org.apache.avro
will solve the problem and allow users to control their Avro.