Skip to content

Fix excessive DB access in set_assignees mutation

What does this MR do?

Addresses #36098 (closed)

This fixes the excessive DB access in the MergeRequest::SetAssignee mutation, bringing the DB query count from ~175 to ~30 (depending on the operation).

This is accomplished by avoiding the excessively powerful MergeRequests::UpdateService, which does tracking and checks that we know statically are unnecessary. Expensive (but necessary) N+1 operations are moved to a background worker.

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Edited by Alex Kalderimis

Merge request reports