Skip to content

Improves handling of stuck projects

What does this MR do?

Improves the failure handling of stuck projects in general

Relevant checklist

  • Detect stuck mirrors using the same mechanism we use to detect stuck initial imports, which actually checks whether the job ID is still on the Sidekiq queue. A mirror that is still queued is never stuck. We need to set the SidekiqStatus timeout appropriately, of course.

  • Store that JID in the DB at schedule time, not at start time (like initial imports do right now)

  • Use that mechanism for forks too, for consistency

  • Treat projects that are in state started but don't have a JID as stuck

  • Fail early from import/fork/mirror workers when state is not actually scheduled (or none?)

  • Reset import_error at finish, NOT at start, since we still want to display it during an update

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #3108 (closed)

Edited by username-removed-117638

Merge request reports