BigW Consortium Gitlab

  1. 06 Jun, 2017 1 commit
    • Set artifact working directory to be in the destination store to prevent unnecessary I/O · 8a417f5a
      Stan Hu authored
      Similar to #33218, build artifacts were being uploaded into a CarrierWave
      temporary directory in the Rails root directory before moved to their
      final destination, which could cause a copy across filesystems. This
      merge request refactors the work in !11866 so that any uploader can
      just override `work_dir` to change the default implementation.
      
      Closes #33274
  2. 05 Jun, 2017 1 commit
    • Fix LFS timeouts when trying to save large files · 37dd0737
      Stan Hu authored
      The following was happening:
      
      1. Workhorse stores an LFS file in /var/opt/gitlab/gitlab-rails/shared/lfs-objects
      2. CarrierWave then renames the file to a temporary directory (e.g. /opt/gitlab/embedded/service/gitlab-rails/tmp)
      3. CarrierWave then renames the file to its final location (e.g. /var/opt/gitlab/gitlab-rails/shared/lfs-objects)
      
      When the LFS upload path was on a different filesystem than the Rails
      installation, step 2 could take a longer than 10 seconds, at which point Workhorse
      would time out with "badgateway: failed after 10s: context canceled".
      
      This change makes the work path in the same root as the LFS storage path, preventing moves
      across filesystems.
      
      Closes #33218