Commit 9585c425 authored by Stan Hu's avatar Stan Hu

Remove lfs_chunked_encoding feature flag

This has been enabled in GitLab 13.7 already by default. This feature
tells the client that they can use chunked transfers, which may help
avoid request buffering and deal and help with large uploads.

Closes https://gitlab.com/gitlab-org/gitlab/-/issues/285581
parent 52587ff8
...@@ -103,18 +103,13 @@ module Repositories ...@@ -103,18 +103,13 @@ module Repositories
end end
def upload_headers def upload_headers
headers = { {
Authorization: authorization_header, Authorization: authorization_header,
# git-lfs v2.5.0 sets the Content-Type based on the uploaded file. This # git-lfs v2.5.0 sets the Content-Type based on the uploaded file. This
# ensures that Workhorse can intercept the request. # ensures that Workhorse can intercept the request.
'Content-Type': LFS_TRANSFER_CONTENT_TYPE 'Content-Type': LFS_TRANSFER_CONTENT_TYPE,
'Transfer-Encoding': 'chunked'
} }
if Feature.enabled?(:lfs_chunked_encoding, project, default_enabled: true)
headers['Transfer-Encoding'] = 'chunked'
end
headers
end end
def lfs_check_batch_operation! def lfs_check_batch_operation!
......
---
title: Remove lfs_chunked_encoding feature flag
merge_request: 50557
author:
type: changed
---
name: lfs_chunked_encoding
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48269
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285581
milestone: '13.6'
type: development
group:
default_enabled: true
...@@ -193,10 +193,8 @@ RSpec.describe 'Git LFS API and storage' do ...@@ -193,10 +193,8 @@ RSpec.describe 'Git LFS API and storage' do
subject(:request) { post_lfs_json batch_url(project), body, headers } subject(:request) { post_lfs_json batch_url(project), body, headers }
let(:response) { request && super() } let(:response) { request && super() }
let(:lfs_chunked_encoding) { true }
before do before do
stub_feature_flags(lfs_chunked_encoding: lfs_chunked_encoding)
project.lfs_objects << lfs_object project.lfs_objects << lfs_object
end end
...@@ -480,20 +478,6 @@ RSpec.describe 'Git LFS API and storage' do ...@@ -480,20 +478,6 @@ RSpec.describe 'Git LFS API and storage' do
expect(headers['Transfer-Encoding']).to eq('chunked') expect(headers['Transfer-Encoding']).to eq('chunked')
end end
context 'when lfs_chunked_encoding feature is disabled' do
let(:lfs_chunked_encoding) { false }
it 'responds with upload hypermedia link' do
expect(json_response['objects']).to be_kind_of(Array)
expect(json_response['objects'].first).to include(sample_object)
expect(json_response['objects'].first['actions']['upload']['href']).to eq(objects_url(project, sample_oid, sample_size))
headers = json_response['objects'].first['actions']['upload']['header']
expect(headers['Content-Type']).to eq('application/octet-stream')
expect(headers['Transfer-Encoding']).to be_nil
end
end
it_behaves_like 'process authorization header', renew_authorization: renew_authorization it_behaves_like 'process authorization header', renew_authorization: renew_authorization
end end
......
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