Skip to content

Fix undefined method `use_primary!' error in GDK

Lee Tickett requested to merge fix-session-current-use-primary-gdk-error into master

What does this MR do and why?

Seems like a similar issue to that which was resolved in !71218 (merged)

lee@cc-gdk-2:~/gitlab-development-kit/gitlab$ bin/rspec spec/models/customer_relations/issue_customer_relations_contact_spec.rb
Running via Spring preloader in process 368678
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Test environment set up in 11.65862861 seconds
FFF

Failures:

  1) CustomerRelations::IssueCustomerRelationsContact 
     Failure/Error: Session.current.use_primary!
     
     NoMethodError:
       undefined method `use_primary!' for nil:NilClass
     # ./lib/gitlab/database/load_balancing/sticking.rb:103:in `bulk_stick'
     # ./app/services/user_project_access_changed_service.rb:33:in `execute'
     # ./app/models/members/project_member.rb:111:in `refresh_member_authorized_projects'
     # ./app/models/member.rb:182:in `block in <class:Member>'
     # ./config/initializers/forbid_sidekiq_in_transactions.rb:52:in `block in committed!'
     # ./config/initializers/forbid_sidekiq_in_transactions.rb:10:in `skipping_transaction_check'
     # ./config/initializers/forbid_sidekiq_in_transactions.rb:52:in `committed!'
     # ./lib/gitlab/database/load_balancing/connection_proxy.rb:119:in `block in write_using_load_balancer'
     # ./lib/gitlab/database/load_balancing/load_balancer.rb:107:in `block in read_write'
     # ./lib/gitlab/database/load_balancing/load_balancer.rb:167:in `retry_with_backoff'
     # ./lib/gitlab/database/load_balancing/load_balancer.rb:105:in `read_write'
     # ./lib/gitlab/database/load_balancing/connection_proxy.rb:118:in `write_using_load_balancer'
     # ./lib/gitlab/database/load_balancing/connection_proxy.rb:70:in `transaction'
     # ./app/services/members/creator_service.rb:43:in `update_member'
     # ./app/services/members/creator_service.rb:26:in `execute'
     # ./app/models/project_team.rb:60:in `add_user'
     # ./ee/app/models/ee/project_team.rb:21:in `add_user'
     # ./app/models/project_team.rb:25:in `add_maintainer'
     # ./app/models/project.rb:438:in `add_maintainer'
     # ./spec/factories/projects.rb:83:in `block (3 levels) in <main>'
     # ./spec/models/customer_relations/issue_customer_relations_contact_spec.rb:6:in `block (2 levels) in <main>'
     # -e:1:in `<main>'

Screenshots or screen recordings

These are strongly recommended to assist reviewers and reduce the time to merge your change.

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading