Repository navigation
Add published Temporal cancellation and cleanup comparison - #149
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Purpose
Add the reproducible published Temporal comparison needed by #136. It exercises the documented heartbeat distinction using explicit waiting policies and shielded cleanup, and keeps physical callback exit separate from durable cancellation.
Qualification
The exact local Compose fixture passes 18 cases / 36 CANCELED parent-child workflows, three repetitions of six profiles. Both SIGKILL/replacement and another cancellation during the committed root cleanup timer preserve one original request, original reason and timer, and finish cleanup. All six cleanup controls reject stale activity completion while root cleanup is still running.
Async remote activities stop with application heartbeats. Without heartbeats they run for twelve seconds and execute a late side effect. Async local activities stop without heartbeats. Blocking local threads stop after their sleep without executing the late effect. These are supported Python SDK distinctions, not a general product ranking or a throughput benchmark.
Versions, image digests, the verified published CLI archive, explicit configuration, commands and assertions are in the fixture. Actions retains the raw canonical histories, process markers, package hashes and variation as ordinary artifacts, then removes the fixture. The runtime uses the CLI's SQLite development Server and no host ports. A hosted result is required before merge.
Part of #136. This does not close it or qualify a DW published tuple.