Investigation - allow user to re-import failed relations and relations created after previous import
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem to solve
When migrating groups with projects with GitLab Migration, if migrating some of the projects within a group fails, there is currently no way for user to retry only failed projects, leaving the user with an only option to retry the whole group import. the user can re-import chosen project(s) via API. However, that creates new project(s) on each re-import and not fully imported project(s) need to be deleted by the user.
We discussed creating a new API endpoint which imports a single relation into an existing project (E.g. a user makes a request to import 'merge_requests' relation and uploads merge_requests.ndjson
file.) without adding an ability of filtering out already imported records & blindly trying to import everything that was provided (comment). However, that could produce duplicates and have unexpected results.
We could instead:
- "fix the first import"
- filter out things that were already imported when performing chosen relation re-import OR make all the jobs idempotent and performing chosen relation re-import (would that need to be triggered by the user?)
- try to import all the records that failed to be imported at the first run (as we keep the record of what has failed. Should we run that always or should user trigger that?)
- and perform secondary import
- perform a second import that would import whatever was added after the first import (similarly to Investigation: import only data created after p... (#424492 - closed))
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.