Skip to content

💥 Use ExternalStorageReference protobuf message for payload references#2311

Merged
jmaeagle99 merged 7 commits intotemporalio:mainfrom
jmaeagle99:storage-ref-proto
Apr 29, 2026
Merged

💥 Use ExternalStorageReference protobuf message for payload references#2311
jmaeagle99 merged 7 commits intotemporalio:mainfrom
jmaeagle99:storage-ref-proto

Conversation

@jmaeagle99
Copy link
Copy Markdown
Contributor

@jmaeagle99 jmaeagle99 commented Apr 26, 2026

What was changed

  • Store and retrieve payload references as ExternalStorageReference protobuf message encoded with protojson.
  • Allow backward compatible retrieval of prerelease plain json encoding.
  • Embed ExternalStorageReference proto message definition in sdk-go until api-go contains the same definition. Generate structure and data such that wire format and data are exactly the same as would be in api-go.

💥 Breaking Change

Workflow history that contains an external storage reference that is encoded using the proto-JSON converter will likely not be runnable on workers using prior versions of the SDK due to this format change.

Why?

  • Standardize on protobuf message for encoding storage references.

Checklist

  1. How was this tested: Existing tests, compat tests, and new tests
  2. Any docs updates needed? No

@jmaeagle99 jmaeagle99 marked this pull request as ready for review April 28, 2026 16:37
@jmaeagle99 jmaeagle99 requested a review from a team as a code owner April 28, 2026 16:37
@yuandrew
Copy link
Copy Markdown
Contributor

For reference, this is the API PR: temporalio/api#772

Comment thread internal/extstore/internal_extstore.go
Comment thread internal/extstore/internal_extstore.go
Comment thread internal/extstore/extstore_test.go Outdated
Comment thread internal/extstore/internal_extstore.go Outdated
Comment thread internal/temporalapi/README.md
Comment thread internal/extstore/internal_extstore.go
Comment thread internal/extstore/internal_extstore.go Outdated
Comment thread internal/extstore/extstore_test.go Outdated
@jmaeagle99 jmaeagle99 changed the title Use ExternalStorageReference protobuf message for payload references 💥 Use ExternalStorageReference protobuf message for payload references Apr 28, 2026
@jmaeagle99 jmaeagle99 merged commit 2086ddb into temporalio:main Apr 29, 2026
31 checks passed
@jmaeagle99 jmaeagle99 deleted the storage-ref-proto branch April 29, 2026 02:47
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.

2 participants