incubator-devlake icon indicating copy to clipboard operation
incubator-devlake copied to clipboard

[Feature][Config UI] Skipping Failed/Stalled Stages

Open asterix314 opened this issue 3 years ago • 4 comments

Search before asking

  • [X] I had searched in the issues and found no similar feature requirement.

Description

The requested feature is an option to skip failed stages and carry on with the following stages in the pipeline, for those who have a long list of repos to run and want to make as much progress as possible in one go.

In "advanced mode", one can list tens or hundreds of stages(repos) in the "2D list" of the API, to run in sequence. But when one stage fails for whatever reason, the whole pipeline halts, missing the opportunity to run the following stages and just wasting time for human intervention.

Better still, a timeout (say 4 hours) setting can also be useful, for those stages that don't actually fail but still are not making any progress due to rate limiting etc.

Use case

Add a global option "skip stage when stalled", and a sub-setting for a timeout.

Related issues

No response

Are you willing to submit a PR?

  • [ ] Yes I am willing to submit a PR!

Code of Conduct

asterix314 avatar Jul 15 '22 00:07 asterix314

@asterix314 Thanks for the feedback, it makes sense to me, @Startrekzky what do you think?

klesh avatar Jul 15 '22 01:07 klesh

This issue has been automatically marked as stale because it has not had recent activity for 30 days. It will be closed in next 7 days if no further activity occurs.

github-actions[bot] avatar Aug 15 '22 00:08 github-actions[bot]

@asterix314 Thanks for the feedback, it makes sense to me, @Startrekzky what do you think?

I'm not sure, may I know what specific problem happened while you were collecting data from multiple GitHub repos? Thanks. @asterix314

Startrekzky avatar Aug 15 '22 02:08 Startrekzky

@asterix314 Thanks for the feedback, it makes sense to me, @Startrekzky what do you think?

I'm not sure, may I know what specific problem happened while you were collecting data from multiple GitHub repos? Thanks. @asterix314

@Startrekzky I used the "2D list" API to collect a few hundred GitHub projects into DevLake. The stages ran in sequence. But when one stage fails, the whole pipeline stalls. There are many reasons for one stage to fail/stall:

  • miss-spelt project names
  • rate limit exceeded
  • etc.

As a result, during the few days of the pipeline's execution, I found myself having to repeatedly return to the config-ui page to check if any stage failed and resume the pipeline manually. It would be much more efficient to automatically skip failed stages, and let the user intervene only at the end, when no executable stages are left unprocessed.

asterix314 avatar Aug 18 '22 07:08 asterix314

This issue has been automatically marked as stale because it has not had recent activity for 30 days. It will be closed in next 7 days if no further activity occurs.

github-actions[bot] avatar Oct 17 '22 00:10 github-actions[bot]

@asterix314 Thanks for the feedback, it makes sense to me, @Startrekzky what do you think?

I'm not sure, may I know what specific problem happened while you were collecting data from multiple GitHub repos? Thanks. @asterix314

@Startrekzky I used the "2D list" API to collect a few hundred GitHub projects into DevLake. The stages ran in sequence. But when one stage fails, the whole pipeline stalls. There are many reasons for one stage to fail/stall:

  • miss-spelt project names
  • rate limit exceeded
  • etc.

As a result, during the few days of the pipeline's execution, I found myself having to repeatedly return to the config-ui page to check if any stage failed and resume the pipeline manually. It would be much more efficient to automatically skip failed stages, and let the user intervene only at the end, when no executable stages are left unprocessed.

Thanks for the use case, I'll think about it.

Startrekzky avatar Oct 17 '22 14:10 Startrekzky

  1. allow users to skip failed tasks
  2. allow users to rerun failed/succeeded tasks

klesh avatar Oct 31 '22 03:10 klesh

Ask me for the prototypes.

yumengwang03 avatar Nov 04 '22 03:11 yumengwang03

@yumengwang03 what does this retry-like button do? screenshot-20221104-123850

mintsweet avatar Nov 04 '22 04:11 mintsweet

@mintsweet To rerun the subtask @mindlesscloud

Startrekzky avatar Nov 04 '22 07:11 Startrekzky

@Startrekzky if I set up no skip failed task, can the task be rerun? (Does the rerun button show?)

mintsweet avatar Nov 07 '22 09:11 mintsweet

@Startrekzky if I set up no skip failed task, can the task be rerun? (Does the rerun button show?)

Yes

Startrekzky avatar Nov 07 '22 14:11 Startrekzky