amazon-neptune-sigv4-signer icon indicating copy to clipboard operation
amazon-neptune-sigv4-signer copied to clipboard

Updated library to use AWS Java SDK v2.25.13

Open triggan opened this issue 11 months ago • 6 comments

Issue #, if available: #23

Description of changes:

  • Updated POM file to use Java 17.
  • Changed AWS Java SDK version from 1.12.241 to 2.25.13
  • SignableRequest deprecated in SDK v1. Changed to use SdkHttpFullRequest.
    • Header datatype change from the Map<String, String> format in SignableRequest to Map<String, List<String>> format in SdkHttpFullRequest. This required changes in many of the tests to encapsulate header values into a list.
    • Current library assumes one value per header (as this was the only possibility with SignableRequest). We can change this at a later date to support multiple values per header (with SdkHttpFullRequest) by changing the code on 177-180 in NeptuneSigV4SignerBase.java.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

triggan avatar Mar 23 '24 00:03 triggan

Thanks for this update!

wakingrufus avatar Mar 25 '24 13:03 wakingrufus

Hi, We would like to use the neptune signer in a project together with AWS Java SDK v2. So it would be great to see this getting merged soon. Cheers

tmomp avatar Apr 16 '24 13:04 tmomp

We were recently discussing the update of this library to support Java 17. There are some instances where this library may still be used in applications that leverage Java 8 or 11. Looking to address this issue before we merge this PR.

triggan avatar Apr 16 '24 16:04 triggan

Is there an update on the timeline? This is blocking our switch to the AWS Java SDK v2 in our application. Thanks for your time and effort!

jetztgradnet avatar Apr 30 '24 11:04 jetztgradnet

I believe this pull request will resolve the issue I'm encountering. The removal of com.fasterxml.jackson.databind.PropertyNamingStrategy#PASCAL_CASE_TO_CAMEL_CASE poses challenges within AWS environments. This field is referenced by com.amazonaws.util.EC2MetadataUtils (a transitive reference in com.amazonaws:aws-java-sdk-core:jar:1.11.1009), and it triggers an error during Quarkus native compilation v3.9.5 (which employs Jackson 2.17.0).

Details error: Error: Discovered unresolved field during parsing: com.fasterxml.jackson.databind.PropertyNamingStrategy.PASCAL_CASE_TO_CAMEL_CASE. This error is reported at image build time because class com.amazonaws.util.EC2MetadataUtils is registered for linking at image build time by command line and command line. Error encountered while parsing com.amazonaws.util.EC2MetadataUtils.(EC2MetadataUtils.java:81) Parsing context: at static root method.(Unknown Source)

deividferreira-hotmart avatar Apr 30 '24 12:04 deividferreira-hotmart

@triggan anything new wrt the timeline of this update? Just asking so we can adjust our plans accordingly... Thanks!

jetztgradnet avatar May 13 '24 07:05 jetztgradnet

@triggan Sorry for bugging you, but as we are planning to move to AWS SDK v2 due to the EOL for the v1 SDK, getting some hints regarding the timeline of this update would be really helpful.

jetztgradnet avatar May 27 '24 11:05 jetztgradnet

thanks for merging, @spmallette! Is there also a timeline for a release on Maven Central?

jetztgradnet avatar Jun 28 '24 12:06 jetztgradnet

no exact timeline at this point other than to say that i'd like this to merge first: https://github.com/aws/amazon-neptune-sparql-java-sigv4/pull/26 and then we have a bit more testing to do around the move to jdk17 (unless @triggan has already dug into that). so, not much to do before we could publish it. we'll post here as soon as its up.

spmallette avatar Jun 28 '24 12:06 spmallette

This change has now been released as v3.0.0 to maven central: https://central.sonatype.com/artifact/com.amazonaws/amazon-neptune-sigv4-signer/3.0.0

this closes #23

spmallette avatar Jul 18 '24 17:07 spmallette