Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

a termination call to an orchestrator doesn't terminate any sub-orchestrations it started #153

Closed
peteroden opened this issue Feb 14, 2018 · 12 comments

Comments

@peteroden
Copy link

terminating an orchestrator should also terminate the sub-orchestrators it has started but this is not the case.

@kashimiz
Copy link
Contributor

kashimiz commented Feb 14, 2018

We might want to make this an optional behavior. Thoughts?

@peteroden
Copy link
Author

That makes sense. I could see where in some scenarios you might want to leave a sub-orchestrator running. Perhaps handle it as an optional parameter on the terminate method?

@cgillum
Copy link
Member

cgillum commented Feb 15, 2018

@simonporter what is the expected behavior in the Durable Task Framework? Should a terminate message terminate a parent orchestration and all it's children, or just the parent?

@peteroden
Copy link
Author

@cgillum did you ever hear back from @simonporter on how this works in the Durable Task Framework?

@simonporter
Copy link

The current behavior in the default provider is that a terminate call on the parent will only terminate the parent, it does not propagate to the children.
It does look like a reasonable extension would be to add an option to also terminate sub-orchestrations. This might be an behavior not all providers can implement immediately.

@andreujuanc
Copy link

I'm starting to use DF in a more or less complex scenario, and this was driving me crazy!
Will have to redesign my architecture, since i was depending on other orchestrators. I will see if I can just have them as activities.

I think this is a very reasonable feature request, specially since the role of an orchestrator is to orchestrate!

@andreujuanc
Copy link

If we could have this #243
And if SubOrchestrations get passed it's parents instance id automatically, we could at least manually check for parent status and terminate accordingly.

@cgillum
Copy link
Member

cgillum commented Apr 12, 2018

@andreujuanc can you open a separate issue to track making the parent instance ID available to the sub-orchestrator? That might be a simple thing for us to add soon'ish.

@andreujuanc
Copy link

@cgillum Done #246

@vany0114
Copy link

Hi @cgillum, @simonporter just to confirm where did it land, the Orchestration Termination kills the sub-orchestrators as well? I can't find any documentation about that.

@yazansh
Copy link

yazansh commented Jul 29, 2020

Hello, I hope this issue gets resolved as soon as possible.
for me, I made a workaround that worked locally but unfortunately didn't work on the Azure portal.
In the same function app, I Created another HTTP triggered function, and using the durable orchestration client I used the get status async method "IList instances = await client.GetStatusAsync();", then iterated over each instance where orchestration runtime status is either "running" or "continued as new" and called "client.TerminateAsync(instanceId);".

@ConnorMcMahon
Copy link
Contributor

Closing as a duplicate of #506.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants