Commit a3b53207 authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre Committed by Ash McKenzie

Remove legacy queries to find replicated uploads to expire

This commit removes the legacy to find replicated uploads
to expire since we made Foreign Data Wrapper (FDW) a hard
requirement for Geo on GitLab 12.0.
parent 9b935e0d
...@@ -5,11 +5,7 @@ module Geo ...@@ -5,11 +5,7 @@ module Geo
UPLOAD_TYPE = 'file' UPLOAD_TYPE = 'file'
def find_project_uploads(project) def find_project_uploads(project)
if Gitlab::Geo::Fdw.enabled? Geo::Fdw::Upload.for_model_with_type(project, UPLOAD_TYPE)
Geo::Fdw::Upload.for_model_with_type(project, UPLOAD_TYPE)
else
legacy_find_project_uploads(project)
end
end end
def find_file_registries_uploads(project) def find_file_registries_uploads(project)
...@@ -39,20 +35,5 @@ module Geo ...@@ -39,20 +35,5 @@ module Geo
SQL SQL
end end
# rubocop:enable CodeReuse/ActiveRecord # rubocop:enable CodeReuse/ActiveRecord
# rubocop:disable CodeReuse/ActiveRecord
def legacy_find_project_uploads(project)
file_registry_ids = legacy_find_file_registries_uploads(project).pluck(:file_id)
return Upload.none if file_registry_ids.empty?
values_sql = file_registry_ids.map { |f_id| "(#{f_id})" }.join(',')
Upload.joins(<<~SQL)
JOIN (VALUES #{values_sql})
AS file_registry (file_id)
ON (file_registry.file_id = uploads.id)
SQL
end
# rubocop:enable CodeReuse/ActiveRecord
end end
end end
...@@ -57,35 +57,6 @@ describe Geo::ExpireUploadsFinder, :geo do ...@@ -57,35 +57,6 @@ describe Geo::ExpireUploadsFinder, :geo do
stub_fdw_disabled stub_fdw_disabled
end end
describe '#find_project_uploads' do
context 'filtering per project uploads' do
it 'returns only objects associated with the project' do
other_upload = create(:upload, :issuable_upload)
upload = create(:upload, :issuable_upload, model: project)
create(:geo_file_registry, file_id: upload.id)
create(:geo_file_registry, file_id: other_upload.id)
uploads = subject.find_project_uploads(project)
expect(uploads.count).to eq(1)
expect(uploads.first.id).to eq(upload.id)
end
end
context 'filtering replicated uploads only' do
it 'returns only replicated or to be replicated objects' do
create(:upload, :issuable_upload, model: project)
upload = create(:upload, :issuable_upload, model: project)
create(:geo_file_registry, file_id: upload.id, success: false)
uploads = subject.find_project_uploads(project)
expect(uploads.count).to eq(1)
expect(uploads.first.id).to eq(upload.id)
end
end
end
describe '#find_file_registries_uploads' do describe '#find_file_registries_uploads' do
context 'filtering per project uploads' do context 'filtering per project uploads' do
it 'returns only objects associated with the project' do it 'returns only objects associated with the project' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment