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