Skip to content

Use optimistic locking to safely migrate a build trace chunk

Grzegorz Bizon requested to merge fix/gb/fix-chunks-migration-race into master

What does this MR do?

This merge request adds support for using optimistic locking when flushing build trace chunks to the object storage.

This has been explained in a more detail in #263138 (comment 425246081).

Migration

== 20201007115209 AddLockVersionToCiBuildTraceChunk: migrating ================
-- add_column(:ci_build_trace_chunks, :lock_version, :integer, {:default=>0})
   -> 0.0921s
== 20201007115209 AddLockVersionToCiBuildTraceChunk: migrated (0.0922s) =======

== 20201007115209 AddLockVersionToCiBuildTraceChunk: reverting ================
-- remove_column(:ci_build_trace_chunks, :lock_version, :integer, {:default=>0})
   -> 0.0822s
== 20201007115209 AddLockVersionToCiBuildTraceChunk: reverted (0.0832s) =======

Conformity

/cc @smcgivern

Edited by Grzegorz Bizon

Merge request reports