diff options
author | Michael Kozono <mkozono@gmail.com> | 2017-05-05 14:31:33 -0700 |
---|---|---|
committer | Michael Kozono <mkozono@gmail.com> | 2017-05-05 14:31:33 -0700 |
commit | b0ee22609a89572d6e3f98eebccf9fb2335dd939 (patch) | |
tree | 3fb75c0f2eea7ff932a127bb416c130db3d7ce20 /spec/models/route_spec.rb | |
parent | e1c245af51e294c84552cff8021342e7ae493b8a (diff) | |
download | gitlab-ce-b0ee22609a89572d6e3f98eebccf9fb2335dd939.tar.gz |
Reduce risk of deadlocks17361-redirect-renamed-paths
We’ve seen a deadlock in CI here https://gitlab.com/mkozono/gitlab-ce/builds/15644492#down-build-trace. This commit should not fix that particular failure, but perhaps it will avoid others.
* Don’t call delete_conflicting_redirects after update if the path wasn’t changed
* Rename descendants without using recursion again, so we can run delete_conflicting_redirects exactly once.
Diffstat (limited to 'spec/models/route_spec.rb')
-rw-r--r-- | spec/models/route_spec.rb | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/spec/models/route_spec.rb b/spec/models/route_spec.rb index 1aeddcef982..c1fe1b06c52 100644 --- a/spec/models/route_spec.rb +++ b/spec/models/route_spec.rb @@ -50,20 +50,7 @@ describe Route, models: true do end end - describe '.direct_descendant_routes' do - let!(:nested_group) { create(:group, path: 'test', name: 'test', parent: group) } - let!(:deep_nested_group) { create(:group, path: 'foo', name: 'foo', parent: nested_group) } - let!(:another_group) { create(:group, path: 'other') } - let!(:similar_group) { create(:group, path: 'gitllab') } - let!(:another_group_nested) { create(:group, path: 'another', name: 'another', parent: similar_group) } - - it 'returns correct routes' do - expect(Route.direct_descendant_routes('git_lab')).to match_array([nested_group.route]) - expect(Route.direct_descendant_routes('git_lab/test')).to match_array([deep_nested_group.route]) - end - end - - describe '#rename_direct_descendant_routes' do + describe '#rename_descendants' do let!(:nested_group) { create(:group, path: 'test', name: 'test', parent: group) } let!(:deep_nested_group) { create(:group, path: 'foo', name: 'foo', parent: nested_group) } let!(:similar_group) { create(:group, path: 'gitlab-org', name: 'gitlab-org') } |