[
https://issues.apache.org/jira/browse/HADOOP-14284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16001088#comment-16001088
]
Junping Du commented on HADOOP-14284:
-------------------------------------
[~ozawa], I appreciate your work and effort here. However, I still doubt if we
are on the right track here with right solution. IMO, shade dependencies on
client jars is an acceptable solution but effort like this to shade particular
poor backward compatibility dependency everywhere seems unacceptable in build
prospective - even worse case is if other dependencies are following this
practice, then it would be nightmare for future maintaining of hadoop.
Considering Hadoop ecosystem has large number of downstream projects, we should
keep core hadoop as stable as possible - even in a new major release. For poor
backward compatibility third-party jar, like Guava, I think we should either
get rid of it or keep on a particular version and never change . My proposal
above to get rid of Guava seems too aggressive and unrealistic in short term.
However, the other approach - to stay at a version with other downstream
projects unless must be changed (and should change with downstream projects
together) - seems the best strategy here. I didn't see any necessary for
upgrading guava and HADOOP-10101 failed to convince me. In our test internally,
it cause Hadoop 3 failed to work with almost every downstream projects, like:
Spark, HBase, Tez, etc. I think we should revert HADOOP-10101 immediately
before it is too late.
> Shade Guava everywhere
> ----------------------
>
> Key: HADOOP-14284
> URL: https://issues.apache.org/jira/browse/HADOOP-14284
> Project: Hadoop Common
> Issue Type: Bug
> Components: build
> Affects Versions: 3.0.0-alpha3
> Reporter: Andrew Wang
> Assignee: Tsuyoshi Ozawa
> Priority: Blocker
> Attachments: HADOOP-14238.pre001.patch, HADOOP-14284.002.patch,
> HADOOP-14284.004.patch, HADOOP-14284.007.patch, HADOOP-14284.010.patch,
> HADOOP-14284.012.patch
>
>
> HADOOP-10101 upgraded the guava version for 3.x to 21.
> Guava is broadly used by Java projects that consume our artifacts.
> Unfortunately, these projects also consume our private artifacts like
> {{hadoop-hdfs}}. They also are unlikely on the new shaded client introduced
> by HADOOP-11804, currently only available in 3.0.0-alpha2.
> We should shade Guava everywhere to proactively avoid breaking downstreams.
> This isn't a requirement for all dependency upgrades, but it's necessary for
> known-bad dependencies like Guava.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]