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

Enis Soztutar commented on PHOENIX-2535:
----------------------------------------

bq. I know some of these Enis Soztutar already pointed out (mortbay, 
specifically), but com.google.common, pig/flume/hadoop/hbase, asm, and jersey 
worry me
Not sure about the HBase dependency, but we can assume that if a client wants 
to depend on Phoenix, they will also want to depend on HBase. Since Phoenix 
version and HBase version HAS TO go together, I think the HBase non-shaded 
dependency is fine.  
Flume, Pig and (upcoming Hive) should not be shaded, otherwise the integration 
will not work. For example, phoenix-flume implements Sources and Sinks which 
are flume classes. Good thing is that these are already different modules, so 
that regular clients do not have to depend on these modules. 

> Create shaded clients (thin + thick) 
> -------------------------------------
>
>                 Key: PHOENIX-2535
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2535
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Sergey Soldatov
>             Fix For: 4.8.0
>
>         Attachments: PHOENIX-2535-1.patch, PHOENIX-2535-2.patch, 
> PHOENIX-2535-3.patch, PHOENIX-2535-4.patch, PHOENIX-2535-5.patch
>
>
> Having shaded client artifacts helps greatly in minimizing the dependency 
> conflicts at the run time. We are seeing more of Phoenix JDBC client being 
> used in Storm topologies and other settings where guava versions become a 
> problem. 
> I think we can do a parallel artifact for the thick client with shaded 
> dependencies and also using shaded hbase. For thin client, maybe shading 
> should be the default since it is new? 



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

Reply via email to