GitLab Migration - export file metadata when exporting relations
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
As discussed in POC #376261 (closed) GitLab Migration should start exporting file metadata when exporting project/group relations, in order to allow individual file read directly from ObjectStorage, instead of downloading entire zip file & decompressing it all.
This brings a few benefits. For example, given a collection of exported LFS objects we can:
- Download metadata file that has file names + size
- Decide how to approach download. If there a a lot of small lfs objects - download entire zip
- If there are big individual files - download them one at a time to save up to local disk space
- We have an opportunity to expand what kind of metadata we export in the future
Proposed solution
- For each exported binary file, append to
metadata.json
it's filename & size - Consider using
ndjson
. Is it possible a single json object becomes too big? E.g. if there are 10k lfs objects. - Add
total
figures, e.g. total uncompressed size
Can be beneficial to work on first, even before GitLab Migration - export relations compressed ... (#379216)
Edited by 🤖 GitLab Bot 🤖