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

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

One issue [~sergey.soldatov] raised is that, we should decide whether we are 
going with only shaded clients, or both shaded and unshaded clients. Obviously 
only shaded clients will be good because we do not have to deal with 
maintaining two different sets of artifacts, and with the thin/thick and 
shaded/non-shaded the combination will be at least 4 just for the client side. 
We can also decide to do a different thing for 4.x versus 5.0. 

I think the question is what is the API surface for Phoenix and whether we 
consider dependencies as API. I think it is clear that as a JDBC driver, the 
only client-visible interface is JDBC. However, with MR code and Spark code, 
PDataTypes, etc, we maybe exposing our dependencies to users. 

BTW, the shaded clients should also depend only on shaded-hbase artifacts if it 
is possible. 

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