Commit graph

12 commits

Author SHA1 Message Date
Grzegorz Bizon
a65f64dfe6 Fix background migrations module specs 2017-07-18 11:55:43 +02:00
Grzegorz Bizon
e41d42d6a2 Simplify background migrations stealing code
Simply re-raise an exception when it occurs, but guarantee that no
background migration is lost in the process.
2017-07-17 14:02:12 +02:00
Grzegorz Bizon
af41bd41e9 Fix off-by-one error in background migration retries 2017-07-17 10:45:52 +02:00
Grzegorz Bizon
7b146ab6c3 Recover from all exceptions when stealing bg migration
It also makes it possible to gracefully retry a migration in order to
avoid problems like deadlocks.
2017-07-17 10:16:56 +02:00
Grzegorz Bizon
01c55ffca8 Catch exceptions when stealing background migrations 2017-07-14 15:40:51 +02:00
Grzegorz Bizon
39b96f02dc Avoid race condition when stealing a background migration
We first pop a job from the Sidekiq queue / scheduled set and only if
this has been successfully deleted we process the job. This makes it
possible to minimize a possibility of a race condition happening.
2017-07-14 12:55:52 +02:00
Grzegorz Bizon
beffbc8aa2 Fix mocks in background migrations specs 2017-07-13 12:08:03 +02:00
Grzegorz Bizon
433b6d2c65 Add more specs for background migrations queue processing 2017-07-13 12:00:23 +02:00
Grzegorz Bizon
2a0ead2c47 Implement draining scheduled sets of background migrations 2017-07-13 11:44:52 +02:00
Grzegorz Bizon
388abbd10c Extract background migratons queue class method 2017-07-11 15:42:00 +02:00
Grzegorz Bizon
0430b76441 Enable Style/DotPosition Rubocop 👮 2017-06-21 13:48:12 +00:00
Yorick Peterse
d83ee2bbd1
Add the ability to perform background migrations
Background migrations can be used to perform long running data
migrations without these blocking a deployment procedure.

See MR https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11854 for
more information.
2017-06-12 13:24:04 +02:00