-
Notifications
You must be signed in to change notification settings - Fork 767
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add FirstExecutionRunID to mutable state #5031
Conversation
1773fa9
to
05dcc48
Compare
05dcc48
to
bdd2052
Compare
@@ -152,6 +153,7 @@ func FromInternalWorkflowExecutionInfo(executionInfo *persistence.InternalWorkfl | |||
CompletionEventEncoding: string(common.EncodingTypeEmpty), | |||
VersionHistoriesEncoding: string(common.EncodingTypeEmpty), | |||
InitiatedID: common.EmptyEventID, | |||
FirstExecutionRunID: MustParseUUID(executionInfo.FirstExecutionRunID), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any possibility of this being an invalid UUID? I'm always a little scared of using MustParse for places like this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking below at the builder - from a naïve perspective this looks maybe it could be an invalid uuid, or at least a nil one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MustParseUUID works with empty string
What changed?
Added FirstExecutionRunID to mutable state which gets persisted in DB. Now we don't rely on workflow execution started event for this information.
This partially picks temporalio/temporal#365
Why?
See temporalio/temporal#365
How did you test it?
unit test, integration test and local test on laptop
Potential risks
There might be backward compatibility issue, and we must make sure the old mutable state can still be read from database.
Release notes
Documentation Changes