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

Josh Elser commented on CALCITE-1110:
-------------------------------------

Hi [~minjikim].

I think the approach (if/when I get to it myself), would be to provide shaded 
and non-shaded versions of the Avatica "client" artifact. CALCITE-1224 covers 
this one.

As I see it, this solves two cases for us:

# When you just want to use Avatica and don't want to worry about dependencies, 
you use the shaded artifact and won't have any conflict (because the 
dependencies are included and relocated).
# When you want to integrate Avatica with specific versions of Guava, Jackson, 
etc, you can use the non-shaded client and provide the dependencies on your 
applicaiton's classpath. There is some amount of increased test burden to make 
sure that Avatica actually works with the versions of the dependencies you want 
to use as a user (we only do minor testing of a range of Guava versions 
presently).

Does that make sense? It is by no means the only way forward, and anything 
you'd like to contribute would be a great addition, I'm sure.

> remove or relocate shaded jackson in Avatica
> --------------------------------------------
>
>                 Key: CALCITE-1110
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1110
>             Project: Calcite
>          Issue Type: Improvement
>          Components: avatica
>    Affects Versions: 1.6.0, 1.5.0
>            Reporter: Kai Gülzau
>            Assignee: Josh Elser
>            Priority: Critical
>             Fix For: avatica-1.9.0
>
>
> The avatica jar includes a shaded version of jackson under the original 
> package path.
> This shaded version interferes with other jackson versions in the classpath.
> Currently this prevents us from using jackson functionality which is only 
> implemented in newer versions.
> https://mail-archives.apache.org/mod_mbox/calcite-dev/201602.mbox/%3C977C7450-18F4-48E2-A970-69B7E3E1BD2C%40apache.org%3E
> {quote}
> Is it reasonable to have a maven profile that uses jackson as “provided”[1] 
> rather than shading? This would not be the default — the default would be 
> continue to use a shaded version of jackson (relocated to 
> org.apache.calcite.jackson, as Josh suggests) — but folks looking to embed 
> calcite/avatica in a container might appreciate a lighter weight option.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to