mirror of
https://github.com/temporalio/temporal.git
synced 2026-08-30 18:41:49 -07:00
## What changed? CHASM async Nexus operation completion now retries against the current workflow run when the original completion ref points at a run that was replaced by reset. `CompleteNexusOperationChasm` now: - first resolves the component at `RefConsistencyLevelComponentCreation` - retries at `RefConsistencyLevelCurrentRun` if the first lookup returns `NotFound` before reaching the operation handler - uses the completion request ID to re-establish operation identity after the current-run lookup This matches the existing HSM completion behavior. The fallback only applies to workflow-backed operations, since standalone Nexus operations do not have a run chain. ## Why? After reset, a workflow can continue the same scheduled Nexus operation on a new run with the same request ID. HSM completions already handle this by falling back to the current run. The CHASM path previously used only the run ID from the completion ref, so a valid completion could be rejected after reset. ## How did you test it? - [x] built - [x] run locally and tested manually - [x] covered by existing tests - [x] added new unit test(s) - [ ] added new functional test(s) ## Potential risks Low, chasm disabled for nexus operations in workflows currently and this PR adds the same functionality offered in hsm rails to chasm rails.
580 B
580 B