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

Istvan Toth commented on PHOENIX-5573:
--------------------------------------

After spending way too much time on this, I could not find a satisfactory 
solution.

Since the Hadoop and HBase dependency versions are configurable in Phoenix  
(technically all dependencies defines via properties are, but we actually 
expect users to set these via *hbase.profile*, and optionally according to 
their environments), hardcoding versions via dependencyManagement is not 
possible (we'd mess up the specified Hadoop/HBase transitive dependency 
versions).

This would leave the exclusion route, which would work beautifully if not for 
the fact that the transitive dependencies of Hadoop/HBase itself are not 
converging, and that is not possible set exclusions on a transitive dependency 
in Maven.

This could be worked around by explicitly depending on the parents of the 
offending dependencies, but for that we'd need to set their versions, and then 
we'd have the same problems as with the dependencyManagement solution.

[~krisden], if think you can find a good solution, feel free have another go at 
this, for now I'll stick with the less ambitious route of manually checking the 
conflicting dependencies, and excluding the ones that I deem problematic.

 

 

 

> Ensure that all Maven dependencies converge
> -------------------------------------------
>
>                 Key: PHOENIX-5573
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5573
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Kevin Risden
>            Assignee: Istvan Toth
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> PHOENIX-5572 identified a case where this is broken today. I suggested 
> https://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html 
> which can help ensure that dependencies are one version.



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

Reply via email to