Commit 29b8f8a4 authored by Imre Farkas's avatar Imre Farkas

Merge branch 'mmj-specialized-worker-ff-removal' into 'master'

Remove Feature flags used for specialized project authorizations workers [RUN ALL RSPEC] [RUN AS-IF-FOSS]

See merge request gitlab-org/gitlab!63637
parents de53e7d5 652c1ee8
...@@ -130,20 +130,16 @@ module Projects ...@@ -130,20 +130,16 @@ module Projects
access_level: group_access_level) access_level: group_access_level)
end end
if Feature.enabled?(:specialized_project_authorization_workers, default_enabled: :yaml) AuthorizedProjectUpdate::ProjectCreateWorker.perform_async(@project.id)
AuthorizedProjectUpdate::ProjectCreateWorker.perform_async(@project.id) # AuthorizedProjectsWorker uses an exclusive lease per user but
# AuthorizedProjectsWorker uses an exclusive lease per user but # specialized workers might have synchronization issues. Until we
# specialized workers might have synchronization issues. Until we # compare the inconsistency rates of both approaches, we still run
# compare the inconsistency rates of both approaches, we still run # AuthorizedProjectsWorker but with some delay and lower urgency as a
# AuthorizedProjectsWorker but with some delay and lower urgency as a # safety net.
# safety net. @project.group.refresh_members_authorized_projects(
@project.group.refresh_members_authorized_projects( blocking: false,
blocking: false, priority: UserProjectAccessChangedService::LOW_PRIORITY
priority: UserProjectAccessChangedService::LOW_PRIORITY )
)
else
@project.group.refresh_members_authorized_projects(blocking: false)
end
else else
@project.add_maintainer(@project.namespace.owner, current_user: current_user) @project.add_maintainer(@project.namespace.owner, current_user: current_user)
end end
......
...@@ -23,22 +23,18 @@ module Projects ...@@ -23,22 +23,18 @@ module Projects
private private
def setup_authorizations(group, group_access = nil) def setup_authorizations(group, group_access = nil)
if Feature.enabled?(:specialized_project_authorization_project_share_worker, default_enabled: :yaml) AuthorizedProjectUpdate::ProjectGroupLinkCreateWorker.perform_async(
AuthorizedProjectUpdate::ProjectGroupLinkCreateWorker.perform_async( project.id, group.id, group_access)
project.id, group.id, group_access)
# AuthorizedProjectsWorker uses an exclusive lease per user but # AuthorizedProjectsWorker uses an exclusive lease per user but
# specialized workers might have synchronization issues. Until we # specialized workers might have synchronization issues. Until we
# compare the inconsistency rates of both approaches, we still run # compare the inconsistency rates of both approaches, we still run
# AuthorizedProjectsWorker but with some delay and lower urgency as a # AuthorizedProjectsWorker but with some delay and lower urgency as a
# safety net. # safety net.
group.refresh_members_authorized_projects( group.refresh_members_authorized_projects(
blocking: false, blocking: false,
priority: UserProjectAccessChangedService::LOW_PRIORITY priority: UserProjectAccessChangedService::LOW_PRIORITY
) )
else
group.refresh_members_authorized_projects(blocking: false)
end
end end
end end
end end
......
---
name: specialized_project_authorization_project_share_worker
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32864
rollout_issue_url:
milestone: '13.2'
type: development
group: group::access
default_enabled: true
---
name: specialized_project_authorization_workers
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31377
rollout_issue_url:
milestone: '13.0'
type: development
group: group::access
default_enabled: true
...@@ -806,7 +806,7 @@ RSpec.describe Projects::CreateService, '#execute' do ...@@ -806,7 +806,7 @@ RSpec.describe Projects::CreateService, '#execute' do
end end
end end
context 'with specialized_project_authorization_workers' do context 'with specialized project_authorization workers' do
let_it_be(:other_user) { create(:user) } let_it_be(:other_user) { create(:user) }
let_it_be(:group) { create(:group) } let_it_be(:group) { create(:group) }
...@@ -847,34 +847,6 @@ RSpec.describe Projects::CreateService, '#execute' do ...@@ -847,34 +847,6 @@ RSpec.describe Projects::CreateService, '#execute' do
create_project(user, opts) create_project(user, opts)
end end
context 'when feature is disabled' do
before do
stub_feature_flags(specialized_project_authorization_workers: false)
end
it 'updates authorization for current_user' do
project = create_project(user, opts)
expect(
Ability.allowed?(user, :read_project, project)
).to be_truthy
end
it 'uses AuthorizedProjectsWorker' do
expect(AuthorizedProjectsWorker).to(
receive(:bulk_perform_async).with(array_including([user.id], [other_user.id])).and_call_original
)
expect(AuthorizedProjectUpdate::ProjectCreateWorker).not_to(
receive(:perform_async)
)
expect(AuthorizedProjectUpdate::UserRefreshWithLowUrgencyWorker).not_to(
receive(:bulk_perform_in)
)
create_project(user, opts)
end
end
end end
def create_project(user, opts) def create_project(user, opts)
......
...@@ -38,7 +38,7 @@ RSpec.describe Projects::GroupLinks::CreateService, '#execute' do ...@@ -38,7 +38,7 @@ RSpec.describe Projects::GroupLinks::CreateService, '#execute' do
expect { subject.execute(create(:group)) }.not_to change { project.project_group_links.count } expect { subject.execute(create(:group)) }.not_to change { project.project_group_links.count }
end end
context 'with specialized_project_authorization_workers' do context 'with specialized project_authorization workers' do
let_it_be(:other_user) { create(:user) } let_it_be(:other_user) { create(:user) }
before do before do
...@@ -64,25 +64,5 @@ RSpec.describe Projects::GroupLinks::CreateService, '#execute' do ...@@ -64,25 +64,5 @@ RSpec.describe Projects::GroupLinks::CreateService, '#execute' do
subject.execute(group) subject.execute(group)
end end
context 'when feature is disabled' do
before do
stub_feature_flags(specialized_project_authorization_project_share_worker: false)
end
it 'uses AuthorizedProjectsWorker' do
expect(AuthorizedProjectsWorker).to(
receive(:bulk_perform_async).with(array_including([user.id], [other_user.id])).and_call_original
)
expect(AuthorizedProjectUpdate::ProjectCreateWorker).not_to(
receive(:perform_async)
)
expect(AuthorizedProjectUpdate::UserRefreshWithLowUrgencyWorker).not_to(
receive(:bulk_perform_in)
)
subject.execute(group)
end
end
end end
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