danielgmyers / flux-swf-client

Apache License 2.0
9 stars 3 forks source link

Add version field to all json metadata blobs saved to SWF #119

Open danielgmyers opened 4 months ago

danielgmyers commented 4 months ago

In order to be able to roll out metadata format updates safely in the presence of running workflows, Flux needs to be able to easily determine which version of a given metadata blob it is looking at, so that it can decode the metadata appropriately.

All metadata fields (e.g. partition metadata marker, step input and output maps, etc) need a version field.

danielgmyers commented 3 months ago

These things aren't currently json blobs, which we should change later but probably not for 2.1:

danielgmyers commented 3 months ago

com.danielgmyers.flux.clients.swf.FluxCapacitorImpl#buildStartWorkflowRequest needs to be updated too. (It should behave the same as what DecisionTaskPoller does for step input, since it's just building the first step's input.)