Skip to content

Document drive space requirement for Direct Transfer

What does this MR do and why?

I created this rough MR as a jumping off point to see if we can better document the drive space requirements for Direct Transfer. This is based on an internal discussion where a customer encountered the following points of friction:

  • It doesn't appear to be clearly documented where the tarballs we generate for DT are stored. They're stored where Dir.mktmpdir puts them, which is usually /tmp. (exporting / importing)
  • This location can be configured using the $TMPDIR env var (may vary slightly depending on system) but this would affect the behaviour of the entire application. There's no configuration option to change the location just for DT.
  • When extraction fails due to lack of space, the reason is not made clear in the logs.
    • AFAICT, non-zero returns from file extraction will result in a Gitlab::ImportExport::Error being raised. CleanShot_2025-02-26_at_10.16.14_2x
  • Extracting to tmpfs creates an awkward dependency between available RAM and the physical drive space required for the export.

I'll raise separate issues to improve logging and suggest making the location configurable, but for now it could be useful to document the current behavior.

cc @brad

References

Edited by James Nutt

Merge request reports

Loading