[ 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)