Reload source MRs memoization after diffs creation
What does this MR do?
Addresses https://gitlab.com/gitlab-org/gitlab-ce/issues/42668.
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16690 introduces this flaw because it calls merge_requests_for_source_branch
before every other method in RefreshService
. This method memoizes MRs, which then, gets updated by reload_merge_requests
(creating MergeRequestDiff
's). In upcoming calls like MergeRequest#commit_shas
, the memoized version returns commit_shas
of the staled MergeRequestDiff
.
To address that, we update the memoized Array, refetching the MRs after getting diffs updated.
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added -
Tests added for this feature/bug - Review
-
Has been reviewed by UX -
Has been reviewed by Frontend -
Has been reviewed by Backend -
Has been reviewed by Database
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together -
Internationalization required/considered -
End-to-end tests pass ( package-qa
manual pipeline job)