Trying to manage an Eternal Orchestration is difficult due to:
Must provide instance id at startup and check if already running.
If orchestration was somehow terminated, it is impossible to restart.
I believe there is a TODO item in the CreateInstance stored procedure which would address this, but it appears the database schema itself blocks this since it would cause a duplicate key. Perhaps I'm misunderstanding, shouldn't ExecutionId be used as part of the unique identifier? In other words, a combination of TaskHub, InstanceId, and ExecutionId signify a unique orchestration, with ContinueAsNew starting a new Orchestration with the same InstanceId and different ExecutionId.
This ticket requests a solution for restarting orchestrations using the same InstanceId.
Trying to manage an Eternal Orchestration is difficult due to:
I believe there is a TODO item in the CreateInstance stored procedure which would address this, but it appears the database schema itself blocks this since it would cause a duplicate key. Perhaps I'm misunderstanding, shouldn't ExecutionId be used as part of the unique identifier? In other words, a combination of TaskHub, InstanceId, and ExecutionId signify a unique orchestration, with
ContinueAsNew
starting a new Orchestration with the same InstanceId and different ExecutionId.This ticket requests a solution for restarting orchestrations using the same InstanceId.