Fix ContinueAsNew dropping memo and search attributes in test server#2870
Open
baekgyu-kim wants to merge 1 commit intotemporalio:masterfrom
Open
Fix ContinueAsNew dropping memo and search attributes in test server#2870baekgyu-kim wants to merge 1 commit intotemporalio:masterfrom
baekgyu-kim wants to merge 1 commit intotemporalio:masterfrom
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.
What was changed
Fixed the in-memory test server losing memo and search attributes across
ContinueAsNew. The continued run now inherits both from the previous run by default, while still honoring explicit overrides, including explicit empty memo, and reflecting in-flightupsertMemo/upsertTypedSearchAttributesmutations.Specifically:
StateMachinesnow populates memo and search attributes on theWorkflowExecutionContinuedAsNewevent, falling back to the live workflow state when the command omits the field.TestWorkflowServicenow copies memo from theWorkflowExecutionContinuedAsNewevent onto the new run's start request. The search attributes path was already wired.Why?
The in-memory test server's behavior diverged from the real Temporal service for
ContinueAsNewruns that rely on inherited memo or search attributes. This made the test server unreliable for verifying memo/search-attribute-dependent workflow logic.Checklist
Closes Testing server continue-as-new doesn't carry memo/search attributes #2655.
How was this tested:
ContinueAsNewTestcovering inherit, override, upsert-then-inherit for memo and search attributes, upsert-null memo removal, and explicit empty memo override.No. This is an internal test server behavior fix that aligns it with the real Temporal service; no public API change.