Skip to content

Orchestrations don't terminate properly #575

@AnatoliB

Description

@AnatoliB

When a Durable orchestration is terminated by an external signal (e. g. using the termination URI, the orchestration runtime status correctly changes to "Terminated", but the orchestrator function continues running, potentially invoking more activities.

For example, consider the following orchestrator code:

Invoke-ActivityFunction -Name 'A'
Write-Warning 'Still running'
Invoke-ActivityFunction -Name 'B'
Write-Warning 'Yes, still running'
Invoke-ActivityFunction -Name 'C'

If the termination signal arrives while activity A is running:

  • Expected behavior: activities B and C do not run, the "still running" warnings are not emitted.
  • Actual behavior: the orchestrator runs to the end, scheduling activities B and C, emitting both warnings, but not actually waiting for any activity to finish.

This does not repro with Durable Functions in C# or JavaScript, so this is specific to the PowerShell implementation.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions