apache / parquet-java

Apache Parquet Java
https://parquet.apache.org/
Apache License 2.0
2.65k stars 1.41k forks source link

GH-3007: Ensure version specific Jackson classes are shaded #3017

Closed z-anderson closed 2 months ago

z-anderson commented 2 months ago

Rationale for this change The current jar contains version specific classes under META-INF/versions/... with unshaded package names. This leads to clashes with jackson and thus classpath duplicates. This is a major problem in many big projects right now (e.g. Spark).

What changes are included in this PR? Ensure these classes are shaded.

Are these changes tested? Are there any user-facing changes? Closes https://github.com/apache/parquet-java/issues/3007

gszadovszky commented 2 months ago

@z-anderson, could you add a comment here referencing your modification so we won't forget to update the shaded versions if needed?

gszadovszky commented 2 months ago

@z-anderson, I've ment adding a comment in the master pom where jackson.version is specified. This way if someone would upgrade jackson, they won't forget to check the jdk versions inside the jar and potentially add new versions to include in the shading.

z-anderson commented 2 months ago

@gszadovszky Thank you! This is still blocking us. Are you able to release it soon please?

gszadovszky commented 2 months ago

Sorry @z-anderson, I don't have time to guide a release. As @wgtmac suggested at the other PR, it should be discussed on the dev list.

ted-jenks commented 2 months ago

@gszadovszky @wgtmac @Fokko My emails are seemingly not making it through to the dev mailing list. This is really a big problem for us in Spark. Do you know why I am having trouble/does anyone have the bandwidth to help me out?

wgtmac commented 1 month ago

I have seen duplicate emails on the dev list. No worries, I can help with the release and just replied to the email you have sent.