Skip to content

Conversation

@awln-temporal
Copy link
Contributor

@awln-temporal awln-temporal commented Dec 30, 2025

What changed?

Implementation of parent close policy transfer tasks. Parent close policies are applied for each child workflow when the parent is closed. During task generation when the workflow execution is closing, one parent close policy task will be created per child workflow, assuming the parent close policy is not to abandon the child workflow.

On the active task executor, the parent close policy task is handled by calling the corresponding Cancel/Terminate workflow API on the history client.

On the standby task executor, verification that the child workflow is closed or deleted is done by checking its mutable state. If the child workflow is not found, we need to defer to the state on the Source (active) cluster. The child workflow may not have been replicated.

Rollout Procedure

To roll this feature out safely, the following steps will be done:

  1. Have two consecutive releases that include this PR. (Feature is not safe to rollback once turned on)
  2. On the second release that includes this PR, perform a global Dynamic Config rollout of history.enableParentClosePolicyTransferTasks = true
  3. Monitor metrics: Operation TransferActiveTaskParentClosePolicy for count and successful handling of tasks.

Why?

System worker handling parent close policy tasks can lead to task dropping.

How did you test it?

  • built
  • run locally and tested manually
  • covered by existing tests
  • added new unit test(s)
  • added new functional test(s)

Potential risks

TODO: Update section.

@awln-temporal awln-temporal requested review from a team as code owners December 30, 2025 23:21
@awln-temporal awln-temporal force-pushed the parent-close-policy-transfer-task branch 10 times, most recently from 299b357 to 713397b Compare January 5, 2026 21:12
@awln-temporal awln-temporal force-pushed the parent-close-policy-transfer-task branch from 713397b to bdcd2f5 Compare January 5, 2026 21:37
@awln-temporal awln-temporal marked this pull request as draft January 5, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants