N+1 (cached) issue in merge request cached_widget.json
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=325806) </details> <!--IssueSummary end--> `<project path>/-/merge_requests/:id/cached_widget.json` endpoint is periodically polled by FE for changes in MR. We could preload artifact projects - in `MergeRequests::PipelineEntity` we iterate through all artifacts and call `BuildArtifactEntity` which uses `job.project` (we already preload `job.artifact`) - although currently this SQL query is "cached" (as it's same proejct for all artifacts), it would be better to preload artifact projects.
issue