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

[client-shell] Require --force to rerun successful or scheduled tasks #1062

Closed
djmitche opened this issue Apr 13, 2018 · 6 comments · Fixed by #1133
Closed

[client-shell] Require --force to rerun successful or scheduled tasks #1062

djmitche opened this issue Apr 13, 2018 · 6 comments · Fixed by #1133
Labels
lang:go Language: Go

Comments

@djmitche
Copy link
Collaborator

From #188

@escapewindow
For rerun, we specifically want to check for status in ['failed', 'exception'] and require --force to rerun completed tasks.


@srfraser
I wonder whether there is also value in checking a task's dependencies for some operations. For example, if Task C depends on tasks A and B, and we want to rerun C, that doesn't really make sense if A and B didn't complete.

@djmitche
Copy link
Collaborator Author

Simon's comment would be about a task in the "scheduled" state. I'm not even sure the queue will let you rerun such a task (since it hasn't run yet).

@escapewindow
Copy link
Contributor

I know releaseduty has used the fact that cancel/rerun doesn't check for dependency statuses as a way to trigger tasks that have failed or unfinished dependencies. I see this as a bug, but since there's no other way that I know of to do this, it's a "feature".

I think checking for the deps is the proper thing to do. I think allowing for the other behavior may help releaseduty until we stabilize things to the point that we never have tasks that need to trigger before dependencies complete successfully.

@djmitche
Copy link
Collaborator Author

Hm, probably scheduleTask is the right API method there, and it's a queue bug that rerunTask will run a scheduled task. @jonasfj what do you think?

@escapewindow
Copy link
Contributor

escapewindow commented Apr 13, 2018

You have to cancel it first before rerun will work. And then once you rerun the cancelled task, it runs without deps finishing. As mentioned above, we rely on this behavior, but it's probably not as designed.

@djmitche
Copy link
Collaborator Author

Ah, that makes more sense -- so this is a rerun from the "exception" status.

@escapewindow
Copy link
Contributor

escapewindow commented Apr 24, 2018

A sheriff just reran successful release tasks again, because treeherder showed them as busted (since treeherder doesn't hide old runs on rerun). This is problematic because Chain of Trust reads the latest run's artifacts for cot verification - and a rerun hides the old results.

@djmitche djmitche transferred this issue from taskcluster/taskcluster-cli Jul 18, 2019
@djmitche djmitche changed the title Require --force to rerun successful or scheduled tasks [client-shell] Require --force to rerun successful or scheduled tasks Jul 18, 2019
@djmitche djmitche added the lang:go Language: Go label Jul 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang:go Language: Go
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants