Skip to content

Disable Sidekiq worker open transaction check in JS specs

Stan Hu requested to merge sh-disable-sidekiq-open-transaction-tests-js into master

What does this MR do and why?

When transactional tests are enabled, Rails ensures that all threads use the same connection for accessing the database. However this may cause a false positive with the Sidekiq worker open transaction check because:

  1. A browser may have multiple requests in-flight.
  2. A transaction may start in the middle of another request. For example, an update to a merge request column initiates a transaction via SAVEPOINT.

To avoid false positives, disable this check for JavaScript feature specs run. The alternative is to use the deletion strategy, but that would significantly slow tests.

Relates to #478601 (closed)

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

Repeatedly run:

bundle exec rspec ./spec/features/merge_request/user_squashes_merge_request_spec.rb
Edited by Stan Hu

Merge request reports