Skip to content

DataHub sync bundle ships datahub-client-java8's bundled Avro unrelocated #19813

Description

@yihua

hudi-datahub-sync-bundle shades in io.acryl:datahub-client-java8, which carries its own copy of Avro (450 org/apache/avro/*.class entries in datahub-client-java8-0.15.0rc20.jar). Nothing in the shade config filters them, so they land in the bundle unrelocated.

Any consumer that puts the bundle on its classpath ahead of its own Avro then binds against DataHub's stale copy instead of the Avro the rest of the application uses. The failure is silent and surfaces far from the cause, as a missing or differently-typed method on org.apache.avro.Schema.

The shade config already filters signature files and *.proto. It needs one more filter excluding org/apache/avro/** from the DataHub client, so the bundle stops carrying a second Avro.

Metadata

Metadata

Assignees

Labels

area:buildBuild and dependenciespriority:highSignificant impact; potential bugs

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions