aws/aws-sdk-java

Update jackson-databind dependency

cpg-dana-mckiernan opened this issue · 2 comments

Describe the feature

The symbol PropertyNamingStrategy PASCAL_CASE_TO_CAMEL_CASE from jackson-databind was removed in their release v1.16.0. It still appears in the aws-sdk-java-core source code for the EC2MetadataUtils class here:

https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-core/src/main/java/com/amazonaws/util/EC2MetadataUtils.java#L98

This causes your code, when used with a newer library, to throw NoClassDefFoundError exceptions, and fail to initialize

Use Case

Using aws-sdk-java-core versions up through v1.12.650 with any version of jackson-databind v2.16.0 or newer causes applications to not run and initialization exceptions to get thrown.

Proposed Solution

Update your code, or call out explicitly that this library requires versions of jackson-databind older thanv2.16.0.

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

AWS Java SDK version used

1.12.650

JDK version used

openjdk version "17.0.7" 2023-04-18 OpenJDK Runtime Environment Temurin-17.0.7+7 (build 17.0.7+7) OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (build 17.0.7+7, mixed mode, sharing)

Operating System and version

Red Hat Enterprise Linux Server 7.9 (Maipo)

We are aware of this issue.

The plan is to update the code, there's some level of development happening now, but we don't have a timeline for when it will be finished. I'll add a comment here when we have an update.

EC2MetadatUtils will now check for PropertyNamingStrategies.UPPER_CAMEL_CASE first, and if it's not present it will check for properties of the older versions of jackson.

The change was released in version 1.12.655.