You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2020/05/27 06:26:00 UTC

[jira] [Assigned] (PHOENIX-5759) Reduce thin client JAR size / classpath noise

     [ https://issues.apache.org/jira/browse/PHOENIX-5759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Istvan Toth reassigned PHOENIX-5759:
------------------------------------

    Assignee: Istvan Toth

> Reduce thin client JAR size / classpath noise
> ---------------------------------------------
>
>                 Key: PHOENIX-5759
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5759
>             Project: Phoenix
>          Issue Type: Wish
>            Reporter: Istvan Toth
>            Assignee: Istvan Toth
>            Priority: Major
>
> The phoenix thin client is ridiculously huge for what it is. The shaded Avatica client JAR is 6MB, the thin client JAR is 28MB. 
> This is of course caused by pulling in hadoop-common.
> Some ideas for a smaller/better client
>  * Provide a client JAR that does not try expand on the kerberos capabilities of Avatica. 
>  ** this would remove the hadoop dependency
>  ** The use case for the thin client is usually _outside_ the cluster, where the referred config files may not even be available.
>  ** Access through Knox usually doesn't use kerberos at all.
>  ** cleaner client classpath
>  * Shade with _minimizeJar_
>  ** 28->11MB, though I did not test if it actually works
>  * Use hadoop-client-api/runtime (from 3.x)
>  ** less noise on the classpath
>  ** 28->40MB without _minimizeJar_
>  ** 28->16MB with _minimizeJar_
>  ** Did not test either
> My preferred solution is the first one, where we could look int additionally shading protobuf to further clean up the classpath. This could be an additional artifact, so that we do not break backwards compatibility either way.
>  



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