Skip to content

The `direct_upload` causes old objects to be not accessible

Problem

It seems that a number of old objects do not have file_store column set (it is null).

This cases the direct_upload to affect the existing objects which do not have that explicitly stored: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18156

The direct_upload worked fine before %10.7. The %10.7 contains extra direct_upload options.

Resolution

We should choose one of the options:

  • Migrate all nulls to have explicit values: in that case to be 1: this should affect the following columns: ci_builds.artifacts_file_store, ci_builds.artifacts_metadata_store, lfs_objects.file_store, uploads.store.
  • Make it behave differently in the code, set it in the model instead of uploader on object creation.

Workaround

As a workaround, we should now disable direct_upload for any object that we use until we merge fix.

Impact

Edited by Kamil Trzciński