Skip to content

Ensure structure:load runs in single transaction

What does this MR do?

Set an additional flag on Rails DatabaseTasks so that the call to psql loads the structure.sql file in a single transaction.

We can have situations where the database is being bootstrapped (schema load) and additional processes start in parallel. Those would start examining the schema and for example start to create partitions. However, without a transaction scope for the schema load, they might end up doing that when only a portion of the schema has been loaded.

In order to avoid that situation, we'd like to wrap the schema load into a transaction here.

Related to #241267 (closed)

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 Andreas Brandl

Merge request reports