microsoft / durabletask-dotnet

Out-of-process .NET SDK for the Durable Task Framework
MIT License
112 stars 33 forks source link

Rewind support #21

Open cgillum opened 2 years ago

cgillum commented 2 years ago

Durable Functions and the Azure Storage backend both support orchestration rewind, which allows restoring an orchestration instance back to its previous state after it has failed. This functionality should be made available to this SDK.

Rewind is currently in preview status. As part of this work, we should bring it onto the path to GA. This would likely require some changes to DTFx, such as completing the following work item: https://github.com/Azure/durabletask/issues/731.

Checklist

jviau commented 2 years ago

Rolling this into Core DTFx and GA'ing does look possible. However, I wonder if this is "feature-parity" for Durable Functions though? Is it possible to make a more targeted change for DF isolated to support rewind on just the known supported backends.

We can add Rewind to the gRPC contract, but have it only functional when using AzureStorage backend. Anything else will return Unimplemented. This will let us start with exact feature parity for Durable Functions, and we can work on stabilizing and GA'ing rewind support in the Core DTFx later.

cgillum commented 2 years ago

Yes, I think I was being a little over-ambitious by adding the "Core DTFx updates" checkbox. That probably should have been a separate work item in the Azure/durabletask repo. Feature parity can be achieved by simply plugging into the existing implementation as you suggested.

source-studio commented 1 year ago

May I ask if there is an update on when this feature will be implemented?