Fix Cross Join in Users Autocomplete
Context
This issue has been created from #420387 (closed)
The class Autocomplete::GroupUsersFinder is used to retrieve a users relation that contains all the users that belong to a group, directly or indirectly. This finder class creates a database query that has a cross join between the two tables users and members.
This class is used by two other components in the system:
-
Addressed in another issue:
Autocomplete::UsersFinder. It usesAutocomplete::GroupUsersFinderfor the search bar autocomplete. For example on a Group Merge Requests. This is an example page where this is used: https://gitlab.com/groups/gitlab-org/-/merge_requests?scope=all&state=opened&author_username=OmarQunsulGitlab. This is being solved, at the time of writing this issue, in this related issue #420387 (closed). See this MR: !134915 (merged) -
To be addressed in this issue:
Groups::ParticipantsServiceusesAutocomplete::GroupUsersFinderto get the users for the autocomplete that is used while writing some description/comment. This cross join to be solved in this issue, and it's blocked by the work being done here: #209965 (closed)