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
(ornone
?) -
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?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together
What are the relevant issue numbers?
Closes #3108 (closed)