diff --git a/app/services/users/activity_service.rb b/app/services/users/activity_service.rb index c4f44d7582ea7145950f848d6cb5008dd869b3af..49f38490b2acabbcca4b84ab01db85941f7e4f26 100644 --- a/app/services/users/activity_service.rb +++ b/app/services/users/activity_service.rb @@ -2,8 +2,6 @@ module Users class ActivityService - LEASE_TIMEOUT = 1.minute.to_i - def initialize(author:, namespace: nil, project: nil) @user = if author.respond_to?(:username) author @@ -32,13 +30,6 @@ def record_activity today = Date.today return if user.last_activity_on == today - if Feature.disabled?(:do_not_use_exclusive_lease_for_user_activity_service, user) - lease = Gitlab::ExclusiveLease.new("activity_service:#{user.id}", timeout: LEASE_TIMEOUT) - # Skip transaction checks for exclusive lease as it is breaking system specs. - # See issue: https://gitlab.com/gitlab-org/gitlab/-/issues/441536 - return unless Gitlab::ExclusiveLease.skipping_transaction_check { lease.try_obtain } - end - user.update_attribute(:last_activity_on, today) Gitlab::UsageDataCounters::HLLRedisCounter.track_event('unique_active_user', values: user.id) diff --git a/config/feature_flags/gitlab_com_derisk/do_not_use_exclusive_lease_for_user_activity_service.yml b/config/feature_flags/gitlab_com_derisk/do_not_use_exclusive_lease_for_user_activity_service.yml deleted file mode 100644 index c716532b621668590b9c6646eb6061c9cb151d4c..0000000000000000000000000000000000000000 --- a/config/feature_flags/gitlab_com_derisk/do_not_use_exclusive_lease_for_user_activity_service.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -name: do_not_use_exclusive_lease_for_user_activity_service -feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/441536 -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/151342 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/458719 -milestone: '17.0' -group: group::tenant scale -type: gitlab_com_derisk -default_enabled: false diff --git a/spec/services/users/activity_service_spec.rb b/spec/services/users/activity_service_spec.rb index 859150174bb21d5cf8bd0f959bfdf3a98fe378ef..3f8570da463a523fbda71da3b42f40d719893568 100644 --- a/spec/services/users/activity_service_spec.rb +++ b/spec/services/users/activity_service_spec.rb @@ -3,8 +3,6 @@ require 'spec_helper' RSpec.describe Users::ActivityService, feature_category: :user_profile do - include ExclusiveLeaseHelpers - let(:user) { create(:user, last_activity_on: last_activity_on) } subject { described_class.new(author: user) } @@ -41,27 +39,6 @@ .to(Date.today) end - context 'for ExclusiveLease' do - context 'when the feature flag `do_not_use_exclusive_lease_for_user_activity_service` is turned off' do - before do - stub_feature_flags(do_not_use_exclusive_lease_for_user_activity_service: false) - end - - it 'tries to obtain ExclusiveLease' do - expect(Gitlab::ExclusiveLease).to receive(:new).with("activity_service:#{user.id}", anything) - .and_call_original - - subject.execute - end - end - - it 'does not try to obtain ExclusiveLease' do - expect(Gitlab::ExclusiveLease).not_to receive(:new).with("activity_service:#{user.id}", anything) - - subject.execute - end - end - it 'tracks RedisHLL event' do expect(Gitlab::UsageDataCounters::HLLRedisCounter) .to receive(:track_event) @@ -105,12 +82,6 @@ let(:last_activity_on) { Date.today } it_behaves_like 'does not update last_activity_on' - - it 'does not try to obtain ExclusiveLease' do - expect(Gitlab::ExclusiveLease).not_to receive(:new).with("activity_service:#{user.id}", anything) - - subject.execute - end end context 'when in GitLab read-only instance' do @@ -122,24 +93,6 @@ it_behaves_like 'does not update last_activity_on' end - - context 'for ExclusiveLease' do - context 'when the feature flag `do_not_use_exclusive_lease_for_user_activity_service` is turned off' do - before do - stub_feature_flags(do_not_use_exclusive_lease_for_user_activity_service: false) - end - - context 'when a lease could not be obtained' do - let(:last_activity_on) { nil } - - before do - stub_exclusive_lease_taken("activity_service:#{user.id}", timeout: 1.minute.to_i) - end - - it_behaves_like 'does not update last_activity_on' - end - end - end end context 'with DB Load Balancing' do