awslabs / awslabs/amazon-sqs-java-extended-client-lib

Not compatible with aws-java-sdk-bundle

Open
#36 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
232
Forks
113
PR merge metrics
No merged PRs in 30d

Description

`aws-java-sdk-bundle` is one of the modules in the [AWS SDK repository](https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-bundle/pom.xml). Its purpose is to shade all of the SDK's third-party dependencies such as Jackson or `org.apache.commons.logging`.

In the `AmazonSQSExtendedClient` class there is a method `getTextFromS3()`. Within that method, there is a call to `
IOUtils.closeQuietly(is, LOG);`. `LOG` is of type `org.apache.commons.logging.Log`. The problem is, if you use the shaded version of the SDK, then `IOUtils.closeQuietly` is expecting `
com.amazonaws.thirdparty.apache.logging.Log` instead, which causes it to throw a `
java.lang.NoSuchMethodError`.

I believe this problem could be solved by converting this library into multiple modules and offer a shading module with the exact same rules as `aws-java-sdk-bundle`.

Contributor guide

Open the contributing guide

Research direction

Start with AmazonSQSExtendedClient.getTextFromS3() and the aws-java-sdk-bundle/pom.xml referenced in the issue. Trace the IOUtils.closeQuietly call and compare the logging types used by each shaded dependency. Done means the library works with aws-java-sdk-bundle without the reported NoSuchMethodError.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, java
Domain
backend, cloud
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.