You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm pretty sure the issue is caused by a misunderstanding on the retry API and the bool value to provide to it. The isTransientGCSErr function works correctly and the unit tests make sense, however the Load and Save functions should return !isTransientGCSErr(err), err instead of isTransientGCSErr(err), err.
This is because the Backoff function wrapping the Load and Save calls expects the bool to indicate whether to retry or not where: true = don't retry and false = retry.
Summary
What happened/what you expected to happen?
Optional GCS artifacts had been fixed and tested manually in #6393. It seems that some changes in #6302 has caused a regression on this behaviour.
This bug is reproducible by running the following two workflows:
Failing Workflow
Working Workflow
Solution/Cause
I'm pretty sure the issue is caused by a misunderstanding on the
retry
API and thebool
value to provide to it. TheisTransientGCSErr
function works correctly and the unit tests make sense, however theLoad
andSave
functions should return!isTransientGCSErr(err), err
instead ofisTransientGCSErr(err), err
.argo-workflows/workflow/artifacts/gcs/gcs.go
Lines 100 to 119 in 2df5f66
argo-workflows/workflow/artifacts/gcs/gcs.go
Lines 203 to 220 in 2df5f66
This is because the
Backoff
function wrapping theLoad
andSave
calls expects thebool
to indicate whether to retry or not where:true
= don't retry andfalse
= retry.argo-workflows/util/wait/backoff.go
Lines 9 to 26 in 2df5f66
I'll propose a PR in the next hour or so with some proposed changes.
Diagnostics
👀 Yes! We need all of your diagnostics, please make sure you add it all, otherwise we'll go around in circles asking you for it:
What Kubernetes provider are you using?
What version of Argo Workflows are you running?
master
What executor are you running? Docker/K8SAPI/Kubelet/PNS/Emissary
Did this work in a previous version? I.e. is it a regression?
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
The text was updated successfully, but these errors were encountered: