1. 02 Dec, 2020 5 commits
  2. 01 Dec, 2020 1 commit
    • Stan Hu's avatar
      Support alternate document root directory · 098d4474
      Stan Hu authored
      This will be useful for supporting no-downtime upgrades. Admins
      attempting to upgrade GitLab via our no-downtime upgrade procedure have
      found that CSS and JavaScript often don't load while the upgrade is in
      progress. This is because in a mixed deployment scenario with a load
      balancer, this can happen:
      
      1. User accesses node version N+1, which then makes a CSS/JS request on
      version N.
      2. User accesses node version N, which then makes a CSS/JS requests on
      version N+1.
      
      In both scenarios, the user gets a 404 since only one version of the
      assets exist on a given server.
      
      To fix this, we provide an alternate path where previous and future
      assets can be stored.
      
      Relates to https://gitlab.com/gitlab-org/gitlab-workhorse/-/issues/304
      098d4474
  3. 30 Nov, 2020 5 commits
  4. 27 Nov, 2020 1 commit
    • Stan Hu's avatar
      Fix uploader not returning 413 when artifact too large · a9abe0ab
      Stan Hu authored
      When an upload exceeds the maximum limit, `ErrEntityTooLarge` gets
      returned but is wrapped in multiple layers of errors when it is
      checked. As a result, when Google Cloud Storage were used to upload
      files, artifacts exceeding the maximum size would report a "500 Internal
      Server Error" instead of the correct "413 Request Entity Too Large"
      error message.
      
      To fix this, we check the state of `hardLimitReader` and set the error
      to `ErrEntityTooLarge` at the end of the `SaveFileFromReader` to ensure
      that this error will be returned.
      
      Closes https://gitlab.com/gitlab-org/gitlab-workhorse/-/issues/328
      a9abe0ab
  5. 26 Nov, 2020 2 commits
  6. 25 Nov, 2020 2 commits
  7. 24 Nov, 2020 2 commits
  8. 23 Nov, 2020 2 commits
  9. 20 Nov, 2020 5 commits
  10. 19 Nov, 2020 5 commits
  11. 17 Nov, 2020 5 commits
  12. 16 Nov, 2020 1 commit
  13. 14 Nov, 2020 1 commit
    • Stan Hu's avatar
      Return 413 HTTP status for S3 uploads if max upload limit is reached · 9d08495c
      Stan Hu authored
      When an upload (e.g. a CI artifact) reaches the maximum file size limit,
      uploads via S3 would return a 500 error to the user. This made it
      difficult to understand why the upload failed.
      
      This was happening because the `hardLimitReader` was aborting the
      transfer with `ErrEntityTooLarge`, but this error was wrapped in layers
      of AWS errors. Since none of these AWS errors were understood by the
      file handler, a 500 error was returned.
      
      To fix this, AWS has a way to retrieve the original error. We now
      recursively go down the error stack to find the root cause.
      
      Note that there is an open issue in the AWS SDK to make this easier with
      Golang (https://github.com/aws/aws-sdk-go/issues/2820).
      9d08495c
  14. 13 Nov, 2020 3 commits