Add initial extstore types#2900
Conversation
| return this; | ||
| } | ||
|
|
||
| public ExternalStorage build() { |
There was a problem hiding this comment.
Right now, these all throw state exceptions (which are tested). In a subsequent PR, I would like to replace these with stable diagnostic codes.
There was a problem hiding this comment.
For these in particular, do we need diagnostic codes? The messages are fairly clear as to what the issue is and prevent the use of external storage at startup rather than having to report during execution runtime.
There was a problem hiding this comment.
I am a proponent of best-effort, stable diagnostic codes if the mechanism for adding them very easy. I have a little write-up about this that I wanted to share but the tl;dr is I think we should make a best effort to tag anything that's actionable if for nothing else it supports automated tooling (e.g. AI) and feels like a healthy industry trend (hand wavy gesture). I would not have felt this way 4 years ago.
…s could be unstable.
jmaeagle99
left a comment
There was a problem hiding this comment.
Left some comments but overall looks good. Please hold off until a Java owner reviews and approves.
What was changed
Adds the
@ExperimentalExternal Storage API surface underio.temporal.payload.storage. Typedefinitions only.
Types:
StorageDriver: driver contract (asyncstore/retrieve,getName/getType).StorageDriverClaim: claim-check token for an externally stored payload.StorageDriverSelector: chooses a driver per payload, or keeps it inline.StorageDriverStoreContext/StorageDriverRetrieveContext: driver-call contexts.StorageDriverTargetInfoplusStorageDriverWorkflowInfo/StorageDriverActivityInfo: best-effort,store-side target identity.
ExternalStorage(plusBuilder): config for drivers, optional selector, and size threshold.Notes:
WorkflowClientOptionssetter yet.IllegalStateException. Stable diagnostic codes are a follow-up.Why?
Checklist