Notification emails are not sent for Group access requests

Summary

Notification emails are not sent for Group access requests.

Similar issue here: #300260 (closed), but for projects. I wasn't able to reproduce that though.

Steps to reproduce

  • Create a public group.
  • Request access to that group by a different user.

Notification email won't be sent to the group owner(s) as documented here: Request access to a group.

What is the current bug behavior?

Notification email won't be sent for access requests.

What is the expected correct behavior?

Notification email should be sent for access requests.

Relevant logs and/or screenshots

Error is shown in application.log:

2021-05-26T06:35:20.715Z: Tried to send an email invitation for a deleted group. Member id: 20
2021-05-26T06:35:20.764Z: Cannot obtain an exclusive lease. There must be another instance already in execution.

But other logs look normal:

production.log

[ActiveJob] Enqueued ActionMailer::MailDeliveryJob (Job ID: e51f5dcb-1bf7-47ea-a77c-11521cc26515) to Sidekiq(mailers) with arguments: "Notify", "member_access_requested_email", "deliver_now", {:args=>["Group", 17, 4]}
[ActiveJob] [ActionMailer::MailDeliveryJob] [e51f5dcb-1bf7-47ea-a77c-11521cc26515] Performing ActionMailer::MailDeliveryJob (Job ID: e51f5dcb-1bf7-47ea-a77c-11521cc26515) from Sidekiq(mailers) enqueued at 2021-05-26T06:23:05Z with arguments: "Notify", "member_access_requested_email", "deliver_now", {:args=>["Group", 17, 4]}
[ActiveJob] [ActionMailer::MailDeliveryJob] [e51f5dcb-1bf7-47ea-a77c-11521cc26515] Performed ActionMailer::MailDeliveryJob (Job ID: e51f5dcb-1bf7-47ea-a77c-11521cc26515) from Sidekiq(mailers) in 12.31ms

sidekiq/current

{"severity":"INFO","time":"2021-05-26T06:26:42.695Z","class":"ActionMailer::MailDeliveryJob","queue":"mailers","args":["[FILTERED]"],"retry":25,"jid":"7b8e05b0832b118b81372258","created_at":"2021-05-26T06:26:42.685Z","meta.user":"test","meta.root_namespace":"test-notification","meta.caller_id":"Groups::GroupMembersController#request_access","meta.remote_ip":"49.37.179.239","meta.feature_category":"authentication_and_authorization","meta.client_id":"user/2","correlation_id":"01F6KNN5K0RTRG9F87ETCDRX0R","enqueued_at":"2021-05-26T06:26:42.693Z","pid":2559,"message":"ActionMailer::MailDeliveryJob JID-7b8e05b0832b118b81372258: start","job_status":"start","scheduling_latency_s":0.002022,"job_size_bytes":922}
{"severity":"INFO","time":"2021-05-26T06:26:42.710Z","class":"ActionMailer::MailDeliveryJob","queue":"mailers","args":["[FILTERED]"],"retry":25,"jid":"7b8e05b0832b118b81372258","created_at":"2021-05-26T06:26:42.685Z","meta.user":"test","meta.root_namespace":"test-notification","meta.caller_id":"Groups::GroupMembersController#request_access","meta.remote_ip":"49.37.179.239","meta.feature_category":"authentication_and_authorization","meta.client_id":"user/2","correlation_id":"01F6KNN5K0RTRG9F87ETCDRX0R","enqueued_at":"2021-05-26T06:26:42.693Z","pid":2559,"message":"ActionMailer::MailDeliveryJob JID-7b8e05b0832b118b81372258: done: 0.014343 sec","job_status":"done","scheduling_latency_s":0.002022,"job_size_bytes":922,"cpu_s":0.004994,"mem_objects":1527,"mem_bytes":43952,"mem_mallocs":278,"redis_calls":2,"redis_duration_s":0.000366,"redis_read_bytes":2,"redis_write_bytes":176,"redis_queues_calls":2,"redis_queues_duration_s":0.000366,"redis_queues_read_bytes":2,"redis_queues_write_bytes":176,"db_count":2,"db_write_count":0,"db_cached_count":1,"duration_s":0.014343,"completed_at":"2021-05-26T06:26:42.710Z","db_duration_s":0.006533}

Output of checks

Results of GitLab environment info

Expand for output related to GitLab environment info
System information
System:		Ubuntu 18.04
Proxy:		no
Current User:	git
Using RVM:	no
Ruby Version:	2.7.2p137
Gem Version:	3.1.4
Bundler Version:2.1.4
Rake Version:	13.0.3
Redis Version:	6.0.12
Git Version:	2.31.1
Sidekiq Version:5.2.9
Go Version:	unknown

GitLab information
Version:	13.12.0-ee
Revision:	12a3ec8fb4a
Directory:	/opt/gitlab/embedded/service/gitlab-rails
DB Adapter:	PostgreSQL
DB Version:	12.6
URL:		https://ps-gitlab.sr.gitlab.support
HTTP Clone URL:	https://ps-gitlab.sr.gitlab.support/some-group/some-project.git
SSH Clone URL:	git@ps-gitlab.sr.gitlab.support:some-group/some-project.git
Elasticsearch:	no
Geo:		no
Using LDAP:	no
Using Omniauth:	yes
Omniauth Providers:

GitLab Shell
Version:	13.18.0
Repository storage paths:
- default: 	/var/opt/gitlab/git-data/repositories
GitLab Shell path:		/opt/gitlab/embedded/service/gitlab-shell
Git:		/opt/gitlab/embedded/bin/git

Results of GitLab application Check

Expand for output related to the GitLab application check

Checking GitLab subtasks ...

Checking GitLab Shell ...

GitLab Shell: ... GitLab Shell version >= 13.18.0 ? ... OK (13.18.0) Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Internal API available: OK Redis available via internal API: OK gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Gitaly ...

Gitaly: ... default ... OK

Checking Gitaly ... Finished

Checking Sidekiq ...

Sidekiq: ... Running? ... yes Number of Sidekiq processes (cluster/worker) ... 1/1

Checking Sidekiq ... Finished

Checking Incoming Email ...

Incoming Email: ... Reply by email is disabled in config/gitlab.yml

Checking Incoming Email ... Finished

Checking LDAP ...

LDAP: ... LDAP is disabled in config/gitlab.yml

Checking LDAP ... Finished

Checking GitLab App ...

Git configured correctly? ... yes Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... yes Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory exists? ... yes Uploads directory has correct permissions? ... yes Uploads directory tmp has correct permissions? ... yes Init script exists? ... skipped (omnibus-gitlab has no init script) Init script up-to-date? ... skipped (omnibus-gitlab has no init script) Projects have namespace: ... 2/1 ... yes 1/2 ... yes 1/3 ... yes 6/4 ... yes 5/5 ... yes 1/6 ... yes 1/7 ... yes 1/8 ... yes 1/9 ... yes 1/10 ... yes Redis version >= 5.0.0? ... yes Ruby version >= 2.7.2 ? ... yes (2.7.2) Git version >= 2.31.0 ? ... yes (2.31.1) Git user has default SSH configuration? ... yes Active users: ... 4 Is authorized keys file accessible? ... yes GitLab configured to store new projects in hashed storage? ... yes All projects are in hashed storage? ... yes Elasticsearch version 7.x (6.4 - 6.x deprecated to be removed in 13.8)? ... skipped (elasticsearch is disabled)

Checking GitLab App ... Finished

Checking GitLab subtasks ... Finished

Possible fixes