Defect #3313
closed
Displaying role requests is very slow when assigning more than 1 role
Added by Alena Peterová almost 2 years ago.
Updated over 1 year ago.
Description
Tested on 13.0.1
When assigning more than 1 role in the role request, rendering the role table is very slow. In my local installation, it is cca 10 seconds, in my local appliance it is more than 1 minute so it ends with a timeout.
I tried it for a user who already had 1 role, and assigned just the standard product roles (Helpdesk and Super admin) for the contract of the user.
Files
- Assignee set to Peter Štrunc
- Status changed from New to Needs feedback
- Assignee changed from Peter Štrunc to Tomáš Doischer
- % Done changed from 0 to 80
The issue was caused by AccIdentityAccountPluggableRoleAssignmentDeduplicator, which did not check the nullability of input role assignments. This caused a search for AccIdentittyAccount with an empty filter, which always returned all accounts in the system. Accounts were then compared with each other, which took forever with n^2 complexity.
I added the check and also some debug logging in case this part of the code needs to be debugged in the future because it was painful without it.
PR: https://github.com/bcvsolutions/CzechIdMng/pull/370
@doischert could you check it out please?
- Target version set to 13.0.3
- Status changed from Needs feedback to Resolved
- Assignee changed from Tomáš Doischer to Peter Štrunc
- % Done changed from 80 to 100
- Status changed from Resolved to Closed
Also available in: Atom
PDF