-
Suggestion
-
Resolution: Fixed
-
None
Performance profiling shows that a massive amount of CPU time is spent checking OFBizAccessProvider.inGroup()
The problem seems to be that although OFBizAccessProvider caches the relationships of users to groups, the way that the cache is implemented and used is not optimal.
The two main tiem we mostly use this are:
- the dashboard checking what projects the current user has permission to view.
- Calling GroupDropDown.hasPermission() from various places - seems to mostly stem from Dashboard as well.
This problem exists in 3.13, but has possibly been exacerbated on trunk by the introduction of JQL.
(Note that this issue is specific to the standard user management module, Crowd, LDAP, and other user management modules use other implementations of AccessProvider that may or may not suffer similar problems)