Skip to content

Fix HttpChecksumStage ordering and SIGNING_METHOD resolution for interceptors to pipeline migration#6965

Merged
S-Saranya1 merged 1 commit into
feature/master/core-interceptors-migrationfrom
somepal/fix-httpchecksum-ordering
May 15, 2026
Merged

Fix HttpChecksumStage ordering and SIGNING_METHOD resolution for interceptors to pipeline migration#6965
S-Saranya1 merged 1 commit into
feature/master/core-interceptors-migrationfrom
somepal/fix-httpchecksum-ordering

Conversation

@S-Saranya1
Copy link
Copy Markdown

Motivation and Context

After moving auth scheme resolution to a pipeline stage, SIGNING_METHOD is computed too early — before SELECTED_AUTH_SCHEME has the resolved values. This causes HttpChecksumStage to skip adding trailing checksums for requests that need them (e.g., S3 PutObject with MRAP + old signer), because ENABLE_CHUNKED_ENCODING is null at computation time.

Modifications

  • AmazonSyncHttpClient / AmazonAsyncHttpClient — Moved HttpChecksumStage to run after AuthSchemeResolutionStage and EndpointResolutionStage, so it reads SIGNING_METHOD after it's been recomputed.
  • SdkInternalExecutionAttribute — Added SIGNING_METHOD_UPDATER callback attribute.
  • AwsExecutionContextBuilder — Sets the SIGNING_METHOD_UPDATER callback that recomputes SIGNING_METHOD using resolveSigningMethodUsed() with the correct values.
  • AuthSchemeResolutionStage — Invokes the SIGNING_METHOD_UPDATER callback after resolving the auth scheme, when ENABLE_CHUNKED_ENCODING is available on SELECTED_AUTH_SCHEME.

Testing

Verified with existing ChecksumReuseTest - all 6 tests pass including the previously failing MRAP + old signer case.

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the CONTRIBUTING document
  • Local run of mvn install succeeds
  • My code follows the code style of this project
  • My change requires a change to the Javadoc documentation
  • I have updated the Javadoc documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • I have added a changelog entry. Adding a new entry must be accomplished by running the scripts/new-change script and following the instructions. Commit the new file created by the script in .changes/next-release with your changes.
  • My change is to implement 1.11 parity feature and I have updated LaunchChangelog

License

  • I confirm that this pull request can be released under the Apache 2 license

@S-Saranya1 S-Saranya1 requested a review from a team as a code owner May 13, 2026 21:55
@S-Saranya1 S-Saranya1 merged commit 8af4695 into feature/master/core-interceptors-migration May 15, 2026
17 of 30 checks passed
@github-actions
Copy link
Copy Markdown

This pull request has been closed and the conversation has been locked. Comments on closed PRs are hard for our team to see. If you need more assistance, please open a new issue that references this one.

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators May 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants