[ 
https://issues.apache.org/jira/browse/PARQUET-2035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17332552#comment-17332552
 ] 

Maxim Kolesnikov commented on PARQUET-2035:
-------------------------------------------

Hello [~gszadovszky],
 Thank you for your quick reply.

Sorry, I should have make it clear that the issue is reproducible since Java 9, 
when java modules were added to [the language 
specification|https://docs.oracle.com/javase/specs/jls/se9/jls9.pdf]. I updated 
example in my github repo to represent java 9 case.

While it's totally understandable, that there are clients who may still use 
java 8 and parquet-mr wants to keep compatibility, it is pity that features of 
newer versions are not supported yet. Java 9 spec was published in August of 
2017, while sunsetting of Java 8 [begun in 
2019|https://blogs.oracle.com/java-platform-group/end-of-public-updates-is-a-process%2c-not-an-event].
 Java 11 (next LTS release) available since September 2018, upcoming LTS 
[should be available this 
September|https://www.oracle.com/java/technologies/java-se-support-roadmap.html].

While I'd be glad to contribute to the solution, I lack context on the original 
intention for shading this dependency.

I see that change was initially introduced in {{parquet-column}} module with 
this commit: 
[f98cd399f6c1f416835814fb17ec6a3d3080a389|https://github.com/apache/parquet-mr/commit/f98cd399f6c1f416835814fb17ec6a3d3080a389],
 no associated ticket. With PARQUET-1529 the library was shaded in 
{{parquet-avro}} and {{parquet-hadoop}} as well.

What would be implications of PARQUET-1529 roll back? Is this a valid option?

> Java module import error due to shaded package 
> shaded.parquet.it.unimi.dsi.fastutil
> -----------------------------------------------------------------------------------
>
>                 Key: PARQUET-2035
>                 URL: https://issues.apache.org/jira/browse/PARQUET-2035
>             Project: Parquet
>          Issue Type: Bug
>          Components: parquet-avro
>    Affects Versions: 1.12.0, 1.11.1
>            Reporter: Maxim Kolesnikov
>            Priority: Major
>         Attachments: parquet-example.zip
>
>
> *Description:*
> Due to collision of shaded packages 
> {code:java}
> shaded.parquet.it.unimi.dsi.fastutil{code}
> in 
> {code:java}
> org.apache.parquet:parquet-avro{code}
> and 
> {code:java}
> org.apache.parquet:parquet-column{code}
> it is not possible to use both these dependencies within a modularized java 
> project at the same time.
>  
>  
> *How to reproduce:*
>  * create a maven project with dependency 
> org.apache.parquet:parquet-avro:1.11.1
>  * declare java module that requires both parquet.avro and parquet.column
>  * run
> {code:java}
> mvn compile{code}
>  
> *Expected behaviour:*
> Project should compile without errors.
>  
> *Actual behaviour:*
> Project fails with compilation errors:
>  
> {code:java}
> [ERROR] the unnamed module reads package shaded.parquet.it.unimi.dsi.fastutil 
> from both parquet.column and parquet.avro
> ...{code}
>  
>  
> *Reproducible example* (same code as in the attached zip file): 
> https://github.com/xCASx/parquet-example



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to