Skip to content
Snippets Groups Projects
Select Git revision
  • move-gl-dropdown
  • improve-table-pagination-spec
  • move-markdown-preview
  • winh-fix-merge-request-spec
  • master default
  • index-namespaces-lower-name
  • winh-single-karma-test
  • 10-3-stable
  • 36782-replace-team-user-role-with-add_role-user-in-specs
  • winh-modal-internal-state
  • tz-ide-file-icons
  • 38869-milestone-select
  • update-autodevops-template
  • jivl-activate-repo-cookie-preferences
  • qa-add-deploy-key
  • docs-move-article-ldap
  • 40780-choose-file
  • 22643-manual-job-page
  • refactor-cluster-show-page-conservative
  • dm-sidekiq-versioning
  • v10.4.0.pre
  • v10.3.0
  • v10.3.0-rc5
  • v10.3.0-rc4
  • v10.3.0-rc3
  • v10.3.0-rc2
  • v10.2.5
  • v10.3.0-rc1
  • v10.0.7
  • v10.1.5
  • v10.2.4
  • v10.2.3
  • v10.2.2
  • v10.2.1
  • v10.3.0.pre
  • v10.2.0
  • v10.2.0-rc4
  • v10.2.0-rc3
  • v10.1.4
  • v10.2.0-rc2
40 results

database_connection_helpers.rb

Blame
  • Forked from GitLab.org / GitLab FOSS
    2 commits behind, 4530 commits ahead of the upstream repository.
    • Timothy Andrew's avatar
      f95fa714
      Write a spec covering the race condition during group deletion. · f95fa714
      Timothy Andrew authored
      - Use multiple threads / database connections to:
      
        1. Escape the transaction the spec seems to be running
           in (`config.use_transactional_fixtures` is off, but
           `ActiveRecord::Base.connection.open_transactions` is not empty
           at the beginning of the spec.
      
        2. Simulate a Sidekiq worker performing the hard delete outside of the
           soft-delete transaction.
      
      - The spec is a little clunky, but it was the smallest thing I could get
        working - and even this took a couple of hours. Let me know if you
        have any suggestions to improve it!
      f95fa714
      History
      Write a spec covering the race condition during group deletion.
      Timothy Andrew authored
      - Use multiple threads / database connections to:
      
        1. Escape the transaction the spec seems to be running
           in (`config.use_transactional_fixtures` is off, but
           `ActiveRecord::Base.connection.open_transactions` is not empty
           at the beginning of the spec.
      
        2. Simulate a Sidekiq worker performing the hard delete outside of the
           soft-delete transaction.
      
      - The spec is a little clunky, but it was the smallest thing I could get
        working - and even this took a couple of hours. Let me know if you
        have any suggestions to improve it!
    database_connection_helpers.rb 200 B
    module DatabaseConnectionHelpers
      def run_with_new_database_connection
        pool = ActiveRecord::Base.connection_pool
        conn = pool.checkout
        yield conn
      ensure
        pool.checkin(conn)
      end
    end