Fix: PurgeOrchestration errors out when used with retryable sub-orchestrations #63
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On trying to purge an orchestration that creates retryable sub-orchestrations, it fails with
Segmentation Fault
error. More details of the issue can be found here: dapr/dapr#7422The issue happens because in case of retryable sub-orchestrations, there are multiple instances of same sub-orchestration (with same instanceId) in the orchestration state and the purge logic tries to purge each of them recursively and so fails while trying to purge a sub-orchestration again which has been already purged. The PR fixes the implementation to filter out duplicate instanceIDs while purging.