[
https://issues.apache.org/jira/browse/KYLIN-1846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dayue Gao updated KYLIN-1846:
-----------------------------
Attachment: KYLIN-1846.patch
upload patch, which was tested and solved several classloading problems
encountered in our environment.
> minimize dependencies of JDBC driver
> ------------------------------------
>
> Key: KYLIN-1846
> URL: https://issues.apache.org/jira/browse/KYLIN-1846
> Project: Kylin
> Issue Type: Improvement
> Components: Driver - JDBC
> Affects Versions: v1.5.2
> Reporter: Dayue Gao
> Assignee: Dayue Gao
> Attachments: KYLIN-1846.patch
>
>
> kylin-jdbc packages many dependencies (calcite-core, guava, jackson, etc)
> into an uber jar, which could cause problems when user tries to integrate
> kylin-jdbc into their own application.
> I suggest making the following changes to packaging:
> # remove calcite-core dependency
> calcite-avatica is sufficient as far as I know.
> # remove guava dependency
> The only place kylin-jdbc uses guava is {{ImmutableList.of(metaResultSet)}}
> in KylinMeta.java, which can be simply replaced with
> {{Collections.singletonList(metaResultSet)}}.
> # remove log4j, slf4j-log4j12 dependencies
> As a library, kylin-jdbc [should only depend on
> slf4j-api|http://slf4j.org/manual.html#libraries]. Which underlying logging
> framework to use should be a deployment-time choice made by user. This means
> we should revert https://issues.apache.org/jira/browse/KYLIN-1160
> # relocate all dependencies to "org.apache.kylin.jdbc.shaded" using
> maven-shade-plugin
> This includes calcite-avatica, jackson, commons-httpclient and commons-codec.
> Relocating should help to avoid class version conflicts.
> I'll submit a patch for this, discussions are welcome~
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)