-
Notifications
You must be signed in to change notification settings - Fork 894
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
[Reset] Track child workflows initiated after reset #7210
Conversation
57f6bb3
to
9d6e3b3
Compare
f8ec2ee
to
8a05b96
Compare
9d6e3b3
to
39094ab
Compare
29ba43a
to
f10c2c4
Compare
39094ab
to
6015fef
Compare
f10c2c4
to
5f71593
Compare
5f71593
to
2f2f197
Compare
…nInfo for tracking child workflows post-reset
2814a46
to
695190a
Compare
2f2f197
to
9e4907e
Compare
) | ||
|
||
var ( | ||
errWorkflowResetterMaxChildren = serviceerror.NewInternal(fmt.Sprintf("WorkflowResetter encountered max allowed children [%d] while resetting.", maxChildrenInResetMutableState)) |
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.
Invalid argument?
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.
What do you mean by invalid arg? I want to include the maxChildrenInResetMutableState
value in the error message (in case we change these limits).
Or did you mean something else?
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.
I mean the error type should be invalid argument, otherwise it counts against SLA.
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.
Got it. Changed it to InvalidArgument
…temporal into cg/reset_before_child_init_2
…efore_child_init_2
) | ||
|
||
var ( | ||
errWorkflowResetterMaxChildren = serviceerror.NewInternal(fmt.Sprintf("WorkflowResetter encountered max allowed children [%d] while resetting.", maxChildrenInResetMutableState)) |
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.
I mean the error type should be invalid argument, otherwise it counts against SLA.
What changed?
In this PR I'm recording a set of children that were initialized after the reset point. The children are identified by "workflow_type:workflow_id" key.
Why?
When the parent starts to make progress after reset, it needs to know all the children that were already started after the reset point. In the current iteration of the feature we will use this information to terminate any running child before starting another instance.
We need this information mainly for 2 reasons.
So, we need to record an exact set of children that were observed (at the time of reset) to have been initialized after the reset point.
How did you test it?
Potential risks
Documentation
Is hotfix candidate?