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