Skip to content

Core, AWS: Adapt code to S3 signing endpoint promotion#15451

Open
adutra wants to merge 1 commit intoapache:mainfrom
adutra:promote-sign-endpoint-code
Open

Core, AWS: Adapt code to S3 signing endpoint promotion#15451
adutra wants to merge 1 commit intoapache:mainfrom
adutra:promote-sign-endpoint-code

Conversation

@adutra
Copy link
Contributor

@adutra adutra commented Feb 26, 2026

Dev ML discussion: https://lists.apache.org/thread/2kqdqb46j7jww36wwg4txv6pl2hqq9w7

This commit adapts the code base to the REST spec changes in #15450.

Summary of changes:

  • Added new signer endpoint to Endpoint and ResourcePaths
  • Added new remote signing properties to RESTCatalogProperties
  • Introduced RemoteSignRequest, RemoteSignRequestParser, RemoteSignResponse, RemoteSignResponseParser
  • Deprecated S3SignRequest, S3SignRequestParser, S3SignResponse, S3SignResponseParser for removal
  • Deprecated S3ObjectMapper for removal
  • Added new serializers to RESTSerializers
  • Adapted S3V4RestSignerClient:
    • Deprecated public fields
    • Changed access methods and check() method to account for new properties and deprecated ones.
    • Included new provider request body parameter

Test changes:

  • Refactored S3SignerServlet to extract a parent abstract class, RemoteSignerServlet (it can now be reused to test other providers)
  • Moved JSON parser tests from AWS module to Core module
  • Enhanced TestS3V4RestSignerClient

Dev ML discussion: https://lists.apache.org/thread/2kqdqb46j7jww36wwg4txv6pl2hqq9w7

This commit adapts the code base to the REST spec changes in apache#15450.

Summary of changes:

- Added new signer endpoint to `Endpoint` and `ResourcePaths`
- Added new remote signing properties to `RESTCatalogProperties`
- Introduced `RemoteSignRequest`, `RemoteSignRequestParser`, `RemoteSignResponse`, `RemoteSignResponseParser`
- Deprecated `S3SignRequest`, `S3SignRequestParser`, `S3SignResponse`, `S3SignResponseParser` for removal
- Deprecated `S3ObjectMapper` for removal
- Added new serializers to `RESTSerializers`
- Adapted `S3V4RestSignerClient`:
  - Deprecated public fields
  - Changed access methods and `check()` method to account for new properties and deprecated ones.
  - Included new `provider` request body parameter

Test changes:

- Refactored `S3SignerServlet` to extract a parent abstract class, `RemoteSignerServlet` (it can now be reused to test other providers)
- Moved JSON parser tests from AWS module to Core module
- Enhanced `TestS3V4RestSignerClient`
@adutra
Copy link
Contributor Author

adutra commented Feb 26, 2026

@nastra
Copy link
Contributor

nastra commented Feb 26, 2026

@adutra can we not just keep #15112 which already has all of the review comments? I think the idea was to only split out the spec changes into a separate PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants