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
UPLOAD_TYPE = 'file'
def find_project_uploads(project)
if Gitlab::Geo::Fdw.enabled?
Geo::Fdw::Upload.for_model_with_type(project, UPLOAD_TYPE)
else
legacy_find_project_uploads(project)
end
Geo::Fdw::Upload.for_model_with_type(project, UPLOAD_TYPE)
end
def find_file_registries_uploads(project)
......@@ -39,20 +35,5 @@ module Geo
SQL
end
# 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
......@@ -57,35 +57,6 @@ describe Geo::ExpireUploadsFinder, :geo do
stub_fdw_disabled
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
context 'filtering per project uploads' 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