-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
fix: provide fallback for 3.4 to 3.5 transition with absent NodeFlag
. Fixes #12162
#13504
Conversation
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'm not sure if this would simplify the code, but if we detect a 3.4 Workflow, could we just skip the recursion check on it entirely? Since it did not exist in 3.4
eab519a
to
156d36a
Compare
Not really this isn't a recursion check, the PR title is incorrect. This fix mandates a NodeFlag to be created now, it takes the lack of a NodeFlag to imply older controller to have created the workflow, then it tries to mimic 3.4 logic. |
NodeFlag
. Fixes #12162
I changed the title again. I'm not entirely sure I follow the root cause -- your comments in #12162 don't really outline it either. |
156d36a
to
88f3276
Compare
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'm worried about 3.5 and 3.6 diverging in behaviour with this.
As a less invasive change did you consider scanning the workflow at the beginning of operate to upgrade it?
- If you find a nodeFlags field, abort scan (early dropout for all updated workflows to avoid the cost
- Scan each node and calling CheckHookNode generate and attach a nodeFlags to the nodes as appropriate
This scan would then not be needed in 3.6, but it would be the only difference.
No worries. Basically the |
No, mostly because the mandating of the NodeFlag effectively provides a blast radius. But I don't think this is needed. I think I can effectively create a map containing Nodes mapped into their NodeFlags. Thanks for the suggestion, that is definitely less invasive than this fix. |
Signed-off-by: isubasinghe <[email protected]>
88f3276
to
fd6f03b
Compare
I am pretty happy with this now actually :) |
Signed-off-by: isubasinghe <[email protected]>
Signed-off-by: isubasinghe <[email protected]>
Fixes #12162 (#13504) Signed-off-by: isubasinghe <[email protected]>
Fixes #12162
Motivation
Modifications
Verification