Skip to content

Remove leading :: from BG migration class names

What does this MR do?

The background_migration_jobs table stores background migration jobs that will be executed by sidekiq. This information consists of the class name and arguments to the perform method.

In some instances the class name may be passed with a leading :: to explicitly specify the class as being in the top-level namespace. However, querying the class for its name will not return a leading ::, which can lead to mismatches between the value in the database and the search term.

To fix this, ensure that any leading :: are stripped from the class name when saving the record in the database, or when doing any lookups on that value.

Note: The BackgroundMigration logic assumes that migration classes are under Gitlab::BackgroundMigration:: but are not prefixed with the parent module name. The approach in this MR was taken to not conflict with that existing logic, or assume that the class name is fully-qualified.

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Mayra Cabrera

Merge request reports

Loading