Skip to content

Add extstore s3 driver#2907

Open
cconstable wants to merge 3 commits into
extstore-foundationfrom
extstore-s3-driver
Open

Add extstore s3 driver#2907
cconstable wants to merge 3 commits into
extstore-foundationfrom
extstore-s3-driver

Conversation

@cconstable

@cconstable cconstable commented Jun 10, 2026

Copy link
Copy Markdown

What changed?

  • Added the experimental S3 external storage driver and AWS SDK v2 adapter at contrib/temporal-payload-storage-s3/src/main/java/io/temporal/payload/storage/s3/
  • Added shared PayloadHasher for drivers to consistently hash payload content.

Why?

  • Enables Temporal payloads to be offloaded to S3 through the external storage driver API.

Checklist

  • Added focused S3 driver tests covering storage, retrieval, key format, error handling, validation, and README examples.

@cconstable cconstable changed the base branch from master to extstore-foundation June 10, 2026 18:59
@cconstable cconstable changed the title extstore s3 driver Add extstore s3 driver Jun 10, 2026
- Missing values (including a missing `run-id`) are encoded as `null`.
- `hex-digest` is lower-case SHA-256 hex (64 characters).

### Percent-encoding rules

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are encoding rules that all temporal s3 drivers should conform to. If we have a better place to put information like this I will move it, otherwise I'll put something similar in the READMEs of the other SDKs.


/** Computes payload hashes shared by external storage drivers. */
@Experimental
public final class PayloadHasher {

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any driver we add that creates content-addressable keys will need to hash the content somehow. I opted to put this in a shared place. Happy to rename or move if needed.

@cconstable cconstable marked this pull request as ready for review June 10, 2026 20:21
@cconstable cconstable requested a review from a team as a code owner June 10, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant