You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Gabor Arki (Jira)" <ji...@apache.org> on 2020/07/23 05:48:00 UTC

[jira] [Comment Edited] (KYLIN-4656) Guava classpath conflict caused by kylin-jdbc 3.1.0 jar

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

Gabor Arki edited comment on KYLIN-4656 at 7/23/20, 5:47 AM:
-------------------------------------------------------------

Download the published 3.1.0 jar: [https://mvnrepository.com/artifact/org.apache.kylin/kylin-jdbc/3.1.0]

Then unzip the file. You will see the com.google package inside the jar containing the guava library within the kylin-jdbc jar. From my findings, this is likely version 14 of guava.

!image-2020-07-23-07-44-40-675.png!

 

If you also have the real guava jar on your classpath, you end up having 2 separate and highly incompatible versions of guava classes present, and the class-loader is loading one of them randomly causing numerous runtime issues.


was (Author: arkigabor):
Download the published 3.1.0 jar: [https://mvnrepository.com/artifact/org.apache.kylin/kylin-jdbc/3.1.0]

Then unzip the file. You will see the com.google package inside the jar containing the guava library within the kylin-jdbc jar.

!image-2020-07-23-07-44-40-675.png!

 

If you also have the real guava jar on your classpath, you end up having 2 separate and highly incompatible versions of guava classes present, and the class-loader is loading one of them randomly causing numerous runtime issues.

> Guava classpath conflict caused by kylin-jdbc 3.1.0 jar
> -------------------------------------------------------
>
>                 Key: KYLIN-4656
>                 URL: https://issues.apache.org/jira/browse/KYLIN-4656
>             Project: Kylin
>          Issue Type: Bug
>          Components: Driver - JDBC
>    Affects Versions: v3.1.0
>            Reporter: Gabor Arki
>            Priority: Critical
>         Attachments: image-2020-07-23-07-44-40-675.png
>
>
> The newly released kylin-jdbc 3.1.0 jar contains a shaded, non-repackaged version of the Guava library. This is causing class duplication with the original guava jar if it is also on the classpath which results in non-deterministic, runtime errors depending on which version of a certain guava class has been picked up by the class-loader from the 2 versions. Based on the runtime errors of the missing classes and methods, it seems to be a very old version, probably <=14.
>  
> Either implement a proper shading with package relocation or rely on transitive dependency, but do not shade non-repackaged versions of libraries.



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