Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aws shaded SDK is exporting netty dependencies #1488

Closed
steveloughran opened this issue Feb 26, 2018 · 7 comments
Closed

aws shaded SDK is exporting netty dependencies #1488

steveloughran opened this issue Feb 26, 2018 · 7 comments
Labels
investigating This issue is being investigated and/or work is in progress to resolve the issue.

Comments

@steveloughran
Copy link

steveloughran commented Feb 26, 2018

The aws-sdk-bundle, which is meant to be the shaded SDK, is now exporting netty

+- org.apache.hadoop:hadoop-aws:jar:3.2.0-SNAPSHOT:compile
   \- com.amazonaws:aws-java-sdk-bundle:jar:1.11.271:compile
      +- io.netty:netty-codec-http:jar:4.1.17.Final:compile
      +- io.netty:netty-codec:jar:4.1.17.Final:compile
      +- io.netty:netty-handler:jar:4.1.17.Final:compile
      +- io.netty:netty-buffer:jar:4.1.17.Final:compile
      +- io.netty:netty-common:jar:4.1.17.Final:compile
      +- io.netty:netty-transport:jar:4.1.17.Final:compile
      \- io.netty:netty-resolver:jar:4.1.17.Final:compile
  1. Please stop it. The purpose of shading is to avoid version conflicts.
  2. If we exclude these, what's going to break?

See: HADOOP-15264

@shorea
Copy link
Contributor

shorea commented Feb 26, 2018

Would renamespacing these work for you? Netty is used for the Kinesis Video client.

@steveloughran
Copy link
Author

The reason we switched to the shaded SDK bundle in hadoop as transitive dependencies on things like jackson meant it was impossible to upgrade the AWS SDK versions. I'm afraid we expect the "shaded SDK" to be precisely that.

Can you confirm that it is only the Kinesis Video client. which adds the dependencies? In which case we can probably avoid reverting to 1.11.199, instead patching up our dependencies. However, that's precisely the game we've been trying to avoid "randomly excluding transient dependencies in the hope things work again"

@shorea
Copy link
Contributor

shorea commented Feb 26, 2018

Yes only Kinesis Video uses Netty at the moment. I'll add a mapping to the shade config to relocate netty like our other dependencies.

https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-bundle/pom.xml#L46

@steveloughran
Copy link
Author

Thanks; we'll exclude the netty versions & not worry about Kinesis, as the only services directly used are: S3, STS, KMS, DDB; Some people may use the same package for Kinesis, but they can redeclare things. We'll have to add some notes about a JAR update process too: worth formalising

@shorea shorea added the investigating This issue is being investigated and/or work is in progress to resolve the issue. label Feb 27, 2018
@steveloughran
Copy link
Author

OK, we're cutting out these dependencies. We'll have to enhance our dependency update process to catch this sooner too.

@millems
Copy link
Contributor

millems commented Jun 8, 2018

This has been fixed in the latest release.

@millems millems closed this as completed Jun 8, 2018
@steveloughran
Copy link
Author

thanks. Will check for it when we update the AWS SDK for a future hadoop release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
investigating This issue is being investigated and/or work is in progress to resolve the issue.
Projects
None yet
Development

No branches or pull requests

3 participants