diff --git a/config/feature_flags/gitlab_com_derisk/stop_precalling_binary_for_blobs.yml b/config/feature_flags/gitlab_com_derisk/stop_precalling_binary_for_blobs.yml deleted file mode 100644 index 22da5bcb62f141f16e19475cd3bd2105f6730fae..0000000000000000000000000000000000000000 --- a/config/feature_flags/gitlab_com_derisk/stop_precalling_binary_for_blobs.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -name: stop_precalling_binary_for_blobs -feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/424140 -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142418 -rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17440 -milestone: '16.9' -group: group::code review -type: gitlab_com_derisk -default_enabled: false diff --git a/lib/gitlab/gitaly_client/blobs_stitcher.rb b/lib/gitlab/gitaly_client/blobs_stitcher.rb index b2eb496c770c2ae52e115afa9dd5b34492704133..9aa344d67deea2ad423184e9ad7ba153e258bedb 100644 --- a/lib/gitlab/gitaly_client/blobs_stitcher.rb +++ b/lib/gitlab/gitaly_client/blobs_stitcher.rb @@ -33,12 +33,6 @@ def each def new_blob(blob_data) data = blob_data[:data_parts].join - binary = if Feature.enabled?(:stop_precalling_binary_for_blobs, type: :gitlab_com_derisk) - {} - else - { binary: Gitlab::Git::Blob.binary?(data) } - end - Gitlab::Git::Blob.new( id: blob_data[:oid], mode: blob_data[:mode]&.to_s(8), @@ -46,8 +40,7 @@ def new_blob(blob_data) path: blob_data[:path], size: blob_data[:size], commit_id: blob_data[:revision], - data: data, - **binary + data: data ) end end diff --git a/spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb b/spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb index 1ab0e040c10a1fe2f8dca4195d5fc4d6b42d083b..e0c3e8d4b402ec001c8d872713bbe29c65c95b51 100644 --- a/spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb +++ b/spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb @@ -4,78 +4,35 @@ RSpec.describe Gitlab::GitalyClient::BlobsStitcher do describe 'enumeration' do - context 'when increase_diff_file_performance is on' do - before do - stub_feature_flags(stop_precalling_binary_for_blobs: true) - end - - it 'combines segregated blob messages together' do - messages = [ - OpenStruct.new(oid: 'abcdef1', path: 'path/to/file', size: 1642, revision: 'f00ba7', mode: 0100644, data: "first-line\n"), - OpenStruct.new(oid: '', data: 'second-line'), - OpenStruct.new(oid: '', data: '', revision: 'f00ba7', path: 'path/to/non-existent/file'), - OpenStruct.new(oid: 'abcdef2', path: 'path/to/another-file', size: 2461, revision: 'f00ba8', mode: 0100644, data: "GIF87a\x90\x01".b) - ] - - blobs = described_class.new(messages).to_a - - expect(blobs.size).to be(2) - - expect(blobs[0].id).to eq('abcdef1') - expect(blobs[0].mode).to eq('100644') - expect(blobs[0].name).to eq('file') - expect(blobs[0].path).to eq('path/to/file') - expect(blobs[0].size).to eq(1642) - expect(blobs[0].commit_id).to eq('f00ba7') - expect(blobs[0].data).to eq("first-line\nsecond-line") - expect(blobs[0].binary_in_repo?).to be false - - expect(blobs[1].id).to eq('abcdef2') - expect(blobs[1].mode).to eq('100644') - expect(blobs[1].name).to eq('another-file') - expect(blobs[1].path).to eq('path/to/another-file') - expect(blobs[1].size).to eq(2461) - expect(blobs[1].commit_id).to eq('f00ba8') - expect(blobs[1].data).to eq("GIF87a\x90\x01".b) - expect(blobs[1].binary_in_repo?).to be true - end - end - - context 'when increase_diff_file_performance is off' do - before do - stub_feature_flags(stop_precalling_binary_for_blobs: false) - end - - it 'combines segregated blob messages together' do - messages = [ - OpenStruct.new(oid: 'abcdef1', path: 'path/to/file', size: 1642, revision: 'f00ba7', mode: 0100644, data: "first-line\n"), - OpenStruct.new(oid: '', data: 'second-line'), - OpenStruct.new(oid: '', data: '', revision: 'f00ba7', path: 'path/to/non-existent/file'), - OpenStruct.new(oid: 'abcdef2', path: 'path/to/another-file', size: 2461, revision: 'f00ba8', mode: 0100644, data: "GIF87a\x90\x01".b) - ] - - blobs = described_class.new(messages).to_a - - expect(blobs.size).to be(2) - - expect(blobs[0].id).to eq('abcdef1') - expect(blobs[0].mode).to eq('100644') - expect(blobs[0].name).to eq('file') - expect(blobs[0].path).to eq('path/to/file') - expect(blobs[0].size).to eq(1642) - expect(blobs[0].commit_id).to eq('f00ba7') - expect(blobs[0].data).to eq("first-line\nsecond-line") - expect(blobs[0].binary_in_repo?).to be false - - expect(blobs[1].id).to eq('abcdef2') - expect(blobs[1].mode).to eq('100644') - expect(blobs[1].name).to eq('another-file') - expect(blobs[1].path).to eq('path/to/another-file') - expect(blobs[1].size).to eq(2461) - expect(blobs[1].commit_id).to eq('f00ba8') - expect(blobs[1].data).to eq("GIF87a\x90\x01".b) - expect(blobs[1].binary_in_repo?).to be true - end + it 'combines segregated blob messages together' do + messages = [ + OpenStruct.new(oid: 'abcdef1', path: 'path/to/file', size: 1642, revision: 'f00ba7', mode: 0100644, data: "first-line\n"), + OpenStruct.new(oid: '', data: 'second-line'), + OpenStruct.new(oid: '', data: '', revision: 'f00ba7', path: 'path/to/non-existent/file'), + OpenStruct.new(oid: 'abcdef2', path: 'path/to/another-file', size: 2461, revision: 'f00ba8', mode: 0100644, data: "GIF87a\x90\x01".b) + ] + + blobs = described_class.new(messages).to_a + + expect(blobs.size).to be(2) + + expect(blobs[0].id).to eq('abcdef1') + expect(blobs[0].mode).to eq('100644') + expect(blobs[0].name).to eq('file') + expect(blobs[0].path).to eq('path/to/file') + expect(blobs[0].size).to eq(1642) + expect(blobs[0].commit_id).to eq('f00ba7') + expect(blobs[0].data).to eq("first-line\nsecond-line") + expect(blobs[0].binary_in_repo?).to be false + + expect(blobs[1].id).to eq('abcdef2') + expect(blobs[1].mode).to eq('100644') + expect(blobs[1].name).to eq('another-file') + expect(blobs[1].path).to eq('path/to/another-file') + expect(blobs[1].size).to eq(2461) + expect(blobs[1].commit_id).to eq('f00ba8') + expect(blobs[1].data).to eq("GIF87a\x90\x01".b) + expect(blobs[1].binary_in_repo?).to be true end end end