Skip to content

Remove declarative policy gem cached attributes patch

What does this MR do and why?

In !128970 (merged) we added a declarative policy gem patch, where we memoizes some of the methods return values. It was done as part of #420623 (closed) to see if it helps with Project Export memory consumption issues. In the end, this patch provided a minuscule memory improvement (with SafeRequestStore enabled) but we sacrifised policies lazy loading.

For this reason, it's been decided in gitlab-org/ruby/gems/declarative-policy!52 (closed) to remove the patch and revert the memoization, keeping the ability to lazy load in place.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Peter Leitzen

Merge request reports