-
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: mark taskresult complete when failed or error. Fixes #12993, Fixes #13533 #13798
fix: mark taskresult complete when failed or error. Fixes #12993, Fixes #13533 #13798
Conversation
/retest |
1 similar comment
/retest |
Seems to be failing to pull argocli:latest since the imagePullPolicy is Never. |
8c06c57
to
3cb3151
Compare
3cb3151
to
49ff7a4
Compare
This won't quite work. The previous comment ^ is incorrect. The code fails tests due to a race condition. |
Signed-off-by: isubasinghe <[email protected]>
Made a change that checks if the pod exists instead of the node Message. |
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
By the way, I think IsPodDeleted
can be removed since it is useless now.
Signed-off-by: isubasinghe <[email protected]>
/retest |
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 think this makes sense: if the Task Result exists, that means the Pod at some point existed, and if it no longer exists, then that means it was deleted.
The main race I can think of here is if the Task Result was seen in the Informer before the Pod was. Wasn't this effectively the purpose of the POD_ABSENT_TIMEOUT
from #13454?
I have a worry around this too. I'd like there to be some timeout between when we've noticed that a pod has disappeared so that a delayed but completed As this PR is now I don't think we're guaranteed to see the completed task result before the pod removal event, and something like |
Ah I actually said the inverse race, which is less likely; this variant is more likely and possible too. |
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.
Blocking on the basis that @agilgur5 and I both think this needs a time window. #13798 (comment)
I approved on the basis that this would catch more races than the code before this, but it creates a few too 😅 |
Signed-off-by: isubasinghe <[email protected]>
Signed-off-by: isubasinghe <[email protected]>
Signed-off-by: isubasinghe <[email protected]>
#13533 (#13798) Signed-off-by: isubasinghe <[email protected]>
#13533 (#13798) Signed-off-by: isubasinghe <[email protected]>
Fixes #12993 and Fixes #13533
Motivation
The previous fix relied upon a Message field. There is no guarantee that this Message is always given to us.
We now directly check if a pod exists.
Modifications
Check if pod exists.
Verification
Unable to verify with certainty due to being a rare edge case.