Skip to content
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

Difference between "resubmit" and "retry" commands #2320

Closed
danxmoran opened this issue Feb 27, 2020 · 5 comments
Closed

Difference between "resubmit" and "retry" commands #2320

danxmoran opened this issue Feb 27, 2020 · 5 comments
Labels
area/docs Incorrect, missing, or mistakes in docs

Comments

@danxmoran
Copy link
Contributor

Summary

I see "retry" and "resubmit" commands in the CLI / buttons in the server UI. It's not clear what the differences are between the two options, and I can't find any documentation about it. The only difference I can see in the CLI args is the --memoized flag on resubmit, which is marked as experimental.

Motivation

My team uses volumes to pass large files between workflow steps. When a downstream step fails for a reason external to the workflow (i.e. some service is down), we want to be able to "poke" the workflow and have it pick up from the last successful step, without losing track of any volumes. It's not clear which of the two options support that behavior.

@simster7
Copy link
Member

resubmit: A Workflow execution has been completed, and you would like to submit it again. Essentially an alias for running argo submit again.

retry: Rerun a failed Workflow. The same Workflow object is re-run and all of the steps that failed or errored are marked as pending and then executed as normal. No new Workflows are created.

From your motivation, you should use retry.

@bklaubos
Copy link

@simster7 A few questions:
My context is as follows: I run a workflow, went for lunch and comes back and found the workflow failed but the workflow has been deleted(with all its pods) but I still have the whole workflow plus its state metadata(NodePhases) and artifacts saved to a database which I can retrieved and rehydrate back to the argo workflow

  1. Would "resubmit --memoized" automatically reuse the outputs from successful tasks when it commences executing from the failed step/task?
  2. In similar vein, would "retry" work ?

Please enlighten.
Thanks

@simster7
Copy link
Member

Neither would work, both resubmit and retry depend on a live Workflow object on K8s. What you could do is create the failed Workflow object back to K8s. Since it is already marked as Failed it will not run. Then you can use retry or resubmit as needed

@bklaubos
Copy link

@simster7 Thanks. Your answer makes sense.

@bklaubos
Copy link

bklaubos commented Jan 29, 2021

@simster7 One more question:
argo resubmit workflowname --memoized - will this reuse artifact outputs(from S3) of successful steps from previous failed workflow run?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docs Incorrect, missing, or mistakes in docs
Projects
None yet
Development

No branches or pull requests

4 participants