-
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: find correct retry node when using templateRef
. Fixes: #12633
#12683
Conversation
Signed-off-by: shuangkun <[email protected]>
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.
LGTM, thanks for digging down to this.
Thanks! |
templateRef
. Fixes: #12633
BoundaryID: "A1", | ||
Children: []string{}, | ||
TemplateRef: &wfv1.TemplateRef{ | ||
Name: "tmpl1", |
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.
shouldn't this have a template
field as well? the test is passing with only name
?
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.
Ok,I have added it.
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.
the test is passing with only
name
?
Oh I guess the test passed bc nil == nil
. The code checks whether the templateRef
struct isn't nil
, but not the individual fields.
They should never be nil
in a real use-case, so I suppose that is a test edge-case
Signed-off-by: shuangkun <[email protected]>
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.
LGTM, thanks for root causing and fixing this!
…j#12633 (argoproj#12683) Signed-off-by: shuangkun <[email protected]>
…j#12633 (argoproj#12683) Signed-off-by: shuangkun <[email protected]> Signed-off-by: Isitha Subasinghe <[email protected]>
…j#12633 (argoproj#12683) Signed-off-by: shuangkun <[email protected]>
…j#12633 (argoproj#12683) Signed-off-by: shuangkun <[email protected]>
…j#12633 (argoproj#12683) Signed-off-by: shuangkun <[email protected]>
The root cause is pod have
retryStrategy
, the boundaryNode didn't have template (usetemplateRef
), so when find retryNode, probabilistically found others and cause"failed to get a template"
.Some info help review:
Failed workflow(find the wrong retry node):
Succeed worklfow:
Fixes: #12633
Motivation
Modifications
Verification