Fix more N+1 issues when indexing notes in Elasticsearch
Since we already had an N+1 test this required a couple of changes to detect these problems: 1. Add `:elastic` to the test setup in order to allow for GitLab to finish setting up the Elasticsearch index and ensure that the `remove_permissions_data_from_notes_documents` was considered finished. Without this we couldn't trigger the logic to load project permissions for the notes https://gitlab.com/gitlab-org/gitlab/-/blob/02f78e50879aa2e9facafe724a61e20d4640a342/ee/lib/elastic/latest/note_instance_proxy.rb#L33 2. We also needed to move a `stub_const` into a separate test block so it didn't interfere with the N+1 test for notes. Without this we weren't actually processing all the notes and the test was a false positive. The `stub_const` here was only necessary for the one test that actually tests this limit. It was actually interfering with some other N+1 tests where we were adding more than 10 documents. As such moving this closer to the relevant test makes more sense. It also required updating a few of the other tests to stop referring to the `limit` variable. This value was always equal to the number of documents in `fake_refs` anyway so it was unnecessary to have this variable.
Showing
Please register or sign in to comment