Closed pettermahlen closed 9 years ago
@pehrs @danielnorberg does this look OK?
What version of netty would that be?
Seems awkward and fragile to shade in this project to work around a dependency issue elsewhere. Could the shading/relocation happen in the project that uses this library instead?
The reason for the PR is that when writing to HDFS, you need Hadoop, and Hadoop uses io.netty:netty:jar:3.6.2.Final - in many of its various jars. @pehrs may know more about whether there might be some combination of Hadoop jars/excludes that allows you to write to HDFS without Netty, but it doesn't look like it to me.
I would have said it's less fragile and awkward to shade in the library than in every application that wants to use the library and some other version of Netty? I guess it's arguable who creates the dependency issue, but to me, since Netty is an implementation detail in the asynch-google-pubsub-client, it makes sense to encapsulate that via shading rather than pollute the namespaces of all users. Shading is a sucky mechanism for that, but it's the best one I know of.
That's Hadoop 2.2.0, btw.
Hadoop uses com.ning:async-http-client and io.netty:netty versions that are not compatible with the ones used by this client. That means that it's not possible to use this client when writing to HDFS.